⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes

📁 Calc Software Package for Number Calc
💻
📖 第 1 页 / 共 5 页
字号:
The following are the changes from calc version 2.12.1.7 to date:    Fixed calc cscripts that contained comments that were not valid calc    comments.  Improved calc comment documentation in "help unexpected"    to help other avoid similar mistakes.  Calc comments are of the form:    	/* c style comments */	/*	 * multi-line	 * commentts	 */	## two or more #-signs	### in a row	### Note that # along is a calc uniary and binary operator    Added "help pound" or "help #' to document the # operator, comments,    and the first line of cscript files.    Documented these help commands in "help help":    	help ->	help *	help .	help %	help //	help #    The usage help file is now formed from the contents of the calc man page.    So "help usage" prints the version of the calc man page.  Added ${COL}    makefile symbol to support the formation of the calc.usage file from    calc.1 via the CALCPAGER (less).    The "help calc" command is now equivalent to "help help".    The "help define" command is now equivalent to "help command".    Fixed calc command line usage message.        Fixed missing README.src file in RPM src and tgz src tarball.The following are the changes from calc version 2.12.1.6 to 2.12.1.6:    Added the calc builtin function, usertime(), to return the amount of    user CPU time used by the current process.  Unlike the old runtime()    builtin, the CPU time reported for long running processes will not    wrap around to 0 after only a few months.    Added the calc builtin function, systime(), to return the amount of    kernel CPU time used by the current process.    The runtime() builtin function now returns the total amount of CPU    time used by the current process.  This time includes both user mode    and kernel mode time.  Unlike the old runtime() builtin, the builtin    includes time spent executing operating system code on behalf of    the current process.    Fixed runtime() so that the CPU time reported for long running    processes will wrap around to 0 for a long time.    Added config("hz") to return the clock tick rate.  This is    a read-only configuration value.    Added regression tests for recently added config() parameters.    Fixed the #define symbols that were created in have_strdup.h.    Previously this file looked as if have_rusage.h has been    included already.    Restored the function of "help" (without any args) printing the    default help file.  Thanks for this fix goes to Silvan Minghetti    <bullet at users dot sourceforge dot net>.    Fixed a problem where some old MS environments failed some of the    regression tests because "read -once foo.cal" was not behaving    correctly due to how the _fullpath() was being called.  Thanks for    this fix goes to Anatoly <notexistent-anb at yandex dot ru>.    Documented the mis-feature about how calc parses if, for, while    and do statements in an unexpected way.   For example:	This works as expected:	    if (expr) {		...	    }	However this WILL NOT WORK AS EXPECTED:	    if (expr)	    {		...	    }	because calc will parse the if being terminated by	an empty statement followed by a	    if (expr) ;	    {		...	    }    See also "help statement", "help unexpected", "help todo", and    "help bugs".The following are the changes from calc version 2.12.1 to 2.12.1.5:    Fixed minor typos in the 'version 2.12.0 to 2.12.0.8' section below.    Made minor formatting changes as well.    Changed use of ${Q} in the Makefile to avoid an make "feature"    related to OpenBSD.  Added ${RM} make variable for make tools that    do not have builtin defined terms.    Removed the ECHO_PROG Makefile variable.  Also removed it from    the sysinfo() custom function.    Improved the support for cross-compiled environmens by using    make symbols for all non-shell commands executed by Makefiles.    Fixed a problem with the make chk awk script which failed under    OS X 10.4.7.    Fixed a few minor variables that were not set to default values in    lower level Makefiles.    Fixed a reference to a non-existent make variable in HOWTO.INSTALL.The following are the changes from calc version 2.12.0 to 2.12.0.8:    Fixed ellip.cal to deal with a calc syntax change that happened    many ages ago but was never applied to this file until now.    This bug was fixed by Ernest Bowen <ebowen at une dot edu dot au>.    Fixed a problem where comments using # followed by a !, newline or    another # works.  This bug was fixed by Ernest Bowen <ebowen at une    dot edu dot au>.    The show builtins display for functions with long descriptions    is now broken into multi-line descriptions.    The str functions, such as strcpy(s1, s2), will now copy as many    characters as possible from s2 to s1, treating '\0' like any other    character until the end of s2 is reached. If s2 is shorter than s1,    a '\0' is inserted.    The strcmp(s1, s2) builtin, for strings s1, s2: strcmp(s1, s2) == 0 now    means the same as s1 == s2.    The str(s) builtin has been changed so that it will return only the    string formed by the characters of 's' up to the first '\0'.    The substr(s, start, num) builtin has been changed so that '\0' characters    are treated like any other.    Fixed a bug where strcpy("", "a") used to cause a segmentation fault.    This bug was fixed by Ernest Bowen <ebowen at une dot edu dot au>.    Make minor change to natnumset.cal in how the tail variable is initialized.    Fixed bugs in the strcmp, strncmp, strcpy, and strncpy help files.    This bug was fixed by Ernest Bowen <ebowen at une dot edu dot au>.    Added cal/screen.cal which Defines ANSI control sequences providing    (i.e., cursor movement, changing foreground or background color,    etc.) for VT100 terminals and terminal window emulators (i.e., xterm,    Apple OS/X Terminal, etc.) that support them.  For example:	; read screen	; print green:"This is green. ":red:"This is red.":black    Fixed a bug where too many open files returned E_FOPEN3.  Now    a new error symbol F_MANYOPEN is used for too many open files.    Added the builtin function fpathopen() to open a file while    searching along a path:    	; fd2 = fpathopen("tmp/date", "r", ".:~:~sc:/tmp:/var/tmp:/var")	; print fd2	"/var/tmp/date"    By default, fpathopen() searches along CALCPATH.    Added the calcpath() builtin function to return the current value    of CALCPATH.    Fixed prompt characters in the EXAMPLE section of help files.    Fixed problems related to the protect function and its documentation.    This bug was reported by David Gilham <davidgilham at gmail dot com>.    This bug was fixed by Ernest Bowen <ebowen at une dot edu dot au>.    Raised the limit of exponent in exponential notation.  It was set to    arbitrary 1000000 (making 1e1000001 in invalid exponential notation    value).  The exponent for exponential notation is now int(MAXLONG/10).    On 32 bit machines, this means a limit of 214748364.  On 64 bit    machines, this means 922337203685477580.  Of course, you may not    have enough memory to hold such huge values, but if you did you can    now express such values in exponential notation.    Added log() builtin for base 10 logarithm.    Fixed problems where internal use of libc strcpy() might have caused    a buffer overflow.  Calc now only uses libc strcpy() when the source    string is a constant.    The calc STRING and STRINGHEAD now use the standard size_t (an unsigned    type) length.  Calc mostly uses size_t in dealing with string lengths    and object sizes when possible.    Added ${CCWERR} make variable to allow one to force compiler warnings    to be treated as errors.  The ${CC} make variable now uses ${CCWERR}    however the ${LCC} (used by the Makefile test code for building hsrc    files) does not use ${CCWERR}.  By default, ${CCWERR} is empty.    In development Makefiles, we set CCWERR= -Werror to force us to    address compiler warnings before the next release.    The calc make variable, CALCPAGER, now defaults to CALCPAGER= less    because the less utility is now very common.  Set CALCPAGER= more    if you do not have less.    Calc source had two styles of switch indentation.  Converted the    style where case statements were indented with respect to the switch    statement into the style where the case statements are at the same    level.  When comparing with older source, one may use the -b argument    of the diff command to ignore changes in amount of white space:    	diff -b -r -u calc-2.11.11 calc-2.12.0    The read, write, and help commands use the value of global string    variable if the symbol name starts with a $.  For example:    	global x = "lucas.cal";	read $x;	/* same as read lucas.cal or read "lucas.cal" */    Added dotest.cal resource.  Based on a design by Ernest Bowen    <ebowen at une dot edu dot au>, the dotest evaluates individual    lines from a file.  The dotest() function takes 1 to 3 arguments:	dotest(dotest_file [,dotest_code [,dotest_maxcond]])	dotest_file	    Search along CALCPATH for dotest_file, which contains lines that	    should evaluate to 1.  Comment lines and empty lines are ignored.	    Comment lines should use ## instead of the multi like /* ... */	    because lines are evaluated one line at a time.	dotest_code	    Assign the code number that is to be printed at the start of	    each non-error line and after **** in each error line.	    The default code number is 999.	dotest_maxcond	    The maximum number of error conditions that may be detected.	    An error condition is not a sign of a problem, in some cases	    a line deliberately forces an error condition.  A value of -1,	    the default, implies a maximum of 2147483647.	Global variables and functions must be declared ahead of time because	the dotest scope of evaluation is a line at a time.  For example:	    ; read dotest.cal	    ; read set8700.cal	    ; dotest("set8700.line");    Updated the todo / wish list items.  The top priority now is to    convert calc to GNU autoconf / configure to build the calc.	; help todo    Added missing help file for the stoponerror() builtin.    Corrected and improved the help documentation for factor and lfactor.    Fixed a problem where some error messages that should have been    written to a file or string, went to stderr instead.  This bug was    fixed by Ernest Bowen <ebowen at une dot edu dot au>.    Corrected the documentation relating to the calc -c command line option.    The -c relates to scan/parse errors only, not execution errors.    Corrected a stack overflow problem where the math_fmt() in zio.c    could be induced to overflow the stack.  This problem was independently    reported by Chew Keong Tan of Secunia Research <vuln at secunia dot com>.    Corrected a stack overflow problem where the scanerror() in token.c    could be induced to overflow the stack by a malformed token.    Made math_error() in math_error.c more robust against a error    message constant that is too long.    Made read_bindings() in hist.c more robust against very long bindings    config lines.    Made listsort() in listfunc.c and matsort() matfunc.c more robust    against sorting of impossibly huge lists and matrices.    Warnings about an undefining a builtin or undefined function, a    constant before the comma operator, and an unterminated comment is    now processed by scanerrors (not simply written directly to stderr).    These warnings file and line number in which the "error" occurred    as well as a more precise message than before.  If using -c on the    calc command line or if stoponerror(-1), then assuming there are    no other compile errors, only the unterminated comment will stop    completion of the function being defined.    The cal/regress.cal now reads most of the calc resource files.    The issq() test had a slight performance boost.  A minor note    was added to the help/issq file.    Improved the documentation of the mul2, sq2, pow2, and redc2 config    parameters in help/config.    Added config("baseb"), a read-only configuration value to return    the number of bits in the fundamental base in which calculations    are performed.  This is a read-only configuration value.    Calc now will allow syntax such as ++*p-- and  ++*----*++p----    where p is an lvalue; successful evaluation of course require the    successive operations to be performed to have operands of appropriate    types; e.g. in *A, A is usually an lvalue whose current value is a    pointer. ++ and -- act on lvalues. In the above examples there are    implied parentheses from the beginning to immediately after p. If    there are no pre ++ or -- operations, as in **p++.  The implied    parentheses are from immediately before p to the end.    Improved the error message when && is used as a prefix operator.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -