| 1 | This file lists future projects and enhancements for gawk.  Items are listed | 
|---|
| 2 | in roughly the order they will be done for a given release.  This file is | 
|---|
| 3 | mainly for use by the developers to help keep themselves on track, please | 
|---|
| 4 | don't bug us too much about schedules or what all this really means. | 
|---|
| 5 |  | 
|---|
| 6 | With the 3.0 release, we are acknowledging that awk is not PERL, nor should | 
|---|
| 7 | it become PERL.  (To paraphrase Dennis Ritchie, "If you want PERL, you | 
|---|
| 8 | know where to get it.") | 
|---|
| 9 |  | 
|---|
| 10 | The focus on the future is thus narrowed to performance and functional | 
|---|
| 11 | enhancements, with only minor plans for significant new features. | 
|---|
| 12 |  | 
|---|
| 13 | (OK, so 3.1 had a bad case of feature-itis.  I think I'm mostly over it | 
|---|
| 14 | now, though. :-) | 
|---|
| 15 |  | 
|---|
| 16 | In 3.1 | 
|---|
| 17 | ====== | 
|---|
| 18 | DONE: A PROCINFO array to replace /dev/pid, /dev/user, et al. | 
|---|
| 19 |  | 
|---|
| 20 | DONE: Provide awk profiling. | 
|---|
| 21 |  | 
|---|
| 22 | DONE: Integrate GNU NLS support. | 
|---|
| 23 |  | 
|---|
| 24 | DONE: Bring out hooks for NLS support into gawk itself. | 
|---|
| 25 |  | 
|---|
| 26 | DONE: Do a reference card. | 
|---|
| 27 |  | 
|---|
| 28 | DONE: Switch to full ANSI C and use ansi2kr. | 
|---|
| 29 |  | 
|---|
| 30 | Additional manual features: | 
|---|
| 31 | DONE: Document NLS support | 
|---|
| 32 |  | 
|---|
| 33 | DONE: Add %'d for putting in commas in formatting. | 
|---|
| 34 |  | 
|---|
| 35 | DONE: Multibyte support for index, length, substr, match. | 
|---|
| 36 |  | 
|---|
| 37 | For 3.2 | 
|---|
| 38 | ======= | 
|---|
| 39 | Enable \s, \S in regexes (regcomp.c and dfa.c) and document them. | 
|---|
| 40 |  | 
|---|
| 41 | Make POSIX 2001 behavior the default for sub/gsub. | 
|---|
| 42 |  | 
|---|
| 43 | Simplify awk.h. | 
|---|
| 44 |  | 
|---|
| 45 | Consider moving var_value info into Node_var itself | 
|---|
| 46 | to reduce memory usage. | 
|---|
| 47 |  | 
|---|
| 48 | Add IPv6 support. | 
|---|
| 49 |  | 
|---|
| 50 | Look at ISO C 99 printf features. | 
|---|
| 51 |  | 
|---|
| 52 | Consider integrating Fred Fish's DBUG library into gawk. | 
|---|
| 53 |  | 
|---|
| 54 | Move the loadable modules interface to libtool. | 
|---|
| 55 |  | 
|---|
| 56 | Redo the loadable modules interface from the awk level. | 
|---|
| 57 |  | 
|---|
| 58 | Rework management of array index storage. (Partially DONE.) | 
|---|
| 59 |  | 
|---|
| 60 | A RECLEN variable for fixed-length record input. PROCINFO["RS"] | 
|---|
| 61 | would be "RS" or "RECLEN" depending upon what's in use. | 
|---|
| 62 |  | 
|---|
| 63 | Use a new or improved dfa and/or regex library. | 
|---|
| 64 |  | 
|---|
| 65 | DBM storage of awk arrays. Try to allow multiple dbm packages. | 
|---|
| 66 |  | 
|---|
| 67 | Consider removing use of and/or need for the protos.h file. | 
|---|
| 68 |  | 
|---|
| 69 | Additional manual features: | 
|---|
| 70 | ? Add exercises | 
|---|
| 71 | Document use of dbm arrays | 
|---|
| 72 | ? Add an error messages section to the manual | 
|---|
| 73 |  | 
|---|
| 74 | For 3.3 | 
|---|
| 75 | ======= | 
|---|
| 76 | ? Have strftime() pay attention to the value of ENVIRON["TZ"] | 
|---|
| 77 |  | 
|---|
| 78 | Add a lint check if the return value of a function is used but | 
|---|
| 79 | the function did not supply a value. | 
|---|
| 80 |  | 
|---|
| 81 | Additional manual features: | 
|---|
| 82 | ? A section on where gawk is bounded | 
|---|
| 83 | regex | 
|---|
| 84 | i/o | 
|---|
| 85 | sun fp conversions | 
|---|
| 86 |  | 
|---|
| 87 | For 3.4 | 
|---|
| 88 | ======= | 
|---|
| 89 | Do an optimization pass over parse tree? | 
|---|
| 90 |  | 
|---|
| 91 | Make    awk '/foo/' files...    run at egrep speeds (how?) | 
|---|
| 92 |  | 
|---|
| 93 | For 4.x: | 
|---|
| 94 | ======== | 
|---|
| 95 |  | 
|---|
| 96 | Provide awk debugging. | 
|---|