diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-03-27 11:21:19 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-03-27 11:21:19 -0400 |
commit | bf761c687204a51337dad0f539cdaf87c3a3a08f (patch) | |
tree | c0e37101e750a2bee9f3d660e6482a90dcea52e4 | |
parent | 495620140c3e925d3e9ffd0937d932de4425ed5d (diff) | |
download | egawk-bf761c687204a51337dad0f539cdaf87c3a3a08f.tar.gz egawk-bf761c687204a51337dad0f539cdaf87c3a3a08f.tar.bz2 egawk-bf761c687204a51337dad0f539cdaf87c3a3a08f.zip |
Fix minor bugs in configure.ac and awkgram.y.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | TODO.xgawk | 13 | ||||
-rw-r--r-- | awkgram.c | 2 | ||||
-rw-r--r-- | awkgram.y | 2 | ||||
-rwxr-xr-x | configure | 28 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | doc/gawk.info | 743 |
7 files changed, 394 insertions, 404 deletions
@@ -1,3 +1,12 @@ +2012-03-27 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * TODO.xgawk: Update to reflect debate about how to support Cygwin + and other platforms that cannot link shared libraries with unresolved + references. + * awkgram.y (add_srcfile): Minor bug fix: reverse sense of test + added by Arnold in last patch. + * configure.ac: AC_DISABLE_STATIC must come before AC_PROG_LIBTOOL. + 2012-03-26 Arnold D. Robbins <arnold@skeeve.com> Some cleanups. @@ -16,8 +16,17 @@ Done: To do (not necessarily in this order): -- Fix Makefile.am to build gawk as a stub calling into a shared library. - This will allow extensions to work on Cygwin and Mingw. +- Figure out how to support xgawk on platforms such as Cygwin where a DLL + cannot be linked with unresolved references. There are currently 3 + possible solutions: + 1. Restructure gawk as a stub calling into a shared library. + 2. Move a subset of gawk interfaces into a shared library that can be + called by extensions. + 3. Change the interface between gawk and extensions so that gawk will + pass a pointer to a structure into dlload that contains the addresses + of all variables and functions to which the extension may need access. + +- Add valgrind-noleak target. - Enable default ".awk" search in io.c:find_source(). The simple change is to add this code inline in io.c: @@ -5009,7 +5009,7 @@ add_srcfile(int stype, char *src, SRCFILE *thisfile, int *already_included, int return NULL; } /* use full messages to ease translation */ - fatal(stype == SRC_EXTLIB + fatal(stype != SRC_EXTLIB ? _("can't open source file `%s' for reading (%s)") : _("can't open shared library `%s' for reading (%s)"), src, @@ -2289,7 +2289,7 @@ add_srcfile(int stype, char *src, SRCFILE *thisfile, int *already_included, int return NULL; } /* use full messages to ease translation */ - fatal(stype == SRC_EXTLIB + fatal(stype != SRC_EXTLIB ? _("can't open source file `%s' for reading (%s)") : _("can't open shared library `%s' for reading (%s)"), src, @@ -12666,34 +12666,6 @@ CC="$lt_save_CC" # Only expand once: -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=no -fi - - - - - - diff --git a/configure.ac b/configure.ac index 3b4e6fbe..260f0dfa 100644 --- a/configure.ac +++ b/configure.ac @@ -69,7 +69,6 @@ AC_PROG_CC AC_PROG_CPP AC_DISABLE_STATIC AC_PROG_LIBTOOL -AC_DISABLE_STATIC AC_OBJEXT AC_EXEEXT diff --git a/doc/gawk.info b/doc/gawk.info index 7a7ce302..8e27f4a3 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3332,7 +3332,7 @@ Class Meaning `[:upper:]' Uppercase alphabetic characters. `[:xdigit:]'Characters that are hexadecimal digits. -Table 3.1: POSIX Character Classes +Table 3.1: POSIX Character Classes For example, before the POSIX standard, you had to write `/[A-Za-z0-9]/' to match alphanumeric characters. If your character @@ -5295,7 +5295,7 @@ COMMAND `|& getline' Sets `$0' and `NF' Extension COMMAND `|& getline' Sets VAR Extension VAR -Table 4.1: getline Variants and What They Set +Table 4.1: getline Variants and What They Set File: gawk.info, Node: Read Timeout, Next: Command line directories, Prev: Getline, Up: Reading Files @@ -6963,7 +6963,7 @@ Feature Default `--posix' or `--use-lc-numeric' Input Use period Use locale `strtonum()'Use period Use locale -Table 6.1: Locale Decimal Point versus A Period +Table 6.1: Locale Decimal Point versus A Period Finally, modern day formal standards and IEEE standard floating point representation can have an unusual but important effect on the way @@ -7305,7 +7305,7 @@ LVALUE `%=' MODULUS Sets LVALUE to its remainder by MODULUS. LVALUE `^=' POWER LVALUE `**=' POWER Raises LVALUE to the power POWER. (c.e.) -Table 6.2: Arithmetic Assignment Operators +Table 6.2: Arithmetic Assignment Operators NOTE: Only the `^=' operator is specified by POSIX. For maximum portability, do not use the `**=' operator. @@ -7610,7 +7610,7 @@ X `!~' Y True if the string X does not match the regexp SUBSCRIPT `in' True if the array ARRAY has an element with the ARRAY subscript SUBSCRIPT. -Table 6.3: Relational Operators +Table 6.3: Relational Operators Comparison expressions have the value one if true and zero if false. When comparing operands of mixed types, numeric operands are converted @@ -11421,7 +11421,7 @@ is illustrated in *note table-sub-escapes::. `\\\\\\&' `\\\&' a literal `\\&' `\\q' `\q' a literal `\q' -Table 9.1: Historical Escape Sequence Processing for `sub()' and +Table 9.1: Historical Escape Sequence Processing for `sub()' and `gsub()' This table shows both the lexical-level processing, where an odd number @@ -11446,7 +11446,8 @@ literally. The interpretation of `\' and `&' then becomes as shown in `\\\\&' `\\&' a literal `\', then the matched text `\\\\\\&' `\\\&' a literal `\&' -Table 9.2: 1992 POSIX Rules for sub and gsub Escape Sequence Processing +Table 9.2: 1992 POSIX Rules for sub and gsub Escape Sequence +Processing This appears to solve the problem. Unfortunately, the phrasing of the standard is unusual. It says, in effect, that `\' turns off the special @@ -11475,7 +11476,7 @@ table-sub-proposed::. `\\q' `\q' a literal `\q' `\\\\' `\\' `\\' -Table 9.3: Proposed rules for sub and backslash +Table 9.3: Proposed rules for sub and backslash In a nutshell, at the runtime level, there are now three special sequences of characters (`\\\&', `\\&' and `\&') whereas historically @@ -11502,7 +11503,7 @@ rules are presented in *note table-posix-sub::. `\\q' `\q' a literal `\q' `\\\\' `\\' `\' -Table 9.4: POSIX rules for `sub()' and `gsub()' +Table 9.4: POSIX rules for `sub()' and `gsub()' The only case where the difference is noticeable is the last one: `\\\\' is seen as `\\' and produces `\' instead of `\\'. @@ -11534,7 +11535,7 @@ the `\' does not, as shown in *note table-gensub-escapes::. `\\\\\\&' `\\\&' a literal `\&' `\\q' `\q' a literal `q' -Table 9.5: Escape Sequence Processing for `gensub()' +Table 9.5: Escape Sequence Processing for `gensub()' Because of the complexity of the lexical and runtime level processing and the special cases for `sub()' and `gsub()', we recommend the use of @@ -12083,7 +12084,7 @@ table-bitwise-ops::. 0 | 0 0 | 0 1 | 0 1 1 | 0 1 | 1 1 | 1 0 -Table 9.6: Bitwise Operations +Table 9.6: Bitwise Operations As you can see, the result of an AND operation is 1 only when _both_ bits are 1. The result of an OR operation is 1 if _either_ bit is 1. @@ -24911,7 +24912,7 @@ Index * * (asterisk), * operator, as regexp operator: Regexp Operators. (line 87) * * (asterisk), * operator, null strings, matching: Gory Details. - (line 164) + (line 165) * * (asterisk), ** operator <1>: Precedence. (line 49) * * (asterisk), ** operator: Arithmetic Ops. (line 81) * * (asterisk), **= operator <1>: Precedence. (line 95) @@ -25154,7 +25155,7 @@ Index (line 23) * advanced features, network connections, See Also networks, connections: Advanced Features. (line 6) -* advanced features, null strings, matching: Gory Details. (line 164) +* advanced features, null strings, matching: Gory Details. (line 165) * advanced features, operators, precedence: Increment Ops. (line 61) * advanced features, piping into sh: Redirection. (line 143) * advanced features, regexp constants: Assignment Ops. (line 148) @@ -25251,7 +25252,7 @@ Index * asterisk (*), * operator, as regexp operator: Regexp Operators. (line 87) * asterisk (*), * operator, null strings, matching: Gory Details. - (line 164) + (line 165) * asterisk (*), ** operator <1>: Precedence. (line 49) * asterisk (*), ** operator: Arithmetic Ops. (line 81) * asterisk (*), **= operator <1>: Precedence. (line 95) @@ -26683,7 +26684,7 @@ Index * matching, expressions, See comparison expressions: Typing and Comparison. (line 9) * matching, leftmost longest: Multiple Line. (line 26) -* matching, null strings: Gory Details. (line 164) +* matching, null strings: Gory Details. (line 165) * mawk program: Other Versions. (line 35) * McPhee, Patrick: Contributors. (line 100) * memory, releasing: Internals. (line 92) @@ -26764,7 +26765,7 @@ Index * null strings, as array subscripts: Uninitialized Subscripts. (line 43) * null strings, converting numbers to strings: Conversion. (line 21) -* null strings, matching: Gory Details. (line 164) +* null strings, matching: Gory Details. (line 165) * null strings, quoting and: Quoting. (line 62) * number sign (#), #! (executable scripts): Executable Scripts. (line 6) @@ -27725,360 +27726,360 @@ Ref: Regexp Operators-Footnote-1146922 Ref: Regexp Operators-Footnote-2147069 Node: Bracket Expressions147167 Ref: table-char-classes149057 -Node: GNU Regexp Operators151580 -Node: Case-sensitivity155303 -Ref: Case-sensitivity-Footnote-1158271 -Ref: Case-sensitivity-Footnote-2158506 -Node: Leftmost Longest158614 -Node: Computed Regexps159815 -Node: Reading Files163225 -Node: Records165229 -Ref: Records-Footnote-1173903 -Node: Fields173940 -Ref: Fields-Footnote-1176973 -Node: Nonconstant Fields177059 -Node: Changing Fields179261 -Node: Field Separators185242 -Node: Default Field Splitting187871 -Node: Regexp Field Splitting188988 -Node: Single Character Fields192330 -Node: Command Line Field Separator193389 -Node: Field Splitting Summary196830 -Ref: Field Splitting Summary-Footnote-1200022 -Node: Constant Size200123 -Node: Splitting By Content204707 -Ref: Splitting By Content-Footnote-1208433 -Node: Multiple Line208473 -Ref: Multiple Line-Footnote-1214320 -Node: Getline214499 -Node: Plain Getline216715 -Node: Getline/Variable218804 -Node: Getline/File219945 -Node: Getline/Variable/File221267 -Ref: Getline/Variable/File-Footnote-1222866 -Node: Getline/Pipe222953 -Node: Getline/Variable/Pipe225513 -Node: Getline/Coprocess226620 -Node: Getline/Variable/Coprocess227863 -Node: Getline Notes228577 -Node: Getline Summary230519 -Ref: table-getline-variants230862 -Node: Read Timeout231718 -Ref: Read Timeout-Footnote-1235463 -Node: Command line directories235520 -Node: Printing236150 -Node: Print237781 -Node: Print Examples239118 -Node: Output Separators241902 -Node: OFMT243662 -Node: Printf245020 -Node: Basic Printf245926 -Node: Control Letters247465 -Node: Format Modifiers251277 -Node: Printf Examples257286 -Node: Redirection260001 -Node: Special Files266985 -Node: Special FD267518 -Ref: Special FD-Footnote-1271143 -Node: Special Network271217 -Node: Special Caveats272067 -Node: Close Files And Pipes272863 -Ref: Close Files And Pipes-Footnote-1279886 -Ref: Close Files And Pipes-Footnote-2280034 -Node: Expressions280184 -Node: Values281316 -Node: Constants281992 -Node: Scalar Constants282672 -Ref: Scalar Constants-Footnote-1283531 -Node: Nondecimal-numbers283713 -Node: Regexp Constants286772 -Node: Using Constant Regexps287247 -Node: Variables290302 -Node: Using Variables290957 -Node: Assignment Options292681 -Node: Conversion294553 -Ref: table-locale-affects299929 -Ref: Conversion-Footnote-1300553 -Node: All Operators300662 -Node: Arithmetic Ops301292 -Node: Concatenation303797 -Ref: Concatenation-Footnote-1306590 -Node: Assignment Ops306710 -Ref: table-assign-ops311698 -Node: Increment Ops313106 -Node: Truth Values and Conditions316576 -Node: Truth Values317659 -Node: Typing and Comparison318708 -Node: Variable Typing319497 -Ref: Variable Typing-Footnote-1323394 -Node: Comparison Operators323516 -Ref: table-relational-ops323926 -Node: POSIX String Comparison327475 -Ref: POSIX String Comparison-Footnote-1328431 -Node: Boolean Ops328569 -Ref: Boolean Ops-Footnote-1332647 -Node: Conditional Exp332738 -Node: Function Calls334470 -Node: Precedence338064 -Node: Locales341733 -Node: Patterns and Actions342822 -Node: Pattern Overview343876 -Node: Regexp Patterns345545 -Node: Expression Patterns346088 -Node: Ranges349773 -Node: BEGIN/END352739 -Node: Using BEGIN/END353501 -Ref: Using BEGIN/END-Footnote-1356232 -Node: I/O And BEGIN/END356338 -Node: BEGINFILE/ENDFILE358620 -Node: Empty361513 -Node: Using Shell Variables361829 -Node: Action Overview364114 -Node: Statements366471 -Node: If Statement368325 -Node: While Statement369824 -Node: Do Statement371868 -Node: For Statement373024 -Node: Switch Statement376176 -Node: Break Statement378273 -Node: Continue Statement380263 -Node: Next Statement382056 -Node: Nextfile Statement384446 -Node: Exit Statement386991 -Node: Built-in Variables389407 -Node: User-modified390502 -Ref: User-modified-Footnote-1398528 -Node: Auto-set398590 -Ref: Auto-set-Footnote-1407943 -Node: ARGC and ARGV408148 -Node: Arrays411999 -Node: Array Basics413504 -Node: Array Intro414330 -Node: Reference to Elements418648 -Node: Assigning Elements420918 -Node: Array Example421409 -Node: Scanning an Array423141 -Node: Controlling Scanning425455 -Ref: Controlling Scanning-Footnote-1430388 -Node: Delete430704 -Ref: Delete-Footnote-1433139 -Node: Numeric Array Subscripts433196 -Node: Uninitialized Subscripts435379 -Node: Multi-dimensional437007 -Node: Multi-scanning440101 -Node: Arrays of Arrays441692 -Node: Functions446337 -Node: Built-in447159 -Node: Calling Built-in448237 -Node: Numeric Functions450225 -Ref: Numeric Functions-Footnote-1453990 -Ref: Numeric Functions-Footnote-2454347 -Ref: Numeric Functions-Footnote-3454395 -Node: String Functions454664 -Ref: String Functions-Footnote-1478161 -Ref: String Functions-Footnote-2478290 -Ref: String Functions-Footnote-3478538 -Node: Gory Details478625 -Ref: table-sub-escapes480304 -Ref: table-sub-posix-92481658 -Ref: table-sub-proposed483001 -Ref: table-posix-sub484351 -Ref: table-gensub-escapes485897 -Ref: Gory Details-Footnote-1487104 -Ref: Gory Details-Footnote-2487155 -Node: I/O Functions487306 -Ref: I/O Functions-Footnote-1493961 -Node: Time Functions494108 -Ref: Time Functions-Footnote-1505000 -Ref: Time Functions-Footnote-2505068 -Ref: Time Functions-Footnote-3505226 -Ref: Time Functions-Footnote-4505337 -Ref: Time Functions-Footnote-5505449 -Ref: Time Functions-Footnote-6505676 -Node: Bitwise Functions505942 -Ref: table-bitwise-ops506500 -Ref: Bitwise Functions-Footnote-1510660 -Node: Type Functions510844 -Node: I18N Functions511314 -Node: User-defined512941 -Node: Definition Syntax513745 -Ref: Definition Syntax-Footnote-1518655 -Node: Function Example518724 -Node: Function Caveats521318 -Node: Calling A Function521739 -Node: Variable Scope522854 -Node: Pass By Value/Reference524829 -Node: Return Statement528269 -Node: Dynamic Typing531250 -Node: Indirect Calls531985 -Node: Internationalization541670 -Node: I18N and L10N543096 -Node: Explaining gettext543782 -Ref: Explaining gettext-Footnote-1548848 -Ref: Explaining gettext-Footnote-2549032 -Node: Programmer i18n549197 -Node: Translator i18n553397 -Node: String Extraction554190 -Ref: String Extraction-Footnote-1555151 -Node: Printf Ordering555237 -Ref: Printf Ordering-Footnote-1558021 -Node: I18N Portability558085 -Ref: I18N Portability-Footnote-1560534 -Node: I18N Example560597 -Ref: I18N Example-Footnote-1563232 -Node: Gawk I18N563304 -Node: Advanced Features563921 -Node: Nondecimal Data565434 -Node: Array Sorting567017 -Node: Controlling Array Traversal567714 -Node: Array Sorting Functions575951 -Ref: Array Sorting Functions-Footnote-1579625 -Ref: Array Sorting Functions-Footnote-2579718 -Node: Two-way I/O579912 -Ref: Two-way I/O-Footnote-1585344 -Node: TCP/IP Networking585414 -Node: Profiling588258 -Node: Library Functions595712 -Ref: Library Functions-Footnote-1598719 -Node: Library Names598890 -Ref: Library Names-Footnote-1602361 -Ref: Library Names-Footnote-2602581 -Node: General Functions602667 -Node: Strtonum Function603620 -Node: Assert Function606550 -Node: Round Function609876 -Node: Cliff Random Function611419 -Node: Ordinal Functions612435 -Ref: Ordinal Functions-Footnote-1615505 -Ref: Ordinal Functions-Footnote-2615757 -Node: Join Function615966 -Ref: Join Function-Footnote-1617737 -Node: Gettimeofday Function617937 -Node: Data File Management621652 -Node: Filetrans Function622284 -Node: Rewind Function626423 -Node: File Checking627810 -Node: Empty Files628904 -Node: Ignoring Assigns631134 -Node: Getopt Function632687 -Ref: Getopt Function-Footnote-1643991 -Node: Passwd Functions644194 -Ref: Passwd Functions-Footnote-1653169 -Node: Group Functions653257 -Node: Walking Arrays661341 -Node: Sample Programs662910 -Node: Running Examples663575 -Node: Clones664303 -Node: Cut Program665527 -Node: Egrep Program675372 -Ref: Egrep Program-Footnote-1683145 -Node: Id Program683255 -Node: Split Program686871 -Ref: Split Program-Footnote-1690390 -Node: Tee Program690518 -Node: Uniq Program693321 -Node: Wc Program700750 -Ref: Wc Program-Footnote-1705016 -Ref: Wc Program-Footnote-2705216 -Node: Miscellaneous Programs705308 -Node: Dupword Program706496 -Node: Alarm Program708527 -Node: Translate Program713276 -Ref: Translate Program-Footnote-1717663 -Ref: Translate Program-Footnote-2717891 -Node: Labels Program718025 -Ref: Labels Program-Footnote-1721396 -Node: Word Sorting721480 -Node: History Sorting725364 -Node: Extract Program727203 -Ref: Extract Program-Footnote-1734686 -Node: Simple Sed734814 -Node: Igawk Program737876 -Ref: Igawk Program-Footnote-1753033 -Ref: Igawk Program-Footnote-2753234 -Node: Anagram Program753372 -Node: Signature Program756440 -Node: Debugger757540 -Node: Debugging758492 -Node: Debugging Concepts758925 -Node: Debugging Terms760781 -Node: Awk Debugging763378 -Node: Sample Debugging Session764270 -Node: Debugger Invocation764790 -Node: Finding The Bug766119 -Node: List of Debugger Commands772607 -Node: Breakpoint Control773941 -Node: Debugger Execution Control777605 -Node: Viewing And Changing Data780965 -Node: Execution Stack784321 -Node: Debugger Info785788 -Node: Miscellaneous Debugger Commands789769 -Node: Readline Support795214 -Node: Limitations796045 -Node: Language History798297 -Node: V7/SVR3.1799809 -Node: SVR4802130 -Node: POSIX803572 -Node: BTL804580 -Node: POSIX/GNU805314 -Node: Common Extensions810605 -Node: Ranges and Locales811712 -Ref: Ranges and Locales-Footnote-1816316 -Node: Contributors816537 -Node: Installation820798 -Node: Gawk Distribution821692 -Node: Getting822176 -Node: Extracting823002 -Node: Distribution contents824694 -Node: Unix Installation829916 -Node: Quick Installation830533 -Node: Additional Configuration Options832495 -Node: Configuration Philosophy833972 -Node: Non-Unix Installation836314 -Node: PC Installation836772 -Node: PC Binary Installation838071 -Node: PC Compiling839919 -Node: PC Testing842863 -Node: PC Using844039 -Node: Cygwin848224 -Node: MSYS849224 -Node: VMS Installation849738 -Node: VMS Compilation850341 -Ref: VMS Compilation-Footnote-1851348 -Node: VMS Installation Details851406 -Node: VMS Running853041 -Node: VMS Old Gawk854648 -Node: Bugs855122 -Node: Other Versions858974 -Node: Notes864289 -Node: Compatibility Mode864981 -Node: Additions865764 -Node: Accessing The Source866576 -Node: Adding Code868001 -Node: New Ports873968 -Node: Dynamic Extensions878081 -Node: Internals879521 -Node: Plugin License888040 -Node: Loading Extensions888678 -Node: Sample Library890517 -Node: Internal File Description891207 -Node: Internal File Ops894922 -Ref: Internal File Ops-Footnote-1899646 -Node: Using Internal File Ops899786 -Node: Future Extensions902163 -Node: Basic Concepts904667 -Node: Basic High Level905424 -Ref: Basic High Level-Footnote-1909459 -Node: Basic Data Typing909644 -Node: Floating Point Issues914169 -Node: String Conversion Precision915252 -Ref: String Conversion Precision-Footnote-1916952 -Node: Unexpected Results917061 -Node: POSIX Floating Point Problems918887 -Ref: POSIX Floating Point Problems-Footnote-1922592 -Node: Glossary922630 -Node: Copying947606 -Node: GNU Free Documentation License985163 -Node: Index1010300 +Node: GNU Regexp Operators151583 +Node: Case-sensitivity155306 +Ref: Case-sensitivity-Footnote-1158274 +Ref: Case-sensitivity-Footnote-2158509 +Node: Leftmost Longest158617 +Node: Computed Regexps159818 +Node: Reading Files163228 +Node: Records165232 +Ref: Records-Footnote-1173906 +Node: Fields173943 +Ref: Fields-Footnote-1176976 +Node: Nonconstant Fields177062 +Node: Changing Fields179264 +Node: Field Separators185245 +Node: Default Field Splitting187874 +Node: Regexp Field Splitting188991 +Node: Single Character Fields192333 +Node: Command Line Field Separator193392 +Node: Field Splitting Summary196833 +Ref: Field Splitting Summary-Footnote-1200025 +Node: Constant Size200126 +Node: Splitting By Content204710 +Ref: Splitting By Content-Footnote-1208436 +Node: Multiple Line208476 +Ref: Multiple Line-Footnote-1214323 +Node: Getline214502 +Node: Plain Getline216718 +Node: Getline/Variable218807 +Node: Getline/File219948 +Node: Getline/Variable/File221270 +Ref: Getline/Variable/File-Footnote-1222869 +Node: Getline/Pipe222956 +Node: Getline/Variable/Pipe225516 +Node: Getline/Coprocess226623 +Node: Getline/Variable/Coprocess227866 +Node: Getline Notes228580 +Node: Getline Summary230522 +Ref: table-getline-variants230865 +Node: Read Timeout231724 +Ref: Read Timeout-Footnote-1235469 +Node: Command line directories235526 +Node: Printing236156 +Node: Print237787 +Node: Print Examples239124 +Node: Output Separators241908 +Node: OFMT243668 +Node: Printf245026 +Node: Basic Printf245932 +Node: Control Letters247471 +Node: Format Modifiers251283 +Node: Printf Examples257292 +Node: Redirection260007 +Node: Special Files266991 +Node: Special FD267524 +Ref: Special FD-Footnote-1271149 +Node: Special Network271223 +Node: Special Caveats272073 +Node: Close Files And Pipes272869 +Ref: Close Files And Pipes-Footnote-1279892 +Ref: Close Files And Pipes-Footnote-2280040 +Node: Expressions280190 +Node: Values281322 +Node: Constants281998 +Node: Scalar Constants282678 +Ref: Scalar Constants-Footnote-1283537 +Node: Nondecimal-numbers283719 +Node: Regexp Constants286778 +Node: Using Constant Regexps287253 +Node: Variables290308 +Node: Using Variables290963 +Node: Assignment Options292687 +Node: Conversion294559 +Ref: table-locale-affects299935 +Ref: Conversion-Footnote-1300562 +Node: All Operators300671 +Node: Arithmetic Ops301301 +Node: Concatenation303806 +Ref: Concatenation-Footnote-1306599 +Node: Assignment Ops306719 +Ref: table-assign-ops311707 +Node: Increment Ops313118 +Node: Truth Values and Conditions316588 +Node: Truth Values317671 +Node: Typing and Comparison318720 +Node: Variable Typing319509 +Ref: Variable Typing-Footnote-1323406 +Node: Comparison Operators323528 +Ref: table-relational-ops323938 +Node: POSIX String Comparison327490 +Ref: POSIX String Comparison-Footnote-1328446 +Node: Boolean Ops328584 +Ref: Boolean Ops-Footnote-1332662 +Node: Conditional Exp332753 +Node: Function Calls334485 +Node: Precedence338079 +Node: Locales341748 +Node: Patterns and Actions342837 +Node: Pattern Overview343891 +Node: Regexp Patterns345560 +Node: Expression Patterns346103 +Node: Ranges349788 +Node: BEGIN/END352754 +Node: Using BEGIN/END353516 +Ref: Using BEGIN/END-Footnote-1356247 +Node: I/O And BEGIN/END356353 +Node: BEGINFILE/ENDFILE358635 +Node: Empty361528 +Node: Using Shell Variables361844 +Node: Action Overview364129 +Node: Statements366486 +Node: If Statement368340 +Node: While Statement369839 +Node: Do Statement371883 +Node: For Statement373039 +Node: Switch Statement376191 +Node: Break Statement378288 +Node: Continue Statement380278 +Node: Next Statement382071 +Node: Nextfile Statement384461 +Node: Exit Statement387006 +Node: Built-in Variables389422 +Node: User-modified390517 +Ref: User-modified-Footnote-1398543 +Node: Auto-set398605 +Ref: Auto-set-Footnote-1407958 +Node: ARGC and ARGV408163 +Node: Arrays412014 +Node: Array Basics413519 +Node: Array Intro414345 +Node: Reference to Elements418663 +Node: Assigning Elements420933 +Node: Array Example421424 +Node: Scanning an Array423156 +Node: Controlling Scanning425470 +Ref: Controlling Scanning-Footnote-1430403 +Node: Delete430719 +Ref: Delete-Footnote-1433154 +Node: Numeric Array Subscripts433211 +Node: Uninitialized Subscripts435394 +Node: Multi-dimensional437022 +Node: Multi-scanning440116 +Node: Arrays of Arrays441707 +Node: Functions446352 +Node: Built-in447174 +Node: Calling Built-in448252 +Node: Numeric Functions450240 +Ref: Numeric Functions-Footnote-1454005 +Ref: Numeric Functions-Footnote-2454362 +Ref: Numeric Functions-Footnote-3454410 +Node: String Functions454679 +Ref: String Functions-Footnote-1478176 +Ref: String Functions-Footnote-2478305 +Ref: String Functions-Footnote-3478553 +Node: Gory Details478640 +Ref: table-sub-escapes480319 +Ref: table-sub-posix-92481676 +Ref: table-sub-proposed483022 +Ref: table-posix-sub484375 +Ref: table-gensub-escapes485924 +Ref: Gory Details-Footnote-1487134 +Ref: Gory Details-Footnote-2487185 +Node: I/O Functions487336 +Ref: I/O Functions-Footnote-1493991 +Node: Time Functions494138 +Ref: Time Functions-Footnote-1505030 +Ref: Time Functions-Footnote-2505098 +Ref: Time Functions-Footnote-3505256 +Ref: Time Functions-Footnote-4505367 +Ref: Time Functions-Footnote-5505479 +Ref: Time Functions-Footnote-6505706 +Node: Bitwise Functions505972 +Ref: table-bitwise-ops506530 +Ref: Bitwise Functions-Footnote-1510693 +Node: Type Functions510877 +Node: I18N Functions511347 +Node: User-defined512974 +Node: Definition Syntax513778 +Ref: Definition Syntax-Footnote-1518688 +Node: Function Example518757 +Node: Function Caveats521351 +Node: Calling A Function521772 +Node: Variable Scope522887 +Node: Pass By Value/Reference524862 +Node: Return Statement528302 +Node: Dynamic Typing531283 +Node: Indirect Calls532018 +Node: Internationalization541703 +Node: I18N and L10N543129 +Node: Explaining gettext543815 +Ref: Explaining gettext-Footnote-1548881 +Ref: Explaining gettext-Footnote-2549065 +Node: Programmer i18n549230 +Node: Translator i18n553430 +Node: String Extraction554223 +Ref: String Extraction-Footnote-1555184 +Node: Printf Ordering555270 +Ref: Printf Ordering-Footnote-1558054 +Node: I18N Portability558118 +Ref: I18N Portability-Footnote-1560567 +Node: I18N Example560630 +Ref: I18N Example-Footnote-1563265 +Node: Gawk I18N563337 +Node: Advanced Features563954 +Node: Nondecimal Data565467 +Node: Array Sorting567050 +Node: Controlling Array Traversal567747 +Node: Array Sorting Functions575984 +Ref: Array Sorting Functions-Footnote-1579658 +Ref: Array Sorting Functions-Footnote-2579751 +Node: Two-way I/O579945 +Ref: Two-way I/O-Footnote-1585377 +Node: TCP/IP Networking585447 +Node: Profiling588291 +Node: Library Functions595745 +Ref: Library Functions-Footnote-1598752 +Node: Library Names598923 +Ref: Library Names-Footnote-1602394 +Ref: Library Names-Footnote-2602614 +Node: General Functions602700 +Node: Strtonum Function603653 +Node: Assert Function606583 +Node: Round Function609909 +Node: Cliff Random Function611452 +Node: Ordinal Functions612468 +Ref: Ordinal Functions-Footnote-1615538 +Ref: Ordinal Functions-Footnote-2615790 +Node: Join Function615999 +Ref: Join Function-Footnote-1617770 +Node: Gettimeofday Function617970 +Node: Data File Management621685 +Node: Filetrans Function622317 +Node: Rewind Function626456 +Node: File Checking627843 +Node: Empty Files628937 +Node: Ignoring Assigns631167 +Node: Getopt Function632720 +Ref: Getopt Function-Footnote-1644024 +Node: Passwd Functions644227 +Ref: Passwd Functions-Footnote-1653202 +Node: Group Functions653290 +Node: Walking Arrays661374 +Node: Sample Programs662943 +Node: Running Examples663608 +Node: Clones664336 +Node: Cut Program665560 +Node: Egrep Program675405 +Ref: Egrep Program-Footnote-1683178 +Node: Id Program683288 +Node: Split Program686904 +Ref: Split Program-Footnote-1690423 +Node: Tee Program690551 +Node: Uniq Program693354 +Node: Wc Program700783 +Ref: Wc Program-Footnote-1705049 +Ref: Wc Program-Footnote-2705249 +Node: Miscellaneous Programs705341 +Node: Dupword Program706529 +Node: Alarm Program708560 +Node: Translate Program713309 +Ref: Translate Program-Footnote-1717696 +Ref: Translate Program-Footnote-2717924 +Node: Labels Program718058 +Ref: Labels Program-Footnote-1721429 +Node: Word Sorting721513 +Node: History Sorting725397 +Node: Extract Program727236 +Ref: Extract Program-Footnote-1734719 +Node: Simple Sed734847 +Node: Igawk Program737909 +Ref: Igawk Program-Footnote-1753066 +Ref: Igawk Program-Footnote-2753267 +Node: Anagram Program753405 +Node: Signature Program756473 +Node: Debugger757573 +Node: Debugging758525 +Node: Debugging Concepts758958 +Node: Debugging Terms760814 +Node: Awk Debugging763411 +Node: Sample Debugging Session764303 +Node: Debugger Invocation764823 +Node: Finding The Bug766152 +Node: List of Debugger Commands772640 +Node: Breakpoint Control773974 +Node: Debugger Execution Control777638 +Node: Viewing And Changing Data780998 +Node: Execution Stack784354 +Node: Debugger Info785821 +Node: Miscellaneous Debugger Commands789802 +Node: Readline Support795247 +Node: Limitations796078 +Node: Language History798330 +Node: V7/SVR3.1799842 +Node: SVR4802163 +Node: POSIX803605 +Node: BTL804613 +Node: POSIX/GNU805347 +Node: Common Extensions810638 +Node: Ranges and Locales811745 +Ref: Ranges and Locales-Footnote-1816349 +Node: Contributors816570 +Node: Installation820831 +Node: Gawk Distribution821725 +Node: Getting822209 +Node: Extracting823035 +Node: Distribution contents824727 +Node: Unix Installation829949 +Node: Quick Installation830566 +Node: Additional Configuration Options832528 +Node: Configuration Philosophy834005 +Node: Non-Unix Installation836347 +Node: PC Installation836805 +Node: PC Binary Installation838104 +Node: PC Compiling839952 +Node: PC Testing842896 +Node: PC Using844072 +Node: Cygwin848257 +Node: MSYS849257 +Node: VMS Installation849771 +Node: VMS Compilation850374 +Ref: VMS Compilation-Footnote-1851381 +Node: VMS Installation Details851439 +Node: VMS Running853074 +Node: VMS Old Gawk854681 +Node: Bugs855155 +Node: Other Versions859007 +Node: Notes864322 +Node: Compatibility Mode865014 +Node: Additions865797 +Node: Accessing The Source866609 +Node: Adding Code868034 +Node: New Ports874001 +Node: Dynamic Extensions878114 +Node: Internals879554 +Node: Plugin License888073 +Node: Loading Extensions888711 +Node: Sample Library890550 +Node: Internal File Description891240 +Node: Internal File Ops894955 +Ref: Internal File Ops-Footnote-1899679 +Node: Using Internal File Ops899819 +Node: Future Extensions902196 +Node: Basic Concepts904700 +Node: Basic High Level905457 +Ref: Basic High Level-Footnote-1909492 +Node: Basic Data Typing909677 +Node: Floating Point Issues914202 +Node: String Conversion Precision915285 +Ref: String Conversion Precision-Footnote-1916985 +Node: Unexpected Results917094 +Node: POSIX Floating Point Problems918920 +Ref: POSIX Floating Point Problems-Footnote-1922625 +Node: Glossary922663 +Node: Copying947639 +Node: GNU Free Documentation License985196 +Node: Index1010333 End Tag Table |