Copyright (C) 2005, 2006, 2010 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file lists future projects and enhancements for gawk. Items are listed in roughly the order they will be done for a given release. This file is mainly for use by the developers to help keep themselves on track, please don't bug us too much about schedules or what all this really means. With the 3.0 release, we are acknowledging that awk is not PERL, nor should it become PERL. (To paraphrase Dennis Ritchie, "If you want PERL, you know where to get it.") The focus on the future is thus narrowed to performance and functional enhancements, with only minor plans for significant new features. (OK, so 3.1 had a bad case of feature-itis. I think I'm mostly over it now, though. :-) For 3.1.8 + bytecode ==================== DONE: Performance fixes / improvements DONE: Change @sourcefile to @include per awk.info poll DONE: Document @include DONE: Update copyrights DONE: Document dgawk For 4.0 ======= DONE: Add a single letter option for all long options & document them. DONE: Add an FPAT variable and patsplit function where the regex describes the fields, not the separators. DONE: Remove support for all unsupported systems. DONE: Remove all old README* files. DONE: Remove --copyleft, leaving just --copyright. DONE: Enable \s, \S in regexes (regcomp.c and dfa.c) and document them. DONE: Integrate byte code changes and dgawk Indirect functions BEGINFILE, ENDFILE DONE: Simplify awk.h. Consider moving var_value info into Node_var itself to reduce memory usage. Consider removing use of and/or need for the protos.h file. DONE: Make POSIX 2001 behavior the default for sub/gsub. DONE: Add IPv6 support. DONE: Add true multidimensional arrays. Gnulib? DONE: Move to git. Additional manual features: Remove all page breaks Review internal notes about reorganization DONE: Full front to back read through - before editing Full front to back read through - after editing For 4.1 ======= Implement designed API for loadable modules Merge xmlgawk -l feature Merge xmlgawk XML extensions Redo the loadable modules interface from the awk level. Rework management of array index storage. (Partially DONE.) DBM storage of awk arrays. Try to allow multiple dbm packages. ? Move the loadable modules interface to libtool. ? Add an optional base to strtonum, allowing 2-36. ? Optional third argument for index indicating where to start the search. ?? A RECLEN variable for fixed-length record input. PROCINFO["RS"] would be "RS" or "RECLEN" depending upon what's in use. ?? Use a new or improved dfa and/or regex library. For 4.x: ======== Look at ISO C 99 printf features. Probably never: =============== 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. Additional manual features: ? A section on where gawk is bounded regex i/o sun fp conversions