[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-901-g22e6941
From: |
Andrew J. Schorr |
Subject: |
[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-901-g22e6941 |
Date: |
Thu, 30 Oct 2014 01:53:10 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, master has been updated
via 22e694149f4ffb9118de16127169ca80b26137d3 (commit)
from af2d598d477dbabdfdb6f730850191017dec625e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=22e694149f4ffb9118de16127169ca80b26137d3
commit 22e694149f4ffb9118de16127169ca80b26137d3
Author: Andrew J. Schorr <address@hidden>
Date: Wed Oct 29 21:52:41 2014 -0400
Add extras directory with shell startup files containing path manipulation
functions.
diff --git a/ChangeLog b/ChangeLog
index c0bafc1..8ea3992 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-10-29 Andrew J. Schorr <address@hidden>
+
+ * configure.ac (AC_CONFIG_FILES): Add extras/Makefile.
+ * Makefile.am (SUBDIRS): Add extras.
+ * extras: Add new subdirectory.
+
2014-10-29 Arnold D. Robbins <address@hidden>
* dfa.c: Sync with GNU grep. Again, again.
diff --git a/Makefile.am b/Makefile.am
index 3d1c883..afe617e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -69,6 +69,7 @@ SUBDIRS = \
awklib \
po \
extension \
+ extras \
test
# what to make and install
diff --git a/Makefile.in b/Makefile.in
index 5c2a7f1..16d19b0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -475,6 +475,7 @@ SUBDIRS = \
awklib \
po \
extension \
+ extras \
test
include_HEADERS = gawkapi.h
diff --git a/configure b/configure
index cb2e6ba..fcda0c1 100755
--- a/configure
+++ b/configure
@@ -10965,7 +10965,7 @@ dylib) GAWKLIBEXT=so ;; # MacOS uses .dylib for
shared libraries, but libtool us
esac
-ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile
po/Makefile.in test/Makefile"
+ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile
extras/Makefile po/Makefile.in test/Makefile"
if test "x$enable_extensions" = "xyes"; then
@@ -11721,6 +11721,7 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"awklib/Makefile") CONFIG_FILES="$CONFIG_FILES awklib/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "extras/Makefile") CONFIG_FILES="$CONFIG_FILES extras/Makefile" ;;
"po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 6122ee0..a8711c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -402,6 +402,7 @@ AC_SUBST(GAWKLIBEXT)
AC_CONFIG_FILES(Makefile
awklib/Makefile
doc/Makefile
+ extras/Makefile
po/Makefile.in
test/Makefile)
if test "x$enable_extensions" = "xyes"; then
diff --git a/doc/gawk.info b/doc/gawk.info
index 2be2c24..ae3c6f8 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -615,6 +615,7 @@ entitled "GNU Free Documentation License".
* Unix Installation:: Installing `gawk' under
various versions of Unix.
* Quick Installation:: Compiling `gawk' under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
* Non-Unix Installation:: Installation on Other Operating
@@ -2918,6 +2919,9 @@ Since `.' is included at the beginning, `gawk' searches
first in the
current directory and then in `/usr/local/share/awk'. In practice,
this means that you will rarely need to change the value of `AWKPATH'.
+ *Note Shell Startup Files::, for information on functions that help
+to manipulate the `AWKPATH' variable.
+
`gawk' places the value of the search path that it used into
`ENVIRON["AWKPATH"]'. This provides access to the actual search path
value from within an `awk' program.
@@ -2957,6 +2961,9 @@ empty value, `gawk' uses a default path; this is typically
`/usr/local/lib/gawk', although it can vary depending upon how `gawk'
was built.
+ *Note Shell Startup Files::, for information on functions that help
+to manipulate the `AWKLIBPATH' variable.
+
`gawk' places the value of the search path that it used into
`ENVIRON["AWKLIBPATH"]'. This provides access to the actual search path
value from within an `awk' program.
@@ -27468,6 +27475,13 @@ Various `.c', `.y', and `.h' files
sample extensions included with `gawk'. *Note Dynamic
Extensions::, for more information.
+`extras/*'
+ Additional non-essential files. Currently, this directory
+ contains some shell startup files to be installed in
+ `/etc/profile.d' to aid in manipulating the `AWKPATH' and
+ `AWKLIBPATH' environment variables. *Note Shell Startup Files::,
+ for more information.
+
`posix/*'
Files needed for building `gawk' on POSIX-compliant systems.
@@ -27498,11 +27512,12 @@ configure `gawk' for your system yourself.
* Menu:
* Quick Installation:: Compiling `gawk' under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
-File: gawk.info, Node: Quick Installation, Next: Additional Configuration
Options, Up: Unix Installation
+File: gawk.info, Node: Quick Installation, Next: Shell Startup Files, Up:
Unix Installation
B.2.1 Compiling `gawk' for Unix-like Systems
--------------------------------------------
@@ -27559,9 +27574,43 @@ will be asked for your password, and you will have to
have been set up
previously as a user who is allowed to run the `sudo' command.
-File: gawk.info, Node: Additional Configuration Options, Next: Configuration
Philosophy, Prev: Quick Installation, Up: Unix Installation
+File: gawk.info, Node: Shell Startup Files, Next: Additional Configuration
Options, Prev: Quick Installation, Up: Unix Installation
+
+B.2.2 Shell Startup Files
+-------------------------
+
+The distribution contains shell startup files `gawk.sh' and `gawk.csh'
+containing functions to aid in manipulating the `AWKPATH' and
+`AWKLIBPATH' environment variables. On a Fedora system, these files
+should be installed in `/etc/profile.d'; on other platforms, the
+appropriate location may be different.
+
+`gawkpath_default'
+ Reset the `AWKPATH' environment variable to its default value.
+
+`gawkpath_prepend'
+ Add the argument to the front of the `AWKPATH' environment
+ variable.
+
+`gawkpath_append'
+ Add the argument to the end of the `AWKPATH' environment variable.
+
+`gawklibpath_default'
+ Reset the `AWKLIBPATH' environment variable to its default value.
+
+`gawklibpath_prepend'
+ Add the argument to the front of the `AWKLIBPATH' environment
+ variable.
+
+`gawklibpath_append'
+ Add the argument to the end of the `AWKLIBPATH' environment
+ variable.
+
+
+
+File: gawk.info, Node: Additional Configuration Options, Next: Configuration
Philosophy, Prev: Shell Startup Files, Up: Unix Installation
-B.2.2 Additional Configuration Options
+B.2.3 Additional Configuration Options
--------------------------------------
There are several additional options you may use on the `configure'
@@ -27603,7 +27652,7 @@ that `configure' supplies.
File: gawk.info, Node: Configuration Philosophy, Prev: Additional
Configuration Options, Up: Unix Installation
-B.2.3 The Configuration Process
+B.2.4 The Configuration Process
-------------------------------
This minor node is of interest only if you know something about using
@@ -32910,6 +32959,12 @@ Index
(line 63)
* gawkextlib: gawkextlib. (line 6)
* gawkextlib project: gawkextlib. (line 6)
+* gawklibpath_append shell function: Shell Startup Files. (line 29)
+* gawklibpath_default shell function: Shell Startup Files. (line 22)
+* gawklibpath_prepend shell function: Shell Startup Files. (line 25)
+* gawkpath_append shell function: Shell Startup Files. (line 19)
+* gawkpath_default shell function: Shell Startup Files. (line 12)
+* gawkpath_prepend shell function: Shell Startup Files. (line 15)
* General Public License (GPL): Glossary. (line 305)
* General Public License, See GPL: Manual History. (line 11)
* generate time values: Time Functions. (line 25)
@@ -34377,558 +34432,559 @@ Index
Tag Table:
Node: Top1204
-Node: Foreword342156
-Node: Foreword446548
-Node: Preface47982
-Ref: Preface-Footnote-150853
-Ref: Preface-Footnote-250960
-Ref: Preface-Footnote-351193
-Node: History51335
-Node: Names53683
-Ref: Names-Footnote-154777
-Node: This Manual54923
-Ref: This Manual-Footnote-160752
-Node: Conventions60852
-Node: Manual History63192
-Ref: Manual History-Footnote-166183
-Ref: Manual History-Footnote-266224
-Node: How To Contribute66298
-Node: Acknowledgments67537
-Node: Getting Started72345
-Node: Running gawk74779
-Node: One-shot75969
-Node: Read Terminal77194
-Node: Long79221
-Node: Executable Scripts80737
-Ref: Executable Scripts-Footnote-183526
-Node: Comments83628
-Node: Quoting86101
-Node: DOS Quoting91607
-Node: Sample Data Files92282
-Node: Very Simple94875
-Node: Two Rules99766
-Node: More Complex101652
-Node: Statements/Lines104514
-Ref: Statements/Lines-Footnote-1108970
-Node: Other Features109235
-Node: When110166
-Ref: When-Footnote-1111922
-Node: Intro Summary111987
-Node: Invoking Gawk112870
-Node: Command Line114385
-Node: Options115176
-Ref: Options-Footnote-1130959
-Node: Other Arguments130984
-Node: Naming Standard Input133945
-Node: Environment Variables135038
-Node: AWKPATH Variable135596
-Ref: AWKPATH Variable-Footnote-1138896
-Ref: AWKPATH Variable-Footnote-2138941
-Node: AWKLIBPATH Variable139201
-Node: Other Environment Variables140344
-Node: Exit Status143835
-Node: Include Files144510
-Node: Loading Shared Libraries148098
-Node: Obsolete149525
-Node: Undocumented150222
-Node: Invoking Summary150489
-Node: Regexp152155
-Node: Regexp Usage153614
-Node: Escape Sequences155647
-Node: Regexp Operators161895
-Ref: Regexp Operators-Footnote-1169329
-Ref: Regexp Operators-Footnote-2169476
-Node: Bracket Expressions169574
-Ref: table-char-classes171591
-Node: Leftmost Longest174531
-Node: Computed Regexps175833
-Node: GNU Regexp Operators179230
-Node: Case-sensitivity182932
-Ref: Case-sensitivity-Footnote-1185822
-Ref: Case-sensitivity-Footnote-2186057
-Node: Regexp Summary186165
-Node: Reading Files187634
-Node: Records189728
-Node: awk split records190460
-Node: gawk split records195374
-Ref: gawk split records-Footnote-1199913
-Node: Fields199950
-Ref: Fields-Footnote-1202748
-Node: Nonconstant Fields202834
-Ref: Nonconstant Fields-Footnote-1205070
-Node: Changing Fields205272
-Node: Field Separators211204
-Node: Default Field Splitting213908
-Node: Regexp Field Splitting215025
-Node: Single Character Fields218375
-Node: Command Line Field Separator219434
-Node: Full Line Fields222646
-Ref: Full Line Fields-Footnote-1223154
-Node: Field Splitting Summary223200
-Ref: Field Splitting Summary-Footnote-1226331
-Node: Constant Size226432
-Node: Splitting By Content231038
-Ref: Splitting By Content-Footnote-1235111
-Node: Multiple Line235151
-Ref: Multiple Line-Footnote-1241040
-Node: Getline241219
-Node: Plain Getline243430
-Node: Getline/Variable246070
-Node: Getline/File247217
-Node: Getline/Variable/File248601
-Ref: Getline/Variable/File-Footnote-1250202
-Node: Getline/Pipe250289
-Node: Getline/Variable/Pipe252972
-Node: Getline/Coprocess254103
-Node: Getline/Variable/Coprocess255355
-Node: Getline Notes256094
-Node: Getline Summary258886
-Ref: table-getline-variants259298
-Node: Read Timeout260127
-Ref: Read Timeout-Footnote-1263941
-Node: Command-line directories263999
-Node: Input Summary264903
-Node: Input Exercises268155
-Node: Printing268883
-Node: Print270660
-Node: Print Examples272117
-Node: Output Separators274896
-Node: OFMT276914
-Node: Printf278268
-Node: Basic Printf279053
-Node: Control Letters280624
-Node: Format Modifiers284608
-Node: Printf Examples290615
-Node: Redirection293097
-Node: Special FD299936
-Ref: Special FD-Footnote-1303093
-Node: Special Files303167
-Node: Other Inherited Files303783
-Node: Special Network304783
-Node: Special Caveats305644
-Node: Close Files And Pipes306595
-Ref: Close Files And Pipes-Footnote-1313774
-Ref: Close Files And Pipes-Footnote-2313922
-Node: Output Summary314072
-Node: Output Exercises315068
-Node: Expressions315748
-Node: Values316933
-Node: Constants317609
-Node: Scalar Constants318289
-Ref: Scalar Constants-Footnote-1319148
-Node: Nondecimal-numbers319398
-Node: Regexp Constants322398
-Node: Using Constant Regexps322923
-Node: Variables326061
-Node: Using Variables326716
-Node: Assignment Options328626
-Node: Conversion330501
-Node: Strings And Numbers331025
-Ref: Strings And Numbers-Footnote-1334089
-Node: Locale influences conversions334198
-Ref: table-locale-affects336943
-Node: All Operators337531
-Node: Arithmetic Ops338161
-Node: Concatenation340666
-Ref: Concatenation-Footnote-1343485
-Node: Assignment Ops343591
-Ref: table-assign-ops348574
-Node: Increment Ops349852
-Node: Truth Values and Conditions353290
-Node: Truth Values354373
-Node: Typing and Comparison355422
-Node: Variable Typing356215
-Node: Comparison Operators359867
-Ref: table-relational-ops360277
-Node: POSIX String Comparison363792
-Ref: POSIX String Comparison-Footnote-1364864
-Node: Boolean Ops365002
-Ref: Boolean Ops-Footnote-1369481
-Node: Conditional Exp369572
-Node: Function Calls371299
-Node: Precedence375179
-Node: Locales378847
-Node: Expressions Summary380478
-Node: Patterns and Actions383052
-Node: Pattern Overview384172
-Node: Regexp Patterns385851
-Node: Expression Patterns386394
-Node: Ranges390174
-Node: BEGIN/END393280
-Node: Using BEGIN/END394042
-Ref: Using BEGIN/END-Footnote-1396779
-Node: I/O And BEGIN/END396885
-Node: BEGINFILE/ENDFILE399199
-Node: Empty402100
-Node: Using Shell Variables402417
-Node: Action Overview404693
-Node: Statements407020
-Node: If Statement408868
-Node: While Statement410366
-Node: Do Statement412394
-Node: For Statement413536
-Node: Switch Statement416691
-Node: Break Statement419079
-Node: Continue Statement421120
-Node: Next Statement422945
-Node: Nextfile Statement425325
-Node: Exit Statement427955
-Node: Built-in Variables430358
-Node: User-modified431491
-Ref: User-modified-Footnote-1439171
-Node: Auto-set439233
-Ref: Auto-set-Footnote-1452600
-Ref: Auto-set-Footnote-2452805
-Node: ARGC and ARGV452861
-Node: Pattern Action Summary457065
-Node: Arrays459492
-Node: Array Basics460821
-Node: Array Intro461665
-Ref: figure-array-elements463629
-Ref: Array Intro-Footnote-1466153
-Node: Reference to Elements466281
-Node: Assigning Elements468731
-Node: Array Example469222
-Node: Scanning an Array470980
-Node: Controlling Scanning473996
-Ref: Controlling Scanning-Footnote-1479185
-Node: Numeric Array Subscripts479501
-Node: Uninitialized Subscripts481686
-Node: Delete483303
-Ref: Delete-Footnote-1486047
-Node: Multidimensional486104
-Node: Multiscanning489199
-Node: Arrays of Arrays490788
-Node: Arrays Summary495549
-Node: Functions497654
-Node: Built-in498527
-Node: Calling Built-in499605
-Node: Numeric Functions501593
-Ref: Numeric Functions-Footnote-1506417
-Ref: Numeric Functions-Footnote-2506774
-Ref: Numeric Functions-Footnote-3506822
-Node: String Functions507091
-Ref: String Functions-Footnote-1530563
-Ref: String Functions-Footnote-2530692
-Ref: String Functions-Footnote-3530940
-Node: Gory Details531027
-Ref: table-sub-escapes532808
-Ref: table-sub-proposed534328
-Ref: table-posix-sub535692
-Ref: table-gensub-escapes537232
-Ref: Gory Details-Footnote-1538064
-Node: I/O Functions538215
-Ref: I/O Functions-Footnote-1545316
-Node: Time Functions545463
-Ref: Time Functions-Footnote-1555932
-Ref: Time Functions-Footnote-2556000
-Ref: Time Functions-Footnote-3556158
-Ref: Time Functions-Footnote-4556269
-Ref: Time Functions-Footnote-5556381
-Ref: Time Functions-Footnote-6556608
-Node: Bitwise Functions556874
-Ref: table-bitwise-ops557436
-Ref: Bitwise Functions-Footnote-1561744
-Node: Type Functions561913
-Node: I18N Functions563062
-Node: User-defined564707
-Node: Definition Syntax565511
-Ref: Definition Syntax-Footnote-1570917
-Node: Function Example570986
-Ref: Function Example-Footnote-1573903
-Node: Function Caveats573925
-Node: Calling A Function574443
-Node: Variable Scope575398
-Node: Pass By Value/Reference578386
-Node: Return Statement581896
-Node: Dynamic Typing584880
-Node: Indirect Calls585809
-Ref: Indirect Calls-Footnote-1597113
-Node: Functions Summary597241
-Node: Library Functions599940
-Ref: Library Functions-Footnote-1603558
-Ref: Library Functions-Footnote-2603701
-Node: Library Names603872
-Ref: Library Names-Footnote-1607332
-Ref: Library Names-Footnote-2607552
-Node: General Functions607638
-Node: Strtonum Function608741
-Node: Assert Function611761
-Node: Round Function615085
-Node: Cliff Random Function616626
-Node: Ordinal Functions617642
-Ref: Ordinal Functions-Footnote-1620707
-Ref: Ordinal Functions-Footnote-2620959
-Node: Join Function621170
-Ref: Join Function-Footnote-1622941
-Node: Getlocaltime Function623141
-Node: Readfile Function626882
-Node: Shell Quoting628852
-Node: Data File Management630253
-Node: Filetrans Function630885
-Node: Rewind Function634944
-Node: File Checking636329
-Ref: File Checking-Footnote-1637657
-Node: Empty Files637858
-Node: Ignoring Assigns639837
-Node: Getopt Function641388
-Ref: Getopt Function-Footnote-1652848
-Node: Passwd Functions653051
-Ref: Passwd Functions-Footnote-1661902
-Node: Group Functions661990
-Ref: Group Functions-Footnote-1669893
-Node: Walking Arrays670106
-Node: Library Functions Summary671709
-Node: Library Exercises673110
-Node: Sample Programs674390
-Node: Running Examples675160
-Node: Clones675888
-Node: Cut Program677112
-Node: Egrep Program686842
-Ref: Egrep Program-Footnote-1694346
-Node: Id Program694456
-Node: Split Program698100
-Ref: Split Program-Footnote-1701546
-Node: Tee Program701674
-Node: Uniq Program704461
-Node: Wc Program711882
-Ref: Wc Program-Footnote-1716130
-Node: Miscellaneous Programs716222
-Node: Dupword Program717435
-Node: Alarm Program719466
-Node: Translate Program724270
-Ref: Translate Program-Footnote-1728834
-Node: Labels Program729104
-Ref: Labels Program-Footnote-1732453
-Node: Word Sorting732537
-Node: History Sorting736607
-Node: Extract Program738443
-Node: Simple Sed745975
-Node: Igawk Program749037
-Ref: Igawk Program-Footnote-1763363
-Ref: Igawk Program-Footnote-2763564
-Ref: Igawk Program-Footnote-3763686
-Node: Anagram Program763801
-Node: Signature Program766863
-Node: Programs Summary768110
-Node: Programs Exercises769303
-Ref: Programs Exercises-Footnote-1773434
-Node: Advanced Features773525
-Node: Nondecimal Data775473
-Node: Array Sorting777063
-Node: Controlling Array Traversal777760
-Ref: Controlling Array Traversal-Footnote-1786091
-Node: Array Sorting Functions786209
-Ref: Array Sorting Functions-Footnote-1790101
-Node: Two-way I/O790295
-Ref: Two-way I/O-Footnote-1795239
-Ref: Two-way I/O-Footnote-2795425
-Node: TCP/IP Networking795507
-Node: Profiling798379
-Node: Advanced Features Summary806653
-Node: Internationalization808586
-Node: I18N and L10N810066
-Node: Explaining gettext810752
-Ref: Explaining gettext-Footnote-1815781
-Ref: Explaining gettext-Footnote-2815965
-Node: Programmer i18n816130
-Ref: Programmer i18n-Footnote-1820996
-Node: Translator i18n821045
-Node: String Extraction821839
-Ref: String Extraction-Footnote-1822970
-Node: Printf Ordering823056
-Ref: Printf Ordering-Footnote-1825842
-Node: I18N Portability825906
-Ref: I18N Portability-Footnote-1828355
-Node: I18N Example828418
-Ref: I18N Example-Footnote-1831218
-Node: Gawk I18N831290
-Node: I18N Summary831928
-Node: Debugger833267
-Node: Debugging834289
-Node: Debugging Concepts834730
-Node: Debugging Terms836587
-Node: Awk Debugging839162
-Node: Sample Debugging Session840054
-Node: Debugger Invocation840574
-Node: Finding The Bug841958
-Node: List of Debugger Commands848433
-Node: Breakpoint Control849765
-Node: Debugger Execution Control853457
-Node: Viewing And Changing Data856821
-Node: Execution Stack860186
-Node: Debugger Info861824
-Node: Miscellaneous Debugger Commands865841
-Node: Readline Support871033
-Node: Limitations871925
-Node: Debugging Summary874022
-Node: Arbitrary Precision Arithmetic875190
-Node: Computer Arithmetic876606
-Ref: table-numeric-ranges880207
-Ref: Computer Arithmetic-Footnote-1881066
-Node: Math Definitions881123
-Ref: table-ieee-formats884410
-Ref: Math Definitions-Footnote-1885014
-Node: MPFR features885119
-Node: FP Math Caution886790
-Ref: FP Math Caution-Footnote-1887840
-Node: Inexactness of computations888209
-Node: Inexact representation889157
-Node: Comparing FP Values890512
-Node: Errors accumulate891585
-Node: Getting Accuracy893018
-Node: Try To Round895677
-Node: Setting precision896576
-Ref: table-predefined-precision-strings897260
-Node: Setting the rounding mode899054
-Ref: table-gawk-rounding-modes899418
-Ref: Setting the rounding mode-Footnote-1902872
-Node: Arbitrary Precision Integers903051
-Ref: Arbitrary Precision Integers-Footnote-1907955
-Node: POSIX Floating Point Problems908104
-Ref: POSIX Floating Point Problems-Footnote-1911980
-Node: Floating point summary912018
-Node: Dynamic Extensions914210
-Node: Extension Intro915762
-Node: Plugin License917028
-Node: Extension Mechanism Outline917825
-Ref: figure-load-extension918253
-Ref: figure-register-new-function919733
-Ref: figure-call-new-function920737
-Node: Extension API Description922723
-Node: Extension API Functions Introduction924173
-Node: General Data Types929009
-Ref: General Data Types-Footnote-1934696
-Node: Memory Allocation Functions934995
-Ref: Memory Allocation Functions-Footnote-1937825
-Node: Constructor Functions937921
-Node: Registration Functions939655
-Node: Extension Functions940340
-Node: Exit Callback Functions942636
-Node: Extension Version String943884
-Node: Input Parsers944534
-Node: Output Wrappers954349
-Node: Two-way processors958865
-Node: Printing Messages961069
-Ref: Printing Messages-Footnote-1962146
-Node: Updating `ERRNO'962298
-Node: Requesting Values963038
-Ref: table-value-types-returned963766
-Node: Accessing Parameters964724
-Node: Symbol Table Access965955
-Node: Symbol table by name966469
-Node: Symbol table by cookie968449
-Ref: Symbol table by cookie-Footnote-1972588
-Node: Cached values972651
-Ref: Cached values-Footnote-1976155
-Node: Array Manipulation976246
-Ref: Array Manipulation-Footnote-1977344
-Node: Array Data Types977383
-Ref: Array Data Types-Footnote-1980040
-Node: Array Functions980132
-Node: Flattening Arrays983986
-Node: Creating Arrays990873
-Node: Extension API Variables995640
-Node: Extension Versioning996276
-Node: Extension API Informational Variables998177
-Node: Extension API Boilerplate999265
-Node: Finding Extensions1003081
-Node: Extension Example1003641
-Node: Internal File Description1004413
-Node: Internal File Ops1008480
-Ref: Internal File Ops-Footnote-11020138
-Node: Using Internal File Ops1020278
-Ref: Using Internal File Ops-Footnote-11022661
-Node: Extension Samples1022934
-Node: Extension Sample File Functions1024458
-Node: Extension Sample Fnmatch1032060
-Node: Extension Sample Fork1033542
-Node: Extension Sample Inplace1034755
-Node: Extension Sample Ord1036430
-Node: Extension Sample Readdir1037266
-Ref: table-readdir-file-types1038142
-Node: Extension Sample Revout1038953
-Node: Extension Sample Rev2way1039544
-Node: Extension Sample Read write array1040285
-Node: Extension Sample Readfile1042224
-Node: Extension Sample Time1043319
-Node: Extension Sample API Tests1044668
-Node: gawkextlib1045159
-Node: Extension summary1047809
-Node: Extension Exercises1051491
-Node: Language History1052213
-Node: V7/SVR3.11053870
-Node: SVR41056051
-Node: POSIX1057496
-Node: BTL1058885
-Node: POSIX/GNU1059619
-Node: Feature History1065248
-Node: Common Extensions1078346
-Node: Ranges and Locales1079670
-Ref: Ranges and Locales-Footnote-11084309
-Ref: Ranges and Locales-Footnote-21084336
-Ref: Ranges and Locales-Footnote-31084570
-Node: Contributors1084791
-Node: History summary1090331
-Node: Installation1091700
-Node: Gawk Distribution1092656
-Node: Getting1093140
-Node: Extracting1093964
-Node: Distribution contents1095606
-Node: Unix Installation1101376
-Node: Quick Installation1101993
-Node: Additional Configuration Options1104424
-Node: Configuration Philosophy1106164
-Node: Non-Unix Installation1108515
-Node: PC Installation1108973
-Node: PC Binary Installation1110299
-Node: PC Compiling1112147
-Ref: PC Compiling-Footnote-11115168
-Node: PC Testing1115273
-Node: PC Using1116449
-Node: Cygwin1120564
-Node: MSYS1121387
-Node: VMS Installation1121885
-Node: VMS Compilation1122677
-Ref: VMS Compilation-Footnote-11123899
-Node: VMS Dynamic Extensions1123957
-Node: VMS Installation Details1125641
-Node: VMS Running1127893
-Node: VMS GNV1130734
-Node: VMS Old Gawk1131468
-Node: Bugs1131938
-Node: Other Versions1135842
-Node: Installation summary1142055
-Node: Notes1143111
-Node: Compatibility Mode1143976
-Node: Additions1144758
-Node: Accessing The Source1145683
-Node: Adding Code1147119
-Node: New Ports1153291
-Node: Derived Files1157773
-Ref: Derived Files-Footnote-11163248
-Ref: Derived Files-Footnote-21163282
-Ref: Derived Files-Footnote-31163878
-Node: Future Extensions1163992
-Node: Implementation Limitations1164598
-Node: Extension Design1165846
-Node: Old Extension Problems1167000
-Ref: Old Extension Problems-Footnote-11168517
-Node: Extension New Mechanism Goals1168574
-Ref: Extension New Mechanism Goals-Footnote-11171934
-Node: Extension Other Design Decisions1172123
-Node: Extension Future Growth1174231
-Node: Old Extension Mechanism1175067
-Node: Notes summary1176829
-Node: Basic Concepts1178015
-Node: Basic High Level1178696
-Ref: figure-general-flow1178968
-Ref: figure-process-flow1179567
-Ref: Basic High Level-Footnote-11182796
-Node: Basic Data Typing1182981
-Node: Glossary1186309
-Node: Copying1211467
-Node: GNU Free Documentation License1249023
-Node: Index1274159
+Node: Foreword342225
+Node: Foreword446617
+Node: Preface48051
+Ref: Preface-Footnote-150922
+Ref: Preface-Footnote-251029
+Ref: Preface-Footnote-351262
+Node: History51404
+Node: Names53752
+Ref: Names-Footnote-154846
+Node: This Manual54992
+Ref: This Manual-Footnote-160821
+Node: Conventions60921
+Node: Manual History63261
+Ref: Manual History-Footnote-166252
+Ref: Manual History-Footnote-266293
+Node: How To Contribute66367
+Node: Acknowledgments67606
+Node: Getting Started72414
+Node: Running gawk74848
+Node: One-shot76038
+Node: Read Terminal77263
+Node: Long79290
+Node: Executable Scripts80806
+Ref: Executable Scripts-Footnote-183595
+Node: Comments83697
+Node: Quoting86170
+Node: DOS Quoting91676
+Node: Sample Data Files92351
+Node: Very Simple94944
+Node: Two Rules99835
+Node: More Complex101721
+Node: Statements/Lines104583
+Ref: Statements/Lines-Footnote-1109039
+Node: Other Features109304
+Node: When110235
+Ref: When-Footnote-1111991
+Node: Intro Summary112056
+Node: Invoking Gawk112939
+Node: Command Line114454
+Node: Options115245
+Ref: Options-Footnote-1131028
+Node: Other Arguments131053
+Node: Naming Standard Input134014
+Node: Environment Variables135107
+Node: AWKPATH Variable135665
+Ref: AWKPATH Variable-Footnote-1139075
+Ref: AWKPATH Variable-Footnote-2139120
+Node: AWKLIBPATH Variable139380
+Node: Other Environment Variables140636
+Node: Exit Status144127
+Node: Include Files144802
+Node: Loading Shared Libraries148390
+Node: Obsolete149817
+Node: Undocumented150514
+Node: Invoking Summary150781
+Node: Regexp152447
+Node: Regexp Usage153906
+Node: Escape Sequences155939
+Node: Regexp Operators162187
+Ref: Regexp Operators-Footnote-1169621
+Ref: Regexp Operators-Footnote-2169768
+Node: Bracket Expressions169866
+Ref: table-char-classes171883
+Node: Leftmost Longest174823
+Node: Computed Regexps176125
+Node: GNU Regexp Operators179522
+Node: Case-sensitivity183224
+Ref: Case-sensitivity-Footnote-1186114
+Ref: Case-sensitivity-Footnote-2186349
+Node: Regexp Summary186457
+Node: Reading Files187926
+Node: Records190020
+Node: awk split records190752
+Node: gawk split records195666
+Ref: gawk split records-Footnote-1200205
+Node: Fields200242
+Ref: Fields-Footnote-1203040
+Node: Nonconstant Fields203126
+Ref: Nonconstant Fields-Footnote-1205362
+Node: Changing Fields205564
+Node: Field Separators211496
+Node: Default Field Splitting214200
+Node: Regexp Field Splitting215317
+Node: Single Character Fields218667
+Node: Command Line Field Separator219726
+Node: Full Line Fields222938
+Ref: Full Line Fields-Footnote-1223446
+Node: Field Splitting Summary223492
+Ref: Field Splitting Summary-Footnote-1226623
+Node: Constant Size226724
+Node: Splitting By Content231330
+Ref: Splitting By Content-Footnote-1235403
+Node: Multiple Line235443
+Ref: Multiple Line-Footnote-1241332
+Node: Getline241511
+Node: Plain Getline243722
+Node: Getline/Variable246362
+Node: Getline/File247509
+Node: Getline/Variable/File248893
+Ref: Getline/Variable/File-Footnote-1250494
+Node: Getline/Pipe250581
+Node: Getline/Variable/Pipe253264
+Node: Getline/Coprocess254395
+Node: Getline/Variable/Coprocess255647
+Node: Getline Notes256386
+Node: Getline Summary259178
+Ref: table-getline-variants259590
+Node: Read Timeout260419
+Ref: Read Timeout-Footnote-1264233
+Node: Command-line directories264291
+Node: Input Summary265195
+Node: Input Exercises268447
+Node: Printing269175
+Node: Print270952
+Node: Print Examples272409
+Node: Output Separators275188
+Node: OFMT277206
+Node: Printf278560
+Node: Basic Printf279345
+Node: Control Letters280916
+Node: Format Modifiers284900
+Node: Printf Examples290907
+Node: Redirection293389
+Node: Special FD300228
+Ref: Special FD-Footnote-1303385
+Node: Special Files303459
+Node: Other Inherited Files304075
+Node: Special Network305075
+Node: Special Caveats305936
+Node: Close Files And Pipes306887
+Ref: Close Files And Pipes-Footnote-1314066
+Ref: Close Files And Pipes-Footnote-2314214
+Node: Output Summary314364
+Node: Output Exercises315360
+Node: Expressions316040
+Node: Values317225
+Node: Constants317901
+Node: Scalar Constants318581
+Ref: Scalar Constants-Footnote-1319440
+Node: Nondecimal-numbers319690
+Node: Regexp Constants322690
+Node: Using Constant Regexps323215
+Node: Variables326353
+Node: Using Variables327008
+Node: Assignment Options328918
+Node: Conversion330793
+Node: Strings And Numbers331317
+Ref: Strings And Numbers-Footnote-1334381
+Node: Locale influences conversions334490
+Ref: table-locale-affects337235
+Node: All Operators337823
+Node: Arithmetic Ops338453
+Node: Concatenation340958
+Ref: Concatenation-Footnote-1343777
+Node: Assignment Ops343883
+Ref: table-assign-ops348866
+Node: Increment Ops350144
+Node: Truth Values and Conditions353582
+Node: Truth Values354665
+Node: Typing and Comparison355714
+Node: Variable Typing356507
+Node: Comparison Operators360159
+Ref: table-relational-ops360569
+Node: POSIX String Comparison364084
+Ref: POSIX String Comparison-Footnote-1365156
+Node: Boolean Ops365294
+Ref: Boolean Ops-Footnote-1369773
+Node: Conditional Exp369864
+Node: Function Calls371591
+Node: Precedence375471
+Node: Locales379139
+Node: Expressions Summary380770
+Node: Patterns and Actions383344
+Node: Pattern Overview384464
+Node: Regexp Patterns386143
+Node: Expression Patterns386686
+Node: Ranges390466
+Node: BEGIN/END393572
+Node: Using BEGIN/END394334
+Ref: Using BEGIN/END-Footnote-1397071
+Node: I/O And BEGIN/END397177
+Node: BEGINFILE/ENDFILE399491
+Node: Empty402392
+Node: Using Shell Variables402709
+Node: Action Overview404985
+Node: Statements407312
+Node: If Statement409160
+Node: While Statement410658
+Node: Do Statement412686
+Node: For Statement413828
+Node: Switch Statement416983
+Node: Break Statement419371
+Node: Continue Statement421412
+Node: Next Statement423237
+Node: Nextfile Statement425617
+Node: Exit Statement428247
+Node: Built-in Variables430650
+Node: User-modified431783
+Ref: User-modified-Footnote-1439463
+Node: Auto-set439525
+Ref: Auto-set-Footnote-1452892
+Ref: Auto-set-Footnote-2453097
+Node: ARGC and ARGV453153
+Node: Pattern Action Summary457357
+Node: Arrays459784
+Node: Array Basics461113
+Node: Array Intro461957
+Ref: figure-array-elements463921
+Ref: Array Intro-Footnote-1466445
+Node: Reference to Elements466573
+Node: Assigning Elements469023
+Node: Array Example469514
+Node: Scanning an Array471272
+Node: Controlling Scanning474288
+Ref: Controlling Scanning-Footnote-1479477
+Node: Numeric Array Subscripts479793
+Node: Uninitialized Subscripts481978
+Node: Delete483595
+Ref: Delete-Footnote-1486339
+Node: Multidimensional486396
+Node: Multiscanning489491
+Node: Arrays of Arrays491080
+Node: Arrays Summary495841
+Node: Functions497946
+Node: Built-in498819
+Node: Calling Built-in499897
+Node: Numeric Functions501885
+Ref: Numeric Functions-Footnote-1506709
+Ref: Numeric Functions-Footnote-2507066
+Ref: Numeric Functions-Footnote-3507114
+Node: String Functions507383
+Ref: String Functions-Footnote-1530855
+Ref: String Functions-Footnote-2530984
+Ref: String Functions-Footnote-3531232
+Node: Gory Details531319
+Ref: table-sub-escapes533100
+Ref: table-sub-proposed534620
+Ref: table-posix-sub535984
+Ref: table-gensub-escapes537524
+Ref: Gory Details-Footnote-1538356
+Node: I/O Functions538507
+Ref: I/O Functions-Footnote-1545608
+Node: Time Functions545755
+Ref: Time Functions-Footnote-1556224
+Ref: Time Functions-Footnote-2556292
+Ref: Time Functions-Footnote-3556450
+Ref: Time Functions-Footnote-4556561
+Ref: Time Functions-Footnote-5556673
+Ref: Time Functions-Footnote-6556900
+Node: Bitwise Functions557166
+Ref: table-bitwise-ops557728
+Ref: Bitwise Functions-Footnote-1562036
+Node: Type Functions562205
+Node: I18N Functions563354
+Node: User-defined564999
+Node: Definition Syntax565803
+Ref: Definition Syntax-Footnote-1571209
+Node: Function Example571278
+Ref: Function Example-Footnote-1574195
+Node: Function Caveats574217
+Node: Calling A Function574735
+Node: Variable Scope575690
+Node: Pass By Value/Reference578678
+Node: Return Statement582188
+Node: Dynamic Typing585172
+Node: Indirect Calls586101
+Ref: Indirect Calls-Footnote-1597405
+Node: Functions Summary597533
+Node: Library Functions600232
+Ref: Library Functions-Footnote-1603850
+Ref: Library Functions-Footnote-2603993
+Node: Library Names604164
+Ref: Library Names-Footnote-1607624
+Ref: Library Names-Footnote-2607844
+Node: General Functions607930
+Node: Strtonum Function609033
+Node: Assert Function612053
+Node: Round Function615377
+Node: Cliff Random Function616918
+Node: Ordinal Functions617934
+Ref: Ordinal Functions-Footnote-1620999
+Ref: Ordinal Functions-Footnote-2621251
+Node: Join Function621462
+Ref: Join Function-Footnote-1623233
+Node: Getlocaltime Function623433
+Node: Readfile Function627174
+Node: Shell Quoting629144
+Node: Data File Management630545
+Node: Filetrans Function631177
+Node: Rewind Function635236
+Node: File Checking636621
+Ref: File Checking-Footnote-1637949
+Node: Empty Files638150
+Node: Ignoring Assigns640129
+Node: Getopt Function641680
+Ref: Getopt Function-Footnote-1653140
+Node: Passwd Functions653343
+Ref: Passwd Functions-Footnote-1662194
+Node: Group Functions662282
+Ref: Group Functions-Footnote-1670185
+Node: Walking Arrays670398
+Node: Library Functions Summary672001
+Node: Library Exercises673402
+Node: Sample Programs674682
+Node: Running Examples675452
+Node: Clones676180
+Node: Cut Program677404
+Node: Egrep Program687134
+Ref: Egrep Program-Footnote-1694638
+Node: Id Program694748
+Node: Split Program698392
+Ref: Split Program-Footnote-1701838
+Node: Tee Program701966
+Node: Uniq Program704753
+Node: Wc Program712174
+Ref: Wc Program-Footnote-1716422
+Node: Miscellaneous Programs716514
+Node: Dupword Program717727
+Node: Alarm Program719758
+Node: Translate Program724562
+Ref: Translate Program-Footnote-1729126
+Node: Labels Program729396
+Ref: Labels Program-Footnote-1732745
+Node: Word Sorting732829
+Node: History Sorting736899
+Node: Extract Program738735
+Node: Simple Sed746267
+Node: Igawk Program749329
+Ref: Igawk Program-Footnote-1763655
+Ref: Igawk Program-Footnote-2763856
+Ref: Igawk Program-Footnote-3763978
+Node: Anagram Program764093
+Node: Signature Program767155
+Node: Programs Summary768402
+Node: Programs Exercises769595
+Ref: Programs Exercises-Footnote-1773726
+Node: Advanced Features773817
+Node: Nondecimal Data775765
+Node: Array Sorting777355
+Node: Controlling Array Traversal778052
+Ref: Controlling Array Traversal-Footnote-1786383
+Node: Array Sorting Functions786501
+Ref: Array Sorting Functions-Footnote-1790393
+Node: Two-way I/O790587
+Ref: Two-way I/O-Footnote-1795531
+Ref: Two-way I/O-Footnote-2795717
+Node: TCP/IP Networking795799
+Node: Profiling798671
+Node: Advanced Features Summary806945
+Node: Internationalization808878
+Node: I18N and L10N810358
+Node: Explaining gettext811044
+Ref: Explaining gettext-Footnote-1816073
+Ref: Explaining gettext-Footnote-2816257
+Node: Programmer i18n816422
+Ref: Programmer i18n-Footnote-1821288
+Node: Translator i18n821337
+Node: String Extraction822131
+Ref: String Extraction-Footnote-1823262
+Node: Printf Ordering823348
+Ref: Printf Ordering-Footnote-1826134
+Node: I18N Portability826198
+Ref: I18N Portability-Footnote-1828647
+Node: I18N Example828710
+Ref: I18N Example-Footnote-1831510
+Node: Gawk I18N831582
+Node: I18N Summary832220
+Node: Debugger833559
+Node: Debugging834581
+Node: Debugging Concepts835022
+Node: Debugging Terms836879
+Node: Awk Debugging839454
+Node: Sample Debugging Session840346
+Node: Debugger Invocation840866
+Node: Finding The Bug842250
+Node: List of Debugger Commands848725
+Node: Breakpoint Control850057
+Node: Debugger Execution Control853749
+Node: Viewing And Changing Data857113
+Node: Execution Stack860478
+Node: Debugger Info862116
+Node: Miscellaneous Debugger Commands866133
+Node: Readline Support871325
+Node: Limitations872217
+Node: Debugging Summary874314
+Node: Arbitrary Precision Arithmetic875482
+Node: Computer Arithmetic876898
+Ref: table-numeric-ranges880499
+Ref: Computer Arithmetic-Footnote-1881358
+Node: Math Definitions881415
+Ref: table-ieee-formats884702
+Ref: Math Definitions-Footnote-1885306
+Node: MPFR features885411
+Node: FP Math Caution887082
+Ref: FP Math Caution-Footnote-1888132
+Node: Inexactness of computations888501
+Node: Inexact representation889449
+Node: Comparing FP Values890804
+Node: Errors accumulate891877
+Node: Getting Accuracy893310
+Node: Try To Round895969
+Node: Setting precision896868
+Ref: table-predefined-precision-strings897552
+Node: Setting the rounding mode899346
+Ref: table-gawk-rounding-modes899710
+Ref: Setting the rounding mode-Footnote-1903164
+Node: Arbitrary Precision Integers903343
+Ref: Arbitrary Precision Integers-Footnote-1908247
+Node: POSIX Floating Point Problems908396
+Ref: POSIX Floating Point Problems-Footnote-1912272
+Node: Floating point summary912310
+Node: Dynamic Extensions914502
+Node: Extension Intro916054
+Node: Plugin License917320
+Node: Extension Mechanism Outline918117
+Ref: figure-load-extension918545
+Ref: figure-register-new-function920025
+Ref: figure-call-new-function921029
+Node: Extension API Description923015
+Node: Extension API Functions Introduction924465
+Node: General Data Types929301
+Ref: General Data Types-Footnote-1934988
+Node: Memory Allocation Functions935287
+Ref: Memory Allocation Functions-Footnote-1938117
+Node: Constructor Functions938213
+Node: Registration Functions939947
+Node: Extension Functions940632
+Node: Exit Callback Functions942928
+Node: Extension Version String944176
+Node: Input Parsers944826
+Node: Output Wrappers954641
+Node: Two-way processors959157
+Node: Printing Messages961361
+Ref: Printing Messages-Footnote-1962438
+Node: Updating `ERRNO'962590
+Node: Requesting Values963330
+Ref: table-value-types-returned964058
+Node: Accessing Parameters965016
+Node: Symbol Table Access966247
+Node: Symbol table by name966761
+Node: Symbol table by cookie968741
+Ref: Symbol table by cookie-Footnote-1972880
+Node: Cached values972943
+Ref: Cached values-Footnote-1976447
+Node: Array Manipulation976538
+Ref: Array Manipulation-Footnote-1977636
+Node: Array Data Types977675
+Ref: Array Data Types-Footnote-1980332
+Node: Array Functions980424
+Node: Flattening Arrays984278
+Node: Creating Arrays991165
+Node: Extension API Variables995932
+Node: Extension Versioning996568
+Node: Extension API Informational Variables998469
+Node: Extension API Boilerplate999557
+Node: Finding Extensions1003373
+Node: Extension Example1003933
+Node: Internal File Description1004705
+Node: Internal File Ops1008772
+Ref: Internal File Ops-Footnote-11020430
+Node: Using Internal File Ops1020570
+Ref: Using Internal File Ops-Footnote-11022953
+Node: Extension Samples1023226
+Node: Extension Sample File Functions1024750
+Node: Extension Sample Fnmatch1032352
+Node: Extension Sample Fork1033834
+Node: Extension Sample Inplace1035047
+Node: Extension Sample Ord1036722
+Node: Extension Sample Readdir1037558
+Ref: table-readdir-file-types1038434
+Node: Extension Sample Revout1039245
+Node: Extension Sample Rev2way1039836
+Node: Extension Sample Read write array1040577
+Node: Extension Sample Readfile1042516
+Node: Extension Sample Time1043611
+Node: Extension Sample API Tests1044960
+Node: gawkextlib1045451
+Node: Extension summary1048101
+Node: Extension Exercises1051783
+Node: Language History1052505
+Node: V7/SVR3.11054162
+Node: SVR41056343
+Node: POSIX1057788
+Node: BTL1059177
+Node: POSIX/GNU1059911
+Node: Feature History1065540
+Node: Common Extensions1078638
+Node: Ranges and Locales1079962
+Ref: Ranges and Locales-Footnote-11084601
+Ref: Ranges and Locales-Footnote-21084628
+Ref: Ranges and Locales-Footnote-31084862
+Node: Contributors1085083
+Node: History summary1090623
+Node: Installation1091992
+Node: Gawk Distribution1092948
+Node: Getting1093432
+Node: Extracting1094256
+Node: Distribution contents1095898
+Node: Unix Installation1101963
+Node: Quick Installation1102646
+Node: Shell Startup Files1105064
+Node: Additional Configuration Options1106143
+Node: Configuration Philosophy1107884
+Node: Non-Unix Installation1110235
+Node: PC Installation1110693
+Node: PC Binary Installation1112019
+Node: PC Compiling1113867
+Ref: PC Compiling-Footnote-11116888
+Node: PC Testing1116993
+Node: PC Using1118169
+Node: Cygwin1122284
+Node: MSYS1123107
+Node: VMS Installation1123605
+Node: VMS Compilation1124397
+Ref: VMS Compilation-Footnote-11125619
+Node: VMS Dynamic Extensions1125677
+Node: VMS Installation Details1127361
+Node: VMS Running1129613
+Node: VMS GNV1132454
+Node: VMS Old Gawk1133188
+Node: Bugs1133658
+Node: Other Versions1137562
+Node: Installation summary1143775
+Node: Notes1144831
+Node: Compatibility Mode1145696
+Node: Additions1146478
+Node: Accessing The Source1147403
+Node: Adding Code1148839
+Node: New Ports1155011
+Node: Derived Files1159493
+Ref: Derived Files-Footnote-11164968
+Ref: Derived Files-Footnote-21165002
+Ref: Derived Files-Footnote-31165598
+Node: Future Extensions1165712
+Node: Implementation Limitations1166318
+Node: Extension Design1167566
+Node: Old Extension Problems1168720
+Ref: Old Extension Problems-Footnote-11170237
+Node: Extension New Mechanism Goals1170294
+Ref: Extension New Mechanism Goals-Footnote-11173654
+Node: Extension Other Design Decisions1173843
+Node: Extension Future Growth1175951
+Node: Old Extension Mechanism1176787
+Node: Notes summary1178549
+Node: Basic Concepts1179735
+Node: Basic High Level1180416
+Ref: figure-general-flow1180688
+Ref: figure-process-flow1181287
+Ref: Basic High Level-Footnote-11184516
+Node: Basic Data Typing1184701
+Node: Glossary1188029
+Node: Copying1213187
+Node: GNU Free Documentation License1250743
+Node: Index1275879
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index a67689f..3e3976f 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -989,6 +989,7 @@ particular records in a file and perform operations upon
them.
* Unix Installation:: Installing @command{gawk} under
various versions of Unix.
* Quick Installation:: Compiling @command{gawk} under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
* Non-Unix Installation:: Installation on Other Operating
@@ -4400,6 +4401,9 @@ searches first in the current directory and then in
@file{/usr/local/share/awk}.
In practice, this means that you will rarely need to change the
value of @env{AWKPATH}.
address@hidden Startup Files}, for information on functions that help to
+manipulate the @env{AWKPATH} variable.
+
@command{gawk} places the value of the search path that it used into
@code{ENVIRON["AWKPATH"]}. This provides access to the actual search
path value from within an @command{awk} program.
@@ -4431,6 +4435,9 @@ an empty value, @command{gawk} uses a default path; this
is typically @samp{/usr/local/lib/gawk}, although it can vary depending
upon how @command{gawk} was built.
address@hidden Startup Files}, for information on functions that help to
+manipulate the @env{AWKLIBPATH} variable.
+
@command{gawk} places the value of the search path that it used into
@code{ENVIRON["AWKLIBPATH"]}. This provides access to the actual search
path value from within an @command{awk} program.
@@ -37344,6 +37351,12 @@ The source code, manual pages, and infrastructure
files for
the sample extensions included with @command{gawk}.
@xref{Dynamic Extensions}, for more information.
address@hidden extras/*
+Additional non-essential files. Currently, this directory contains some shell
+startup files to be installed in @file{/etc/profile.d} to aid in manipulating
+the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
address@hidden Startup Files}, for more information.
+
@item posix/*
Files needed for building @command{gawk} on POSIX-compliant systems.
@@ -37376,6 +37389,7 @@ to configure @command{gawk} for your system yourself.
@menu
* Quick Installation:: Compiling @command{gawk} under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
@end menu
@@ -37456,6 +37470,44 @@ is likely that you will be asked for your password,
and you will have
to have been set up previously as a user who is allowed to run the
@command{sudo} command.
address@hidden Shell Startup Files
address@hidden Shell Startup Files
+
+The distribution contains shell startup files @file{gawk.sh} and
address@hidden containing functions to aid in manipulating
+the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
+On a Fedora system, these files should be installed in @file{/etc/profile.d};
+on other platforms, the appropriate location may be different.
+
address@hidden @command
+
address@hidden @command{gawkpath_default} shell function
address@hidden gawkpath_default
+Reset the @env{AWKPATH} environment variable to its default value.
+
address@hidden @command{gawkpath_prepend} shell function
address@hidden gawkpath_prepend
+Add the argument to the front of the @env{AWKPATH} environment variable.
+
address@hidden @command{gawkpath_append} shell function
address@hidden gawkpath_append
+Add the argument to the end of the @env{AWKPATH} environment variable.
+
address@hidden @command{gawklibpath_default} shell function
address@hidden gawklibpath_default
+Reset the @env{AWKLIBPATH} environment variable to its default value.
+
address@hidden @command{gawklibpath_prepend} shell function
address@hidden gawklibpath_prepend
+Add the argument to the front of the @env{AWKLIBPATH} environment variable.
+
address@hidden @command{gawklibpath_append} shell function
address@hidden gawklibpath_append
+Add the argument to the end of the @env{AWKLIBPATH} environment variable.
+
address@hidden table
+
+
@node Additional Configuration Options
@appendixsubsec Additional Configuration Options
@cindex @command{gawk}, configuring, options
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index f0d8e0b..a981176 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -984,6 +984,7 @@ particular records in a file and perform operations upon
them.
* Unix Installation:: Installing @command{gawk} under
various versions of Unix.
* Quick Installation:: Compiling @command{gawk} under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
* Non-Unix Installation:: Installation on Other Operating
@@ -4311,6 +4312,9 @@ searches first in the current directory and then in
@file{/usr/local/share/awk}.
In practice, this means that you will rarely need to change the
value of @env{AWKPATH}.
address@hidden Startup Files}, for information on functions that help to
+manipulate the @env{AWKPATH} variable.
+
@command{gawk} places the value of the search path that it used into
@code{ENVIRON["AWKPATH"]}. This provides access to the actual search
path value from within an @command{awk} program.
@@ -4342,6 +4346,9 @@ an empty value, @command{gawk} uses a default path; this
is typically @samp{/usr/local/lib/gawk}, although it can vary depending
upon how @command{gawk} was built.
address@hidden Startup Files}, for information on functions that help to
+manipulate the @env{AWKLIBPATH} variable.
+
@command{gawk} places the value of the search path that it used into
@code{ENVIRON["AWKLIBPATH"]}. This provides access to the actual search
path value from within an @command{awk} program.
@@ -36438,6 +36445,12 @@ The source code, manual pages, and infrastructure
files for
the sample extensions included with @command{gawk}.
@xref{Dynamic Extensions}, for more information.
address@hidden extras/*
+Additional non-essential files. Currently, this directory contains some shell
+startup files to be installed in @file{/etc/profile.d} to aid in manipulating
+the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
address@hidden Startup Files}, for more information.
+
@item posix/*
Files needed for building @command{gawk} on POSIX-compliant systems.
@@ -36470,6 +36483,7 @@ to configure @command{gawk} for your system yourself.
@menu
* Quick Installation:: Compiling @command{gawk} under Unix.
+* Shell Startup Files:: Shell convenience functions.
* Additional Configuration Options:: Other compile-time options.
* Configuration Philosophy:: How it's all supposed to work.
@end menu
@@ -36550,6 +36564,44 @@ is likely that you will be asked for your password,
and you will have
to have been set up previously as a user who is allowed to run the
@command{sudo} command.
address@hidden Shell Startup Files
address@hidden Shell Startup Files
+
+The distribution contains shell startup files @file{gawk.sh} and
address@hidden containing functions to aid in manipulating
+the @env{AWKPATH} and @env{AWKLIBPATH} environment variables.
+On a Fedora system, these files should be installed in @file{/etc/profile.d};
+on other platforms, the appropriate location may be different.
+
address@hidden @command
+
address@hidden @command{gawkpath_default} shell function
address@hidden gawkpath_default
+Reset the @env{AWKPATH} environment variable to its default value.
+
address@hidden @command{gawkpath_prepend} shell function
address@hidden gawkpath_prepend
+Add the argument to the front of the @env{AWKPATH} environment variable.
+
address@hidden @command{gawkpath_append} shell function
address@hidden gawkpath_append
+Add the argument to the end of the @env{AWKPATH} environment variable.
+
address@hidden @command{gawklibpath_default} shell function
address@hidden gawklibpath_default
+Reset the @env{AWKLIBPATH} environment variable to its default value.
+
address@hidden @command{gawklibpath_prepend} shell function
address@hidden gawklibpath_prepend
+Add the argument to the front of the @env{AWKLIBPATH} environment variable.
+
address@hidden @command{gawklibpath_append} shell function
address@hidden gawklibpath_append
+Add the argument to the end of the @env{AWKLIBPATH} environment variable.
+
address@hidden table
+
+
@node Additional Configuration Options
@appendixsubsec Additional Configuration Options
@cindex @command{gawk}, configuring, options
diff --git a/extras/ChangeLog b/extras/ChangeLog
new file mode 100644
index 0000000..5f7d33a
--- /dev/null
+++ b/extras/ChangeLog
@@ -0,0 +1,3 @@
+2014-10-29 Andrew J. Schorr <address@hidden>
+
+ * Makefile.am, gawk.sh, gawk.csh: New files.
diff --git a/extras/Makefile.am b/extras/Makefile.am
new file mode 100644
index 0000000..6a33ae0
--- /dev/null
+++ b/extras/Makefile.am
@@ -0,0 +1,29 @@
+#
+# extras/Makefile.am --- automake input file for gawk
+#
+# Copyright (C) 2014 the Free Software Foundation, Inc.
+#
+# This file is part of GAWK, the GNU implementation of the
+# AWK Programming Language.
+#
+# GAWK is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GAWK is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA
+#
+
+## Process this file with automake to produce Makefile.in.
+
+profiledir = $(sysconfdir)/profile.d
+profile_DATA = gawk.sh gawk.csh
+
+EXTRA_DIST = $(profile_DATA)
diff --git a/extras/Makefile.in b/extras/Makefile.in
new file mode 100644
index 0000000..d447dc7
--- /dev/null
+++ b/extras/Makefile.in
@@ -0,0 +1,515 @@
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
address@hidden@
+
+#
+# extras/Makefile.am --- automake input file for gawk
+#
+# Copyright (C) 2014 the Free Software Foundation, Inc.
+#
+# This file is part of GAWK, the GNU implementation of the
+# AWK Programming Language.
+#
+# GAWK is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GAWK is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA
+#
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = extras
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(address@hidden@)
+am__v_P_ = $(address@hidden@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(address@hidden@)
+am__v_GEN_ = $(address@hidden@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(address@hidden@)
+am__v_at_ = $(address@hidden@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(profiledir)"
+DATA = $(profile_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GAWKLIBEXT = @GAWKLIBEXT@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMPFR = @LIBMPFR@
+LIBOBJS = @LIBOBJS@
+LIBREADLINE = @LIBREADLINE@
+LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBSIGSEGV = @LTLIBSIGSEGV@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POSUB = @POSUB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+acl_shlibext = @acl_shlibext@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgextensiondir = @pkgextensiondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+profiledir = $(sysconfdir)/profile.d
+profile_DATA = gawk.sh gawk.csh
+EXTRA_DIST = $(profile_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu extras/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu extras/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-profileDATA: $(profile_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(profile_DATA)'; test -n "$(profiledir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(profiledir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(profiledir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(profiledir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(profiledir)" || exit $$?; \
+ done
+
+uninstall-profileDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(profile_DATA)'; test -n "$(profiledir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(profiledir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx
{} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(profiledir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s
\
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f
$(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-profileDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-profileDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+ ctags-am distclean distclean-generic distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-profileDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am \
+ uninstall-profileDATA
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/extras/gawk.csh b/extras/gawk.csh
new file mode 100644
index 0000000..583d5bc
--- /dev/null
+++ b/extras/gawk.csh
@@ -0,0 +1,11 @@
+alias gawkpath_default 'unsetenv AWKPATH; setenv AWKPATH `gawk -v x=AWKPATH
"BEGIN {print ENVIRON[x]}"`'
+
+alias gawkpath_prepend 'if (! $?AWKPATH) setenv AWKPATH ""; if ($AWKPATH ==
"") then; unsetenv AWKPATH; setenv AWKPATH `gawk -v x=AWKPATH "BEGIN {print
ENVIRON[x]}"`; endif; setenv AWKPATH "\!*"":$AWKPATH"'
+
+alias gawkpath_append 'if (! $?AWKPATH) setenv AWKPATH ""; if ($AWKPATH == "")
then; unsetenv AWKPATH; setenv AWKPATH `gawk -v x=AWKPATH "BEGIN {print
ENVIRON[x]}"`; endif; setenv AWKPATH "$AWKPATH"":\!*"'
+
+alias gawklibpath_default 'unsetenv AWKLIBPATH; setenv AWKLIBPATH `gawk -v
x=AWKLIBPATH "BEGIN {print ENVIRON[x]}"`'
+
+alias gawklibpath_prepend 'if (! $?AWKLIBPATH) setenv AWKLIBPATH ""; if
($AWKLIBPATH == "") then; unsetenv AWKLIBPATH; setenv AWKLIBPATH `gawk -v
x=AWKLIBPATH "BEGIN {print ENVIRON[x]}"`; endif; setenv AWKLIBPATH
"\!*"":$AWKLIBPATH"'
+
+alias gawklibpath_append 'if (! $?AWKLIBPATH) setenv AWKLIBPATH ""; if
($AWKLIBPATH == "") then; unsetenv AWKLIBPATH; setenv AWKLIBPATH `gawk -v
x=AWKLIBPATH "BEGIN {print ENVIRON[x]}"`; endif; setenv AWKLIBPATH
"$AWKLIBPATH"":\!*"'
diff --git a/extras/gawk.sh b/extras/gawk.sh
new file mode 100644
index 0000000..c35471f
--- /dev/null
+++ b/extras/gawk.sh
@@ -0,0 +1,31 @@
+gawkpath_default () {
+ unset AWKPATH
+ export AWKPATH=`gawk 'BEGIN {print ENVIRON["AWKPATH"]}'`
+}
+
+gawkpath_prepend () {
+ [ -z "$AWKPATH" ] && AWKPATH=`gawk 'BEGIN {print ENVIRON["AWKPATH"]}'`
+ export AWKPATH="$*:$AWKPATH"
+}
+
+gawkpath_append () {
+ [ -z "$AWKPATH" ] && AWKPATH=`gawk 'BEGIN {print ENVIRON["AWKPATH"]}'`
+ export AWKPATH="$AWKPATH:$*"
+}
+
+gawklibpath_default () {
+ unset AWKLIBPATH
+ export AWKLIBPATH=`gawk 'BEGIN {print ENVIRON["AWKLIBPATH"]}'`
+}
+
+gawklibpath_prepend () {
+ [ -z "$AWKLIBPATH" ] && \
+ AWKLIBPATH=`gawk 'BEGIN {print ENVIRON["AWKLIBPATH"]}'`
+ export AWKLIBPATH="$*:$AWKLIBPATH"
+}
+
+gawklibpath_append () {
+ [ -z "$AWKLIBPATH" ] && \
+ AWKLIBPATH=`gawk 'BEGIN {print ENVIRON["AWKLIBPATH"]}'`
+ export AWKLIBPATH="$AWKLIBPATH:$*"
+}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 +
Makefile.am | 1 +
Makefile.in | 1 +
configure | 3 +-
configure.ac | 1 +
doc/gawk.info | 1170 +++++++++++++++++++-----------------
doc/gawk.texi | 52 ++
doc/gawktexi.in | 52 ++
extras/ChangeLog | 3 +
bisonfix.awk => extras/Makefile.am | 40 +-
{awklib => extras}/Makefile.in | 330 +++--------
extras/gawk.csh | 11 +
extras/gawk.sh | 31 +
13 files changed, 870 insertions(+), 831 deletions(-)
create mode 100644 extras/ChangeLog
copy bisonfix.awk => extras/Makefile.am (58%)
copy {awklib => extras}/Makefile.in (56%)
create mode 100644 extras/gawk.csh
create mode 100644 extras/gawk.sh
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-901-g22e6941,
Andrew J. Schorr <=