📄 changes
字号:
Applied Makefile, cscript/Makefile and custom/Makefile patches to fix install mode problems, to deal with sorting and dates in I18n environments (such as Japanese), to fix some problems with calc.spec and to fix the cscript #! header lines. Thanks goes to KAWAMURA Masao (kawamura at mlb.co.jp) for the bug report and patch! Fixed headers on fproduct.calc powerterm.calc 4dsphere.calc so that they are correcly changed on installation. Added ${GREP} Makefile variable. The top level Makefile now sets LANG=C and passes it down to lower level Makefiles. Updated URLs in cal/lucas.cal comments. Now shipping calc.spec, inst_files, spec-template and Makefile.linux with the standard calc source distribution. Note that the standard Makefile has not changed. The Makefile.linux only in minor ways needed to build calc rpms. Added $T Makefile variable. $T is the top level directory under which calc will be installed. The calc install is performed under $T, the calc build is performed under /. The purpose for $T is to allow someone to install calc somewhere other than into the system area. For example when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT. If $T is empty, calc is installed under /. Removed all echo_XYZ rules except for echo_inst_files from lower level makefile. The calc.spec will use a make install rule with T=$RPM_BUILD_ROOT. Updated LIBRARY file with instructions related to -DCALC_SRC, the new default include file location and -lcustcalc.The following are the changes from calc version 2.11.5t3 to 2.11.5t4: The Makefile will now send both stdout and stderr to /dev/null when compiling hsrc intermediates. The config("verbose_quit") value was restored to a default value of FALSE. Added the cscript: powerterm [base_limit] value to write the value as the sum (or difference) of powers <= base_limit where base_limit by default is 10000. Applied a bug fix by Dr.D.J.Picton <dave at aps5.ph.bham.ac.uk> to have help with no args print the default help file. Renamed lavarand to LavaRnd. Added rules to build a calc rpm. All installed files are first formed as foo.new, and then moved into place as foo via a atomic rename. During installation, only files that are different are installed. If the built file and the installed file are the same, no installation is performed. Calc has new default installation locations: Makefile var old location new location ------------ ------------ ------------ TOPDIR /usr/local/lib <<no longer used>> BINDIR /usr/local/bin /usr/bin SHAREDIR <<not set>> /usr/share INCDIR /usr/local/include /usr/include LIBDIR /usr/local/lib/calc /usr/lib CSHAREDIR <<not set>> /usr/share/calc HELPDIR /usr/local/lib/calc/help /usr/share/calc/help INCDIRCALC /usr/local/include/calc /usr/include/calc CUSTOMLIBDIR /usr/local/lib/calc/custom /usr/share/calc/custom CUSTOMHELPDIR /usr/local/lib/calc/help/custhelp /usr/share/calc/custhelp CUSTOMINCDIR <<not set>> /usr/include/calc/custom SCRIPTDIR /usr/local/bin/cscript /usr/bin/cscript MANDIR <<not set>> /usr/share/man/man1 CATDIR <<not set>> <<not set>> The Makefile variable ${TOPDIR} is no longer used. In some places it has been replaced by a new Makefile variable ${SHAREDIR}. Some of the old TOPDIR functionality has been replaced by ${CSHAREDIR}. The install rules no longer remove old obsolete files. We assume that these old files have long since vanished! :-) Reduced the amount of output when doing a make all where nothing needs to be made. Reduced the amount of output when doing a make install where nothing needs to be installed. If you install using the new default locations, you can remove old calc files installed in the old default location by doing: make olduninstallThe following are the changes from calc version 2.11.5t2 to 2.11.5t2.1: Fixed a bug, reported by Ernest Bowen <ernie at turing dot une dot edu dot au> that caused command lines to be echoed in interactive mode. Fixed a bug that sometimes left the terminal in a non-echoing state when calc exited. Renamed error codes E_FGETWORD1 and E_FGETWORD2 symbols to E_FGETFIELD1 and E_FGETFIELD2. Made a minor format change to the top of the calc man page. The findid() function in file.c 2nd argument changed. The argument is now mostly a writable flag. This function now finds the file I/O structure for the specified file id, and verifies that it is opened in the required manner (0 for reading or 1 for writing). If the 2nd argument is -1, then no open checks are made at all and NULL is then returned if the id represents a closed file. The calc builtin function, fopen(), now allows one to specify opening files in binary modes. On POSIX / Linux / Un*x-like systems, text file is the same as a binary file and so 'b' to an fopen has no effect and is ignored. However on systems such as MS Windoz the 'b' / binary mode has meaning. See 'help fopen' for details. On systems (such as MS Windoz), calc will produce a different error message when it attempts to open /dev/tty. This will condition will occur in things like calc scripts when they switch from ``batch processing'' commands from and want to start interactive mode. Regression tests fopen in binary mode in a few places where a difference between text and binary string lengths matter. The intfile calc resource file also uses binary mode. Changed the rand() builtin and its related functions srand() and randbit() to use the Subtractive 100 generator instead of the additive 55 generator. This generator as improved random properties. As a result, of this change, the values produced by rand(), rand() and randbit() are now different. Updated regression tests for new rand() and randbit() output. Applied a bug fix from Ernest Bowen <ernie at turing dot une dot edu dot au> dealing with one-line "static" declaration like: static a = 1, b; Added regression test 8310 to test for the static bug fix.The following are the changes from calc version 2.11.5t0 to 2.11.5t1.1: Fixed a compile problem with Linux 2.4 / Debian. Thanks goes to Martin Buck <m at rtin-buck dot de> for help with this issue. Fixed a bug in how L64_FORMAT (it determined if "%ld" or "%lld" is appropriate for printing of 64 bit long longs) was determined. Thanks goes to Martin Buck <m at rtin-buck dot de> for reporting this bug and testing the fix. An effort was made to make calc easier to build under Windoz using the Cygwin project (http://sources.redhat.com/cygwin/). Thanks to the work of Thomas Jones-Low (tjoneslo at softstart dot com), a number of #if defined(_WIN32)'s have been added to calc source. These changes should not effect Windoz free system such as GNU/Linux, Solaris, POSIX-like, etc ... Added windll.h to deal with Windoz related DLL issues. Using the convention of 'extern DLL' instead of 'DLL extern' to deal with symbols that export to or import from a DLL. Added HAVE_MALLOC_H, HAVE_STDLIB_H, HAVE_STRING_H, HAVE_TIMES_H, HAVE_SYS_TIMES_H, HAVE_TIME_H, HAVE_SYS_TIME_H, HAVE_UNISTD_H and HAVE_URANDOM to the Makefile. If these symbols are empty, then the Makefile looks for the appropriate system include file. If they are YES, then the Makefile will assume they exist. If they are NO, then the Makefile will assume they do not exist. Changed HAVE_URANDOM to match the empty, YES, NO values. If HAVE_URANDOM is empty, then the Makefile will look for /dev/urandom. If HAVE_URANDOM is YES, then the Makefile will assume /dev/urandom exists. If HAVE_URANDOM is NO, then the Makefile will assume /dev/urandom does not exist. If TERMCONTROL is -DUSE_WIN32, then the Windoz terminal control (no TERMIOS, no TERMIO, no SGTTY) will be assumed. Added a win32_hsrc Makefile rule to create hsrc files appropriate for a Windoz system using Cygwin gcc environment. Added win32.mkdef which is used by the win32_hsrc rule to set the Windoz specific Makefile values to build hsrc files. The hsrc files are built under the win32 directory. Added FPOS_POS_BITS, OFF_T_BITS, DEV_BITS and INODE_BITS Makefile symbols to allow one to force the size of a file position, file offset, dev and inode value. Leaving these values blank will Makefile to determine their size. Fixed a bug in the way file offsets, device and inode values are copied. Added chi.cal for a initial stab as a Chi^2 function. The chi_prob() function does not work well with odd degrees of freedom, however. Added big 3 to config("resource_debug"). Calc resource file scripts check for config("resource_debug") & 8 prior to printing internal debug statements. Thus by default they do not print them. Added intfile.cal as a calc resource file script: file2be(filename) Read filename and return an integer that is built from the octets in that file in Big Endian order. The first octets of the file become the most significant bits of the integer. file2le(filename) Read filename and return an integer that is built from the octets in that file in Little Endian order. The first octets of the file become the most significant bits of the integer. be2file(v, filename) Write the absolute value of v into filename in Big Endian order. The v argument must be on integer. The most significant bits of the integer become the first octets of the file. le2file(v, filename) Write the absolute value of v into filename in Little Endian order. The v argument must be on integer. The least significant bits of the integer become the last octets of the file. Added the following help aliases: copy blkcpy read command write command quit command exit command abort command cd command show command Added the cscript: fproduct filename term ... to write the big Endian product of terms to a filename. Use - for stdout. Fixed calc path in help/script. Added read-only parameter, config("windows") to indicate if the system is MS windowz WIN32 like system. Configuration values that used to return "true" or "false" now return 1 (a true value) or 0 (a false value). Thus one can do: if (config("tab")) { ... } else { ... } The configuration values that now return 1 or 0 are: config("tilde") config("tab") config("leadzero") config("blkverbose") config("verbose_quit") config("windows") Now shipping a win32 sub-directory that contains hsrc .h files that have been attempted to be built for windoz.The following are the changes from calc version 2.11.4t1 to 2.11.4t2: Added missing test8600.cal test file. Fixes cscript files to deal with the -S flag being replaced by -f and possibly other flags. Added regression tests for builtin functions bernoulli, catalan, euler, freeeuler, and sleep. Added non-base 10 regression tests for digit, digits and places. The bernoulli.cal script now just calls the bernoulli() builtin function. It remains for backward compatibility. The Makefile now builds have_fpos_pos.h to determine if the a non-scalar FILEPOS has a __pos stucture element. If it does, the FILEPOS_BITS is taken to be the size of just the __pos element. Misc fixes related to non-scalar (e.g., structure) FILEPOS. Fixed a compile problems where non-scalar FILEPOS were incorrectly assigned. Fixed make depend rule. Return an error on malloc / realloc failures for bernoulli and euler functions. Added MAKEFILE_REV make variable to help determine Makefile version. Fixed the way the env rule reports Makefile values.The following are the changes from calc version 2.11.3t0 to 2.11.4: Increased the maximum number of args for functions from 100 to 1024. Increased calc's internal evaluation stack from 1024 to 2048 args. Added test8600.cal to the regression suite to test these new limits. Updated and fixed misc typos in calc/README. Clarified in the COPYING file that ALL calc source files, both LGPL covered and exceptions to the LGPL files may be freely used and distributed. Added help files or updated for: bernoulli, calc_tty, catalan, digit, digits, euler, freeeuler, places and sleep. A collection of 18 patches from Ernest Bowen <ernie at turing dot une dot edu dot au>: (1) A new flag -f has been defined which has the effect of a read command without the need to terminate the file name with a semicolon or newline. Thus: calc "read alpha; read beta;" may be replaced by: calc -f alpha -f beta
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -