Go forward to Improvements.
Go backward to Compatibility Mode.
Go up to Notes.
Probable Future Extensions
==========================
This section briefly lists extensions that indicate the directions
we are currently considering for `gawk'. The file `FUTURES' in the
`gawk' distributions lists these extensions, as well as several others.
`RS' as a regexp
The meaning of `RS' may be generalized along the lines of `FS'.
Control of subprocess environment
Changes made in `gawk' to the array `ENVIRON' may be propagated to
subprocesses run by `gawk'.
Databases
It may be possible to map a GDBM/NDBM/SDBM file into an `awk'
array.
Single-character fields
The null string, `""', as a field separator, will cause field
splitting and the `split' function to separate individual
characters. Thus, `split(a, "abcd", "")' would yield `a[1] ==
"a"', `a[2] == "b"', and so on.
More `lint' warnings
There are more things that could be checked for portability.
`RECLEN' variable for fixed length records
Along with `FIELDWIDTHS', this would speed up the processing of
fixed-length records.
`RT' variable to hold the record terminator
It is occasionally useful to have access to the actual string of
characters that matched the `RS' variable. The `RT' variable
would hold these characters.
A `restart' keyword
After modifying `$0', `restart' would restart the pattern matching
loop, without reading a new record from the input.
A `|&' redirection
The `|&' redirection, in place of `|', would open a two-way
pipeline for communication with a sub-process (via `getline' and
`print' and `printf').
`IGNORECASE' affecting all comparisons
The effects of the `IGNORECASE' variable may be generalized to all
string comparisons, and not just regular expression operations.
A way to mix command line source code and library files
There may be a new option that would make it possible to easily
use library functions from a program entered on the command line.
GNU-style long options
We will add GNU-style long options to `gawk' for compatibility
with other GNU programs. (For example, `--field-separator=:'
would be equivalent to `-F:'.)