--- doc/gawk.texi.orig Mon Apr 22 20:26:20 2002 +++ doc/gawk.texi Mon May 20 23:07:14 2002 @@ -97,7 +97,7 @@ @finalout @end iftex -@copying +@ifinfo Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @sp 2 @@ -122,7 +122,7 @@ software. Copies published by the Free Software Foundation raise funds for GNU development.'' @end enumerate -@end copying +@end ifinfo @c Comment out the "smallbook" for technical review. Saves @c considerable paper. Remember to turn it back on *before* @@ -184,8 +184,24 @@ @c This one is correct for gawk 3.1.0 from the FSF ISBN 1-882114-28-0 @* -@sp 2 -@insertcopying + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being ``GNU General Public License'', the Front-Cover +texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +``GNU Free Documentation License''. + +@enumerate a +@item +``A GNU Manual'' + +@item +``You have freedom to copy and modify this GNU Manual, like GNU +software. Copies published by the Free Software Foundation raise +funds for GNU development.'' +@end enumerate @sp 2 Cover art by Etienne Suvasa. @end titlepage @@ -228,7 +244,9 @@ This file documents @command{awk}, a program that you can use to select particular records in a file and perform operations upon them. -@insertcopying +This is Edition @value{EDITION} of @cite{@value{TITLE}: @value{SUBTITLE}}, +for the @value{VERSION}.@value{PATCHLEVEL} (or later) version of the GNU +implementation of AWK. @end ifnottex @@ -21418,8 +21436,7 @@ arranges to clean up any temporary files on program exit or upon an interrupt. -@c 2e: For the temp file handling, go with Darrel's ig=${TMP:-/tmp}/igs.$$ -@c 2e: or something as similar as possible. +@c 2e: For the temporary file handling, use mktemp with $@{TMPDIR:-/tmp@}. The next part loops through all the command-line arguments. There are several cases of interest: @@ -21440,13 +21457,13 @@ These are saved and passed on to @command{gawk}. @item -f@r{,} --file@r{,} --file=@r{,} -Wfile= -The @value{FN} is saved to the temporary file @file{/tmp/ig.s.$$} with an +The @value{FN} is saved to a temporary file with an @samp{@@include} statement. The @command{sed} utility is used to remove the leading option part of the argument (e.g., @samp{--file=}). @item --source@r{,} --source=@r{,} -Wsource= -The source text is echoed into @file{/tmp/ig.s.$$}. +The source text is echoed into a temporary file. @item --version@r{,} -Wversion @command{igawk} prints its version number, runs @samp{gawk --version} @@ -21457,17 +21474,12 @@ or @option{-Wsource} arguments are supplied, then the first nonoption argument should be the @command{awk} program. If there are no command-line arguments left, @command{igawk} prints an error message and exits. -Otherwise, the first argument is echoed into @file{/tmp/ig.s.$$}. +Otherwise, the first argument is echoed into a temporary file. In any case, after the arguments have been processed, -@file{/tmp/ig.s.$$} contains the complete text of the original @command{awk} -program. +the complete text of the original @command{awk} program +is contained in a temporary file. @cindex @command{sed} utility -@cindex stream editors -The @samp{$$} in @command{sh} represents the current process ID number. -It is often used in shell programs to generate unique temporary @value{FN}s. -This allows multiple users to run @command{igawk} without worrying -that the temporary @value{FN}s will clash. The program is as follows: @cindex @code{igawk.sh} program @@ -21482,6 +21494,18 @@ # Arnold Robbins, arnold@@gnu.org, Public Domain # July 1993 +# Temporary file handling modifications for Owl by +# Jarno Huuskonen and Solar Designer, still Public Domain +# May 2001 + +if [ ! -x /usr/bin/mktemp ]; then + echo "$0 needs mktemp to create temporary files." + exit 1 +fi + +STEMPFILE=`/usr/bin/mktemp $@{TMPDIR:-/tmp@}/igawk.s.XXXXXX` || exit 1 +ETEMPFILE=`/usr/bin/mktemp $@{TMPDIR:-/tmp@}/igawk.e.XXXXXX` || exit 1 + @c endfile @end ignore @c file eg/prog/igawk.sh @@ -21491,7 +21515,7 @@ shift else # cleanup on exit, hangup, interrupt, quit, termination - trap 'rm -f /tmp/ig.[se].$$' 0 1 2 3 15 + trap 'rm -f $STEMPFILE $ETEMPFILE' EXIT HUP INT QUIT TERM fi while [ $# -ne 0 ] # loop over arguments @@ -21508,26 +21532,26 @@ -[vF]*) opts="$opts '$1'" ;; - -f) echo @@include "$2" >> /tmp/ig.s.$$ + -f) echo @@include "$2" >> $STEMPFILE shift;; -f*) f=`echo "$1" | sed 's/-f//'` - echo @@include "$f" >> /tmp/ig.s.$$ ;; + echo @@include "$f" >> $STEMPFILE ;; -?file=*) # -Wfile or --file f=`echo "$1" | sed 's/-.file=//'` - echo @@include "$f" >> /tmp/ig.s.$$ ;; + echo @@include "$f" >> $STEMPFILE ;; -?file) # get arg, $2 - echo @@include "$2" >> /tmp/ig.s.$$ + echo @@include "$2" >> $STEMPFILE shift;; -?source=*) # -Wsource or --source t=`echo "$1" | sed 's/-.source=//'` - echo "$t" >> /tmp/ig.s.$$ ;; + echo "$t" >> $STEMPFILE ;; -?source) # get arg, $2 - echo "$2" >> /tmp/ig.s.$$ + echo "$2" >> $STEMPFILE shift;; -?version) @@ -21542,7 +21566,7 @@ shift done -if [ ! -s /tmp/ig.s.$$ ] +if [ ! -s $STEMPFILE ] then @group if [ -z "$1" ] @@ -21551,12 +21575,12 @@ exit 1 @end group else - echo "$1" > /tmp/ig.s.$$ + echo "$1" > $STEMPFILE shift fi fi -# at this point, /tmp/ig.s.$$ has the program +# at this point, $STEMPFILE has the program @c endfile @end example @@ -21635,7 +21659,7 @@ @c endfile @end example -The stack is initialized with @code{ARGV[1]}, which will be @file{/tmp/ig.s.$$}. +The stack is initialized with @code{ARGV[1]}, which will be @file{$STEMPFILE}. The main loop comes next. Input lines are read in succession. Lines that do not start with @samp{@@include} are printed verbatim. If the line does start with @samp{@@include}, the @value{FN} is in @code{$2}. @@ -21681,7 +21705,7 @@ @} close(input[stackptr]) @} -@}' /tmp/ig.s.$$ > /tmp/ig.e.$$ +@}' $STEMPFILE > $ETEMPFILE @c endfile @end example @@ -21707,7 +21731,7 @@ @example @c file eg/prog/igawk.sh -eval gawk -f /tmp/ig.e.$$ $opts -- "$@@" +eval gawk -f $ETEMPFILE $opts -- "$@@" exit $? @c endfile