diff options
-rw-r--r-- | TODO | 162 |
1 files changed, 53 insertions, 109 deletions
@@ -1,4 +1,4 @@ -Thu May 9 15:31:55 IDT 2013 +Wed Oct 16 20:19:52 IDT 2013 ============================ There were too many files tracking different thoughts and ideas for @@ -9,12 +9,23 @@ or simply removed. Upon creation of a release (major or patch release), items from the previous release should be removed. +This file should exist only in the master branch or branches based off +of it for development, but not in the stable branch. This may require some +careful work with Git. + TODO ==== Minor Cleanups and Code Improvements ------------------------------------ + Review the bash source script for working with shared libraries in + order to nuke the use of libtool. [ Partially started in the + nolibtool branch. ] + + Enhance profiling to save comments in a byte-code that does nothing + but that can be used when pretty printing the program. + API: ??? #if !defined(GAWK) && !defined(GAWK_OMIT_CONVENIENCE_MACROS) @@ -26,12 +37,6 @@ Minor Cleanups and Code Improvements 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 save comments in a byte-code that does nothing - but that can be used when pretty printing the program. - Minor New Features ------------------ @@ -39,8 +44,6 @@ Minor New Features 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. - Consider relaxing the strictness of --posix. ? Add an optional base to strtonum, allowing 2-36. @@ -59,9 +62,19 @@ Major New Features Also needed: - indirect calls of built-ins - indirect calls of extension functions - indirect through array elements, not just scalar variables + Indirect calls of built-ins + Indirect calls of extension functions + Indirect through array elements, not just scalar variables + + Some way to make regexp constants first class citizens: + - Assign to variables + - Pass to functions + Tawk has this and it would also make indirect calling of builtins + work more reasonably. Probably would use a special syntax like + @/.../ for such objects. + + Consider a typeof() function that returns a string (scalar, array, + regexp). Fix the early chapters in the doc with more up-to-date examples. No-one uses Bulletin Board Systems anymore. @@ -72,13 +85,9 @@ Major New Features 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? + *** Could this be done as an extension? ?? Use a new or improved dfa and/or regex library. @@ -90,22 +99,11 @@ Things To Think About That May Never Happen 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. @@ -125,12 +123,6 @@ Things To Think About That May Never Happen 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 @@ -144,75 +136,18 @@ Things To Think About That May Never Happen 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 --------------------------------------- @@ -224,21 +159,30 @@ Things That We Decided We Will Never Do 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 + FIX regular field splitting to use FPAT algorithm. + Note: Looked at this. Not sure it's with the trouble: + If it ain't broke... + + Scope IDs for IPv6 addresses + + Gnulib + + Make FIELDWIDTHS be an array? + + "Do an optimization pass over parse tree?" + This isn't relevant now that we are using a byte code engine. + + "Consider integrating Fred Fish's DBUG library into gawk." + I did this once as an experiment. But I don't see a lot of value + to this at this stage of the development. Stepping through things + in a debugger is generally enough. Also, I would have to try to + track down the latest version of this. + + "Make awk '/foo/' files... run at egrep speeds (how?)" + This has been on the list since the early days (gawk 1.x or early + 2.x). But I am not sure how to really do this, nor have I done + timings, nor does there seem to be any real demand for this. + + Change from dlopen to using the libltdl library (i.e. lt_dlopen). + This may support more platforms. If we move off of libtool + then this is the wrong direction. |