Files
calc/help/todo
2017-05-21 15:38:30 -07:00

96 lines
3.2 KiB
Plaintext

Calc Todo Items:
The following items should be addressed sometime in the short to
medium term future, if not before the next release.
Code contributions are welcome. Send patches to:
calc-tester@postofc.corp.sgi.com
See also the 'wishlist' help files for the calc enhancement wish list.
=-=
Very High priority items:
* Write the help file for the inputlevel() builtin function.
* Write the help file for the display() builtin function.
* Write the help file for the stoponerror() builtin function.
* Update the errmax about the meaning of errmax(-1).
* Fix any 'Known bugs' as noted in the BUGS file or as
displayed by 'calc help bugs'.
=-=
High priority items:
* Verify, complete or fix the 'SEE ALSO' help file sections.
* Verify, complete or fix the 'LIBRARY' help file sections.
* Verify, complete or fix the 'LIMITS' help file sections.
* Verify, complete or fix the 'SYNOPSIS' and 'TYPES' help file sections.
* Where reasonable, be sure that regress.cal tests builtin functions.
* Perform a code coverage analysis of the 'make check' action
and improve the coverage (within reason) of the regress.cal suite.
* Create a Linux rpm (Red Hat Package Manager) package for calc.
* Address, if possible and reasonable, any Calc Mis-features
as noted in the BUGS file or as displayed by 'calc help bugs'.
* The shell script that is currently constructed to display a help
file (in help.c) is a gross hack. That code should be replaced
with code that looks for the help file in the pre-defined help
directories. When the specific help file is found and opened,
then a $PAGER should be forked and execed after doing things such
as closing open file descriptors that the $PAGER does not need.
* Inspect changes made since the last major calc release (the
initial x.y.z version ... prior to any t sub-version) to help
ensure that they have not introduced new or re-introduced old bugs
into calc.
* Consider using configure to build the calc Makefile.
=-=
Medium priority items:
* Complete the use of CONST where appropriate:
CONST is beginning to be used with read-only tables and some
function arguments. This allows certain compilers to better
optimize the code as well as alerts one to when some value
is being changed inappropriately. Use of CONST as in:
int foo(CONST int curds, char *CONST whey)
while legal C is not as useful because the caller is protected
by the fact that args are passed by value. However, the
in the following:
int bar(CONST char *fizbin, CONST HALF *data)
is useful because it calls the compiler that the string pointed
at by 'fizbin' and the HALF array pointer at by 'data' should be
treated as read-only.
* It is overkill to have nearly everything wind up in libcalc.a.
One should make available a the fundamental math operations
on ZVALUE, NUMBER and perhaps COMPLEX (without all of the
other stuff) in a separate library.
* Clean the source code and document it better.
* Add a builtin function to access the 64 bit FNV hash which
is currently being used internally in seed.c.