1
1
This file lists future projects and enhancements for gawk. Items are listed
2
2
in roughly the order they will be done for a given release. This file is
3
mainly for use by the developer(s) to help keep themselves on track, please
3
mainly for use by the developers to help keep themselves on track, please
4
4
don't bug us too much about schedules or what all this really means.
6
(An `x' indicates that some progress has been made, but that the feature is
11
x Move to autoconf-based configure system.
13
x Research awk `fflush' function.
15
x Generalize IGNORECASE
16
any value makes it work, not just numeric non-zero
17
make it apply to *all* string comparisons
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.")
10
The focus on the future is thus narrowed to performance and functional
11
enhancements, with only minor plans for significant new features.
21
x Allow RS to be a regexp.
23
RT variable to hold text of record terminator
25
RECLEN variable for fixed length records
27
Feedback alloca.s changes to FSF
29
x Split() with null string as third arg to split up strings
31
x Analogously, setting FS="" would split the input record into individual
34
x Clean up code by isolating system-specific functions in separate files.
36
Undertake significant directory reorganization.
38
x Extensive manual cleanup:
15
DONE: Move to autoconf-based configure system.
17
DONE: Allow RS to be a regexp.
19
DONE: RT variable to hold text of record terminator
21
DONE: split() with null string as third arg to split up strings
23
DONE: Analogously, setting FS="" would split the input record into
24
individual characters.
26
DONE: Generalize IGNORECASE
27
- any value makes it work, not just numeric non-zero
28
- make it apply to *all* string comparisons
30
DONE: Incorporate newer dfa.c and regex.c
32
DONE: Go to POSIX regexps
34
DONE: Make regex + dfa less dependant on gawk header file includes
36
DONE: Source code formatting cleaned up and regularized
38
DONE: Clean up code by isolating system-specific functions in
41
DONE: General sub function:
42
gensub(pat, sub, global_flag[, line])
43
that return the substituted strings and allow \1 etc.
46
DONE: Add AWKPATH to ENVIRON if it's not there
48
DONE: Undertake significant directory reorganization.
50
DONE: Extensive manual cleanup:
39
51
Use of texinfo 2.0 features
53
Document posix regexps
41
54
Document all of the above.
45
Make regex + dfa less dependant on gawk header file includes
58
A PROCINFO array to replace /dev/pid, /dev/user, et al.
60
Use mmap to read input files on systems that support it.
62
Use a new or improved dfa.
64
Integrate GNU NLS support.
66
Bring out hooks for NLS support into gawk itself.
68
DBM storage of awk arrays. Try to allow multiple dbm packages.
72
Use rx instead of regex.
76
? Have strftime() pay attention to the value of ENVIRON["TZ"]
47
78
Additional manual features:
48
Document posix regexps
49
79
Document use of dbm arrays
50
82
? Add an error messages section to the manual
51
83
? A section on where gawk is bounded
58
DBM storage of awk arrays. Try to allow multiple dbm packages
60
General sub functions:
61
edit(line, pat, sub) and gedit(line, pat, sub)
62
that return the substituted strings and allow \1 etc. in the sub
65
? Have strftime() pay attention to the value of ENVIRON["TZ"]
69
Add chdir and stat built-in functions.
71
Add function pointers as valid variable types.
73
Add an `ftw' built-in function that takes a function pointer.
90
Add a lint check if the return value of a function is used but
91
the function did not supply a value.
75
93
Do an optimization pass over parse tree?
79
Add variables similar to C's __FILE__ and __LINE__ for better diagnostics
80
from within awk programs.
82
Add an explicit concatenation operator and assignment version.
84
? Add a switch statement
86
Add the ability to seek on an open file and retrieve the current file position.
88
Add lint checking everywhere, including check for use of builtin vars.
95
Make awk '/foo/' files... run at egrep speeds
99
Allow OFMT and CONVFMT to be other than a floating point format.
101
Allow redefining of builtin functions?
103
Make it faster and smaller.
95
Make awk '/foo/' files... run at egrep speeds
108
100
Create a gawk compiler?