diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2013-10-16 05:39:27 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2013-10-16 05:39:27 +0300 |
commit | f295225b9f1aa89ce2b318963ae8d0d9c27388f3 (patch) | |
tree | 4085f7905b9bb5c8dcd1c98ff3ee2b984c2f5ecb | |
parent | 2c76d05179339ca7100c0e5649dd2e0d50a0cb4c (diff) | |
download | egawk-f295225b9f1aa89ce2b318963ae8d0d9c27388f3.tar.gz egawk-f295225b9f1aa89ce2b318963ae8d0d9c27388f3.tar.bz2 egawk-f295225b9f1aa89ce2b318963ae8d0d9c27388f3.zip |
Removed TODO file; keep it just in master.
-rw-r--r-- | TODO | 247 |
1 files changed, 0 insertions, 247 deletions
@@ -1,247 +0,0 @@ -Thu May 9 15:31:55 IDT 2013 -============================ - -There were too many files tracking different thoughts and ideas for -things to do, or consider doing. This file merges them into one. As -tasks are completed, they should be moved to the DONE section, below, -or simply removed. - -Upon creation of a release (major or patch release), items from the -previous release should be removed. - -TODO -==== - -Minor Cleanups and Code Improvements ------------------------------------- - - API: - ??? #if !defined(GAWK) && !defined(GAWK_OMIT_CONVENIENCE_MACROS) - - ?? Add debugger commands to reference card - - Look at function order within files. - - regex.h - remove underscores in param names - - Consider removing use of and/or need for the protos.h file. - - Review the bash source script for working with shared libraries in - order to nuke the use of libtool. - - Enhance profiling to same comments in a byte-code that does nothing - but that can be used when pretty printing the program. - -Minor New Features ------------------- - - Enhance extension/fork.c waitpid to allow the caller to specify - the options. And add an optional array argument to wait and - waitpid in which to return exit status information. - - Add a readfile() function in awk from mail. - - Make writes to ENVIRON / deletions affect the real environment - using setenv / unsetenv. - - Consider relaxing the strictness of --posix. - - ? Add an optional base to strtonum, allowing 2-36. - - ? Optional third argument for index indicating where to start the - search. - -Major New Features ------------------- - - Think about how to generalize indirect access. Manuel Collado - suggests things like - - foo = 5 - @"foo" += 4 - - Also needed: - - indirect calls of built-ins - indirect calls of extension functions - indirect through array elements, not just scalar variables - - Fix the early chapters in the doc with more up-to-date examples. - No-one uses Bulletin Board Systems anymore. - - Rework management of array index storage. (Partially DONE.) - - Consider using an atom table for all string array indices. - - DBM storage of awk arrays. Try to allow multiple dbm packages. - - ?? Some way to make regexp constants first class citizens - - Assign to variables - - Pass to functions - - ?? A RECLEN variable for fixed-length record input. PROCINFO["RS"] - would be "RS" or "RECLEN" depending upon what's in use. - *** Could be done as an extension? - - ?? Use a new or improved dfa and/or regex library. - -Things To Think About That May Never Happen -------------------------------------------- - - Consider making shadowed variables a warning and not - a fatal warning when --lint=fatal. - - Similar for extra parameters in a function call. - - ?? Scope IDs for IPv6 addresses ?? - - ??? Gnulib - - Look at code coverage tools, like S2E: https://s2e.epfl.ch/ - - Try running with diehard. See http://www.diehard-software.org, - https://github.com/emeryberger/DieHard - - Change from dlopen to using the libltdl library (i.e. lt_dlopen). - This may support more platforms. - - FIX regular field splitting to use FPAT algorithm. - Note: Looked at this. Not sure it's with the trouble: - If it ain't broke... - - Implement namespaces. Arnold suggested the following in an email: - - Extend the definition of an 'identifier' to include "." as a valid character - although an identifier can't start with it. - - Extension libraries install functions and global variables with names - that have a "." in them: XML.parse(), XML.name, whatever. - - Awk code can read/write such variables and call such functions, but they - cannot define such functions - function XML.foo() { .. } # error - or create a variable with such a name if it doesn't exist. This would - be a run-time error, not a parse-time error. - - This last rule may be too restrictive. - I don't want to get into fancy rules a la perl and file-scope visibility - etc, I'd like to keep things simple. But how we design this is going - to be very important. - - Include a sample rpm spec file in a new packaging subdirectory. - - Patch lexer for @include and @load to make quotes optional. - - Do an optimization pass over parse tree? - - Consider integrating Fred Fish's DBUG library into gawk. - - Make awk '/foo/' files... run at egrep speeds (how?) - - ? Have strftime() pay attention to the value of ENVIRON["TZ"] - - Add a lint check if the return value of a function is used but - the function did not supply a value. - - Consider making gawk output +nan for NaN values so that it - will accept its own output as input. - NOTE: Investigated this. GLIBC formats NaN as '-nan' - and -NaN as 'nan'. Dealing with this is not simple. - - Enhance FIELDWIDTHS with some way to indicate "the rest of the record". - E.g., a length of 0 or -1 or something. Maybe "n"? - - Make FIELDWIDTHS be an array? - -Code Review ------------ -awkgram.y -debug.c -eval.c -ext.c -field.c -floatcomp.c -floatmagic.h -gawkmisc.c -profile.c -protos.h - -DONE -==== - -Minor Cleanups and Code Improvements ------------------------------------- -Done in 4.1: - - Review all FIXME and TODO comments - - Fix all *assoc_lookup() = xxx calls. - - Make GAWKDEBUG pass the test suite. - - Make fflush() and fflush("") both flush all files, as in BWK awk. - - In gawkapi.c - review switch statements and use of default. - - API: - awk_true and awk_false - Update doc to use gcc -o filefuncs.so -shared filefuncs.o - instead of ld ... - Have check for name not rely on isalpha, isalnum since - the locale could botch that up. Also make it not - fatal. - -Minor New Features ------------------- -Done in 4.1: - - Merge the chapter and the appendix on floating-point math (for 4.1). - -Major New Features ------------------- -Done in 4.1: - - Integration of array_iface branch. - - Design and implement I/O plugin API. - - Implement designed API for loadable modules - - Redo the loadable modules interface from the awk level. - - xgawk features (@load, -l, others) - - Merge gawk/pgawk/dgawk into one executable - - Merge xmlgawk XML extensions (via source forge project that - works with new API) - - Integrate MPFR to provide high precision arithmetic. - - Consider really implementing BWK awk SYMTAB for seeing what - global variables are defined. - -Things That We Decided We Will Never Do ---------------------------------------- - - Consider moving var_value info into Node_var itself to reduce - memory usage. This would break all uses of get_lhs in the - code. It's too sweeping a change. - - Add macros for working with flags instead of using & and | - directly. - -Code Review ------------ -array.c -awk.h -builtin.c -cmd.h -command.y -custom.h -hard-locale.h -io.c -main.c -mbsupport.h -msg.c -node.c -re.c -replace.c -version.c -xalloc.h |