======================================================================
Version 0.14.1, by Aleksey Cheusov, Sat, 19 Jul 2008 22:53:45 +0300
FIXED: The following code doesn't work with runawk-0.14.0
runawk -e '
#use "anymodule.awk"
<ANY_CODE_HERE>
'
This code requires a creation of the temporary file that was
removed in runawk-0.14.0. Now temporary file is created using
mkstemp(3).
Regression tests are created for testing.
======================================================================
Version 0.14.0, by Aleksey Cheusov, Sat, 12 Jul 2008 17:29:22 +0300
Temporary file is not needed anymore for -e option.
FIXED: #env didn't work under Linux/glibc.
FIXED: compilation error under FreeBSD.
Lots of new regression tests. Code clean-ups.
fgetln is not required anymore. No hacks about it.
If error happens while processing a #directive,
a correct line number is output
ADDED: option -v|--assign that works like AWK's -v option.
This is to pass some variables to AWK interpreter.
Example: runawk -v var=123 -e 'BEGIN {print var }'
modules/xgetline.awk: better error message/clean-ups
modules/abort.awk: NR is also printed to stderr
minor fixes in *.c
clean-ups and fixes in 'make test'. Now it doesn't depend on my
own system and runawk directory
'make test' exits with non-zero exit status if regression tests
fail
Makefile: ported to ancient pmake-1.45 found in some Linux distros
FIXED: If AWK interpreter segfaults or killed by any other signal,
runawk exits with exit status 0. Affected runawk versions: all.
Now this is fixed and runawk exits with exit status 128+SIGNAL
just like many shells.
EXIT STATUS section has been added to the manual page.
Major changes:
ADDED: The environment variable RUNAWK_AWKPROG overrides
the default awk interpreter which is set at compile time.
Documentation updated accordingly.
FIXED: unsafe use of strdup(3)
I've copied MIT License text to code from www.opensource.org.
Do you see any difference?
ADDED: new trivial module pow.awk that implements function "pow"
fix: MKMAN and MKCATPAGES make's standard variables are checked
during installation
In order to build runawk not in a directory you can either build
it like this (standard way)
cd /src/dir; make all install MAKEOBJDIR=/obj/dir
or like this
cd /obj/dir; make -f /src/dir/Makefile all install
optional config.h is #included if you need it
other minor fixes and improvements both in code and documentation
NEWS:
I switched to BSD make. I really hate automake and its approach in
general. I'm not expert in BSD, but their 'make' looks much
better. But using it makes some changes in building process, see
README/INSTALLATION section for a brief description.
ADDED: man page for runawk. HTML version runawk.html can also be
generated from runawk.pod using pod2html, see Makefile.
ADDED: -i/-I options for forcing/disabling adding /dev/stdin to
the list of awk arguments. See man page for more information.
A few AWK modules are installed to PREFIX/share/runawk: abs.awk,
min.awk, max.awk and alt_assert.awk. This directory is also checked
while searching for modules. See man page for more details.
AWK_PROG and STDIN_FILENAME Makefile variables can be passed to make
program to change a path to an actual AWK interpreter (/usr/bin/awk
by default) and stdin file (/dev/stdin by default).
Lots of improvements in documentation
ADDED: regression tests. Run them by running 'make test' and let
me know if somethiung fails.
debugging output is sent stdout, not stderr
ADDED: long synonyms for short options, --help, --version etc.
clean-ups in Makefile
options handling improvements
NEWS:
FIXED: return code of execvp is not analysed, i.e. when running
an interpreter fails, runawk silently exits with zero exit status.
Now it fails with exit status 1 and print an error to stderr.
stdin filename defaults to "/dev/stdin"
ROOT variable in Makefile has been renamed
to more commonly used PREFIX
realloc(2) is not used anymore. arrays[ARRAY_SZ] are used now.
AWK and STDIN_FILENAME variables are removed from Makefile.
Use CPPFLAGS for changing defaults.