gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, constants, updated. gawk-4.1.0-1271-gdcc


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, constants, updated. gawk-4.1.0-1271-gdccd6e1
Date: Sun, 05 Apr 2015 08:06:55 +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, constants has been updated
       via  dccd6e10b8f4ab0bb9b5544bdf86fe301fa2d8ee (commit)
       via  dbf9d5a4fc4b6d6340912395f020019576ed37f6 (commit)
       via  e7ee504434e315852ebd449e20d72929de63cfe6 (commit)
       via  f82aa0619d803ebe0dc1710edf1a3e108a4210c8 (commit)
       via  ddc290584b39bab2c1edcec935a31ea12d343246 (commit)
       via  902b25a40d5cc612dd7a0becb27a5a48afa49716 (commit)
       via  9730efeabb2116fdf7e93b4553825ba147f5f523 (commit)
       via  c3d61778cf747143535320affee0612c4c6d4eb8 (commit)
       via  0ed7e09458bdb6185586a8a0bec747b2f800ca16 (commit)
       via  67d5cc4c4034f16a2390e30d8e988713e5aedb68 (commit)
       via  a47af3141cf4a6b43e20db872e2b45ff9abb071f (commit)
       via  2bdaa6b89e00984d79305ba1066cf98c5674b556 (commit)
       via  2ee1a928483f4fe4f594aebc5c1f8da1253c28b9 (commit)
       via  7d3d7d27391db40c0561ea47e6b8a5a1ae24c6fb (commit)
       via  9d43b510f74f63806279ce40f65245ea7e5b0d53 (commit)
       via  bc1c92f4a9365f799c9c7a78b41a4eb1c40326b7 (commit)
       via  7377dd1648a06b68f45c55fd54e07e6bcf29e66c (commit)
       via  90e1d42a99178608ec22216f7f35dadcad5a8b3a (commit)
       via  6522e5b623e083565229dc742336219a0dda1344 (commit)
       via  0bb831721d3feeac20977e5a14be6b5bbf13e52a (commit)
       via  080694ae82635e76992158591b39a06af7363da0 (commit)
       via  75459887958f5246bc5126261ec92c8f4d366a47 (commit)
       via  02856054ac25477e5913bdee1632d8cb11a184cd (commit)
       via  56e848ab0b55cc98f206ab7e187ba8269f2e8e4c (commit)
       via  981e106b111672aac520fbb397ee82c64f3c4f2a (commit)
       via  a31a42403b841ef05ca9143a431c8b6f1021a958 (commit)
       via  59514868fde1190f719e78d4c4b91bd14a321541 (commit)
       via  480aca31c7772dafeb1b97cd7a768bca2f49d3c7 (commit)
       via  925f9363c4b0a5bb9375298afcdcf404efb32587 (commit)
       via  e0c1194c4348e7adf99802461d45e3dd1bd192ff (commit)
       via  2473b938036dfdd32ff47833ea032a80a6fa5659 (commit)
       via  a3eb4b0a735b4fbd60ed66154befd31c56b601db (commit)
       via  6322f5a157959473624345252df752d09e711e88 (commit)
       via  1edb5cb33d55a4f866c799d41680088b927f7846 (commit)
       via  2d3f4ffebcb451da84ceb8a4be58bbb23946ee6e (commit)
       via  f8fecb69346cbcd774a73a49322aeb8ddea73e44 (commit)
       via  41483acb1969b24e336b11aaf3bfdc1dbdfe33a8 (commit)
       via  55aefdc29dde7eb585b7a553876313ecceec1d68 (commit)
       via  444afe9e4a9c70f0833f6a0a912651dd0d0e57aa (commit)
       via  f38a8f801496ea91cef7a8507e2919f6586d0694 (commit)
       via  9121c3059288f36e004108e02ed4d826b84604e7 (commit)
       via  cb5838c3c261f9a775fae45adfa70e1514e8bfe0 (commit)
       via  a97507159ee06523c9dd6ec809199a0774976498 (commit)
       via  4e952aea89bbfaecd12614f1249c830aff36c551 (commit)
       via  66c827a4607fa11c5c3d26eb8e3a4d63c2b05bef (commit)
       via  e81b32fd38fb79595e7773670818f78e9a3e2df2 (commit)
       via  4323eba6170c7aee1661d834a9b7c177a10b7764 (commit)
       via  0d867aa42ea8c3487678dcceea484c10c88914cb (commit)
       via  a29f6a213fb18c199a4b1358327dc6d21f59eb64 (commit)
       via  903e540568e70f71e0a2911cb5998ac2d82ebbb4 (commit)
       via  e36300be4deb7bbdeff17c8e896ac2f727e1477e (commit)
       via  b97472e2be3aa040e59ac9ca4e54a7639be067ff (commit)
       via  e5f5db59aacd63af3369cb113c1c7b097c2f4be5 (commit)
       via  99c220c921ef24bfea7a1fe425753caf20db7c30 (commit)
       via  a7478f42519382507939db409563753b76cfe140 (commit)
       via  1fc7a1fe6aba3c1ba98c44f8df1926c10ff79c87 (commit)
       via  f9c7ec30542ef2550761f49cd25503e0775ef271 (commit)
       via  2e5a819d44fdc20235c66d95e96c4618d9008f6d (commit)
       via  e7bf93d184c1aaf14e5f8e5cf8a517582eb49f23 (commit)
       via  d0299eb46c0f4551d355591a58e88715fee139e7 (commit)
       via  e3f20c041c078eacf648af94d9f012e4906359bb (commit)
       via  c483c50817e8accd0d5052d41d00869330193175 (commit)
       via  6a9d48365f5044b64a6c270760808d17d475ca4b (commit)
       via  b4d06df669e1eaf6c98cacb5c5f299bb5324e804 (commit)
       via  94e3f93395de538d73826e128281a3ea9591a5a9 (commit)
       via  c4300d657ba49db0b6d0f0884f41a29622edc58b (commit)
       via  69b59a73db108ede65e4dfce90fcfb10723e1feb (commit)
       via  faf3affc19f760a330153b22a8e56fc9a13a0cb6 (commit)
       via  2376c18714fe197fbf56a19f8271e5f256ec7caf (commit)
       via  88b8c03a11e229b29cd985cabe51cb2ed3c24b55 (commit)
       via  633bbb9f481cd72edb7c419941a366d0efbf88b6 (commit)
       via  fe3ad49e37792999b36f1e590974a19a92b7f388 (commit)
       via  6b5925f4c303d43228ffe5e37b84d9017d2ff5e3 (commit)
       via  ad5c8d1f818c96579fa9e7f3c691739e9761e1e7 (commit)
       via  d8bd9f5261761dd4ffca331d9c6055c48a0a332b (commit)
       via  9ee8aeb59ad3b3873d52f3c9a2ab80b28c4c2c20 (commit)
       via  f0391b8a4db649853ecc47a10b09d7c4b04330cf (commit)
       via  6ace1b5a655517a41be7d1633ec7592ad940c0e6 (commit)
       via  a0d911d5920362982fb6a5c1fa6047c69dc26668 (commit)
       via  c5d29ade6407adcec3eeef9e61a1474501acc0d3 (commit)
       via  1f647aac9fa3e412c63a966535de8ee4fec855f2 (commit)
       via  27e1e910147465ad240a3e4393bbd4312937fed5 (commit)
       via  24a57029937207c4fa2ff4acb5a4e1ae1dc9e54b (commit)
       via  e3d803ece7400aeb61e9577346e3de93ae2afccb (commit)
       via  6959e2ab216aeb1d5d8f07ce73cd8b9894b83006 (commit)
      from  1d8ef985bc59f973895b54057535281b69e557b7 (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=dccd6e10b8f4ab0bb9b5544bdf86fe301fa2d8ee

commit dccd6e10b8f4ab0bb9b5544bdf86fe301fa2d8ee
Merge: 1d8ef98 dbf9d5a
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 5 11:06:43 2015 +0300

    Merge branch 'master' into constants

diff --cc doc/gawk.info
index 90ae584,685df45..414ec46
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@@ -24024,6 -24086,6 +24086,16 @@@ termed a "symbol table".  The function
       an array.  This routine cannot be used to update any of the
       predefined variables (such as `ARGC' or `NF').
  
++`awk_bool_t sym_constant(const char *name, awk_value_t *value);'
++     Create a variable named by the string `name', which is a regular C
++     string, that has the constant value as given by `value'.
++     `awk'-level code cannot change the value of this variable.  The
++     extension may change the value of `name''s variable with
++     subsequent calls to this routine, and may also convert a variable
++     created by `sym_update()' into a constant.  However, once a
++     variable becomes a constant, it cannot later be reverted into a
++     mutable variable.
++
     An extension can look up the value of `gawk''s special variables.
  However, with the exception of the `PROCINFO' array, an extension
  cannot change any of those variables.
@@@ -34738,561 -34897,563 +34907,563 @@@ Inde
  
  Tag Table:
  Node: Top1204
- Node: Foreword342291
- Node: Foreword446735
- Node: Preface48266
- Ref: Preface-Footnote-151137
- Ref: Preface-Footnote-251244
- Ref: Preface-Footnote-351477
- Node: History51619
- Node: Names53970
- Ref: Names-Footnote-155064
- Node: This Manual55210
- Ref: This Manual-Footnote-161710
- Node: Conventions61810
- Node: Manual History64147
- Ref: Manual History-Footnote-167140
- Ref: Manual History-Footnote-267181
- Node: How To Contribute67255
- Node: Acknowledgments68384
- Node: Getting Started73250
- Node: Running gawk75689
- Node: One-shot76879
- Node: Read Terminal78143
- Node: Long80174
- Node: Executable Scripts81687
- Ref: Executable Scripts-Footnote-184476
- Node: Comments84579
- Node: Quoting87061
- Node: DOS Quoting92579
- Node: Sample Data Files93254
- Node: Very Simple95849
- Node: Two Rules100748
- Node: More Complex102634
- Node: Statements/Lines105496
- Ref: Statements/Lines-Footnote-1109951
- Node: Other Features110216
- Node: When111152
- Ref: When-Footnote-1112906
- Node: Intro Summary112971
- Node: Invoking Gawk113855
- Node: Command Line115369
- Node: Options116167
- Ref: Options-Footnote-1131962
- Ref: Options-Footnote-2132191
- Node: Other Arguments132216
- Node: Naming Standard Input135164
- Node: Environment Variables136257
- Node: AWKPATH Variable136815
- Ref: AWKPATH Variable-Footnote-1140222
- Ref: AWKPATH Variable-Footnote-2140267
- Node: AWKLIBPATH Variable140527
- Node: Other Environment Variables141783
- Node: Exit Status145414
- Node: Include Files146090
- Node: Loading Shared Libraries149679
- Node: Obsolete151106
- Node: Undocumented151798
- Node: Invoking Summary152065
- Node: Regexp153728
- Node: Regexp Usage155182
- Node: Escape Sequences157219
- Node: Regexp Operators163448
- Ref: Regexp Operators-Footnote-1170858
- Ref: Regexp Operators-Footnote-2171005
- Node: Bracket Expressions171103
- Ref: table-char-classes173118
- Node: Leftmost Longest176060
- Node: Computed Regexps177362
- Node: GNU Regexp Operators180791
- Node: Case-sensitivity184463
- Ref: Case-sensitivity-Footnote-1187348
- Ref: Case-sensitivity-Footnote-2187583
- Node: Regexp Summary187691
- Node: Reading Files189158
- Node: Records191251
- Node: awk split records191984
- Node: gawk split records196913
- Ref: gawk split records-Footnote-1201452
- Node: Fields201489
- Ref: Fields-Footnote-1204267
- Node: Nonconstant Fields204353
- Ref: Nonconstant Fields-Footnote-1206591
- Node: Changing Fields206794
- Node: Field Separators212725
- Node: Default Field Splitting215429
- Node: Regexp Field Splitting216546
- Node: Single Character Fields219896
- Node: Command Line Field Separator220955
- Node: Full Line Fields224172
- Ref: Full Line Fields-Footnote-1225693
- Ref: Full Line Fields-Footnote-2225739
- Node: Field Splitting Summary225840
- Node: Constant Size227914
- Node: Splitting By Content232493
- Ref: Splitting By Content-Footnote-1236458
- Node: Multiple Line236621
- Ref: Multiple Line-Footnote-1242502
- Node: Getline242681
- Node: Plain Getline244888
- Node: Getline/Variable247528
- Node: Getline/File248677
- Node: Getline/Variable/File250062
- Ref: Getline/Variable/File-Footnote-1251665
- Node: Getline/Pipe251752
- Node: Getline/Variable/Pipe254430
- Node: Getline/Coprocess255561
- Node: Getline/Variable/Coprocess256825
- Node: Getline Notes257564
- Node: Getline Summary260358
- Ref: table-getline-variants260770
- Node: Read Timeout261599
- Ref: Read Timeout-Footnote-1265436
- Node: Command-line directories265494
- Node: Input Summary266399
- Node: Input Exercises269784
- Node: Printing270512
- Node: Print272347
- Node: Print Examples273804
- Node: Output Separators276583
- Node: OFMT278601
- Node: Printf279956
- Node: Basic Printf280741
- Node: Control Letters282313
- Node: Format Modifiers286298
- Node: Printf Examples292304
- Node: Redirection294790
- Node: Special FD301628
- Ref: Special FD-Footnote-1304794
- Node: Special Files304868
- Node: Other Inherited Files305485
- Node: Special Network306485
- Node: Special Caveats307347
- Node: Close Files And Pipes308296
- Ref: Close Files And Pipes-Footnote-1315481
- Ref: Close Files And Pipes-Footnote-2315629
- Node: Nonfatal315779
- Node: Output Summary318104
- Node: Output Exercises319325
- Node: Expressions320005
- Node: Values321194
- Node: Constants321871
- Node: Scalar Constants322562
- Ref: Scalar Constants-Footnote-1323424
- Node: Nondecimal-numbers323674
- Node: Regexp Constants326684
- Node: Using Constant Regexps327210
- Node: Variables330373
- Node: Using Variables331030
- Node: Assignment Options332941
- Node: Conversion334816
- Node: Strings And Numbers335340
- Ref: Strings And Numbers-Footnote-1338405
- Node: Locale influences conversions338514
- Ref: table-locale-affects341260
- Node: All Operators341852
- Node: Arithmetic Ops342481
- Node: Concatenation344986
- Ref: Concatenation-Footnote-1347805
- Node: Assignment Ops347912
- Ref: table-assign-ops352891
- Node: Increment Ops354201
- Node: Truth Values and Conditions357632
- Node: Truth Values358715
- Node: Typing and Comparison359764
- Node: Variable Typing360580
- Node: Comparison Operators364247
- Ref: table-relational-ops364657
- Node: POSIX String Comparison368152
- Ref: POSIX String Comparison-Footnote-1369224
- Node: Boolean Ops369363
- Ref: Boolean Ops-Footnote-1373841
- Node: Conditional Exp373932
- Node: Function Calls375670
- Node: Precedence379550
- Node: Locales383210
- Node: Expressions Summary384842
- Node: Patterns and Actions387413
- Node: Pattern Overview388533
- Node: Regexp Patterns390212
- Node: Expression Patterns390755
- Node: Ranges394535
- Node: BEGIN/END397642
- Node: Using BEGIN/END398403
- Ref: Using BEGIN/END-Footnote-1401139
- Node: I/O And BEGIN/END401245
- Node: BEGINFILE/ENDFILE403560
- Node: Empty406457
- Node: Using Shell Variables406774
- Node: Action Overview409047
- Node: Statements411373
- Node: If Statement413221
- Node: While Statement414716
- Node: Do Statement416744
- Node: For Statement417892
- Node: Switch Statement421050
- Node: Break Statement423432
- Node: Continue Statement425525
- Node: Next Statement427352
- Node: Nextfile Statement429733
- Node: Exit Statement432361
- Node: Built-in Variables434772
- Node: User-modified435905
- Ref: User-modified-Footnote-1443539
- Node: Auto-set443601
- Ref: Auto-set-Footnote-1457310
- Ref: Auto-set-Footnote-2457515
- Node: ARGC and ARGV457571
- Node: Pattern Action Summary461789
- Node: Arrays464222
- Node: Array Basics465551
- Node: Array Intro466395
- Ref: figure-array-elements468332
- Ref: Array Intro-Footnote-1470955
- Node: Reference to Elements471083
- Node: Assigning Elements473545
- Node: Array Example474036
- Node: Scanning an Array475795
- Node: Controlling Scanning478818
- Ref: Controlling Scanning-Footnote-1484212
- Node: Numeric Array Subscripts484528
- Node: Uninitialized Subscripts486713
- Node: Delete488330
- Ref: Delete-Footnote-1491079
- Node: Multidimensional491136
- Node: Multiscanning494233
- Node: Arrays of Arrays495822
- Node: Arrays Summary500576
- Node: Functions502667
- Node: Built-in503706
- Node: Calling Built-in504784
- Node: Numeric Functions506779
- Ref: Numeric Functions-Footnote-1511597
- Ref: Numeric Functions-Footnote-2511954
- Ref: Numeric Functions-Footnote-3512002
- Node: String Functions512274
- Ref: String Functions-Footnote-1535775
- Ref: String Functions-Footnote-2535904
- Ref: String Functions-Footnote-3536152
- Node: Gory Details536239
- Ref: table-sub-escapes538020
- Ref: table-sub-proposed539535
- Ref: table-posix-sub540897
- Ref: table-gensub-escapes542434
- Ref: Gory Details-Footnote-1543267
- Node: I/O Functions543418
- Ref: I/O Functions-Footnote-1550654
- Node: Time Functions550801
- Ref: Time Functions-Footnote-1561310
- Ref: Time Functions-Footnote-2561378
- Ref: Time Functions-Footnote-3561536
- Ref: Time Functions-Footnote-4561647
- Ref: Time Functions-Footnote-5561759
- Ref: Time Functions-Footnote-6561986
- Node: Bitwise Functions562252
- Ref: table-bitwise-ops562814
- Ref: Bitwise Functions-Footnote-1567142
- Node: Type Functions567314
- Node: I18N Functions568466
- Node: User-defined570113
- Node: Definition Syntax570918
- Ref: Definition Syntax-Footnote-1576577
- Node: Function Example576648
- Ref: Function Example-Footnote-1579569
- Node: Function Caveats579591
- Node: Calling A Function580109
- Node: Variable Scope581067
- Node: Pass By Value/Reference584060
- Node: Return Statement587557
- Node: Dynamic Typing590536
- Node: Indirect Calls591465
- Ref: Indirect Calls-Footnote-1601330
- Node: Functions Summary601458
- Node: Library Functions604160
- Ref: Library Functions-Footnote-1607768
- Ref: Library Functions-Footnote-2607911
- Node: Library Names608082
- Ref: Library Names-Footnote-1611540
- Ref: Library Names-Footnote-2611763
- Node: General Functions611849
- Node: Strtonum Function612952
- Node: Assert Function615974
- Node: Round Function619298
- Node: Cliff Random Function620839
- Node: Ordinal Functions621855
- Ref: Ordinal Functions-Footnote-1624918
- Ref: Ordinal Functions-Footnote-2625170
- Node: Join Function625381
- Ref: Join Function-Footnote-1627151
- Node: Getlocaltime Function627351
- Node: Readfile Function631095
- Node: Shell Quoting633067
- Node: Data File Management634468
- Node: Filetrans Function635100
- Node: Rewind Function639196
- Node: File Checking640582
- Ref: File Checking-Footnote-1641915
- Node: Empty Files642116
- Node: Ignoring Assigns644095
- Node: Getopt Function645645
- Ref: Getopt Function-Footnote-1657109
- Node: Passwd Functions657309
- Ref: Passwd Functions-Footnote-1666149
- Node: Group Functions666237
- Ref: Group Functions-Footnote-1674134
- Node: Walking Arrays674339
- Node: Library Functions Summary677345
- Node: Library Exercises678747
- Node: Sample Programs680027
- Node: Running Examples680797
- Node: Clones681525
- Node: Cut Program682749
- Node: Egrep Program692469
- Ref: Egrep Program-Footnote-1699972
- Node: Id Program700082
- Node: Split Program703758
- Ref: Split Program-Footnote-1707212
- Node: Tee Program707340
- Node: Uniq Program710129
- Node: Wc Program717548
- Ref: Wc Program-Footnote-1721798
- Node: Miscellaneous Programs721892
- Node: Dupword Program723105
- Node: Alarm Program725136
- Node: Translate Program729941
- Ref: Translate Program-Footnote-1734504
- Node: Labels Program734774
- Ref: Labels Program-Footnote-1738125
- Node: Word Sorting738209
- Node: History Sorting742279
- Node: Extract Program744114
- Node: Simple Sed751638
- Node: Igawk Program754708
- Ref: Igawk Program-Footnote-1769034
- Ref: Igawk Program-Footnote-2769235
- Ref: Igawk Program-Footnote-3769357
- Node: Anagram Program769472
- Node: Signature Program772533
- Node: Programs Summary773780
- Node: Programs Exercises775001
- Ref: Programs Exercises-Footnote-1779132
- Node: Advanced Features779223
- Node: Nondecimal Data781205
- Node: Array Sorting782795
- Node: Controlling Array Traversal783495
- Ref: Controlling Array Traversal-Footnote-1791861
- Node: Array Sorting Functions791979
- Ref: Array Sorting Functions-Footnote-1795865
- Node: Two-way I/O796061
- Ref: Two-way I/O-Footnote-1801006
- Ref: Two-way I/O-Footnote-2801192
- Node: TCP/IP Networking801274
- Node: Profiling804146
- Node: Advanced Features Summary812417
- Node: Internationalization814350
- Node: I18N and L10N815830
- Node: Explaining gettext816516
- Ref: Explaining gettext-Footnote-1821541
- Ref: Explaining gettext-Footnote-2821725
- Node: Programmer i18n821890
- Ref: Programmer i18n-Footnote-1826766
- Node: Translator i18n826815
- Node: String Extraction827609
- Ref: String Extraction-Footnote-1828740
- Node: Printf Ordering828826
- Ref: Printf Ordering-Footnote-1831612
- Node: I18N Portability831676
- Ref: I18N Portability-Footnote-1834132
- Node: I18N Example834195
- Ref: I18N Example-Footnote-1836998
- Node: Gawk I18N837070
- Node: I18N Summary837714
- Node: Debugger839054
- Node: Debugging840076
- Node: Debugging Concepts840517
- Node: Debugging Terms842327
- Node: Awk Debugging844899
- Node: Sample Debugging Session845805
- Node: Debugger Invocation846339
- Node: Finding The Bug847724
- Node: List of Debugger Commands854203
- Node: Breakpoint Control855535
- Node: Debugger Execution Control859212
- Node: Viewing And Changing Data862571
- Node: Execution Stack865947
- Node: Debugger Info867582
- Node: Miscellaneous Debugger Commands871627
- Node: Readline Support876628
- Node: Limitations877522
- Node: Debugging Summary879637
- Node: Arbitrary Precision Arithmetic880811
- Node: Computer Arithmetic882227
- Ref: table-numeric-ranges885804
- Ref: Computer Arithmetic-Footnote-1886328
- Node: Math Definitions886385
- Ref: table-ieee-formats889680
- Ref: Math Definitions-Footnote-1890284
- Node: MPFR features890389
- Node: FP Math Caution892060
- Ref: FP Math Caution-Footnote-1893110
- Node: Inexactness of computations893479
- Node: Inexact representation894438
- Node: Comparing FP Values895796
- Node: Errors accumulate896878
- Node: Getting Accuracy898310
- Node: Try To Round901014
- Node: Setting precision901913
- Ref: table-predefined-precision-strings902597
- Node: Setting the rounding mode904426
- Ref: table-gawk-rounding-modes904790
- Ref: Setting the rounding mode-Footnote-1908242
- Node: Arbitrary Precision Integers908421
- Ref: Arbitrary Precision Integers-Footnote-1913319
- Node: POSIX Floating Point Problems913468
- Ref: POSIX Floating Point Problems-Footnote-1917347
- Node: Floating point summary917385
- Node: Dynamic Extensions919572
- Node: Extension Intro921124
- Node: Plugin License922389
- Node: Extension Mechanism Outline923186
- Ref: figure-load-extension923614
- Ref: figure-register-new-function925094
- Ref: figure-call-new-function926098
- Node: Extension API Description928085
- Node: Extension API Functions Introduction929535
- Node: General Data Types934356
- Ref: General Data Types-Footnote-1940256
- Node: Memory Allocation Functions940555
- Ref: Memory Allocation Functions-Footnote-1943394
- Node: Constructor Functions943493
- Node: Registration Functions945232
- Node: Extension Functions945917
- Node: Exit Callback Functions948214
- Node: Extension Version String949462
- Node: Input Parsers950125
- Node: Output Wrappers960000
- Node: Two-way processors964513
- Node: Printing Messages966776
- Ref: Printing Messages-Footnote-1967852
- Node: Updating `ERRNO'968004
- Node: Requesting Values968744
- Ref: table-value-types-returned969471
- Node: Accessing Parameters970428
- Node: Symbol Table Access971662
- Node: Symbol table by name972176
- Node: Symbol table by cookie974196
- Ref: Symbol table by cookie-Footnote-1978341
- Node: Cached values978404
- Ref: Cached values-Footnote-1981900
- Node: Array Manipulation981991
- Ref: Array Manipulation-Footnote-1983089
- Node: Array Data Types983126
- Ref: Array Data Types-Footnote-1985781
- Node: Array Functions985873
- Node: Flattening Arrays989732
- Node: Creating Arrays996634
- Node: Extension API Variables1001405
- Node: Extension Versioning1002041
- Node: Extension API Informational Variables1003932
- Node: Extension API Boilerplate1004997
- Node: Finding Extensions1008806
- Node: Extension Example1009366
- Node: Internal File Description1010138
- Node: Internal File Ops1014205
- Ref: Internal File Ops-Footnote-11025956
- Node: Using Internal File Ops1026096
- Ref: Using Internal File Ops-Footnote-11028479
- Node: Extension Samples1028752
- Node: Extension Sample File Functions1030280
- Node: Extension Sample Fnmatch1037961
- Node: Extension Sample Fork1039449
- Node: Extension Sample Inplace1040664
- Node: Extension Sample Ord1042340
- Node: Extension Sample Readdir1043176
- Ref: table-readdir-file-types1044053
- Node: Extension Sample Revout1044864
- Node: Extension Sample Rev2way1045453
- Node: Extension Sample Read write array1046193
- Node: Extension Sample Readfile1048133
- Node: Extension Sample Time1049228
- Node: Extension Sample API Tests1050576
- Node: gawkextlib1051067
- Node: Extension summary1053745
- Node: Extension Exercises1057434
- Node: Language History1058156
- Node: V7/SVR3.11059812
- Node: SVR41061965
- Node: POSIX1063399
- Node: BTL1064780
- Node: POSIX/GNU1065511
- Node: Feature History1071347
- Node: Common Extensions1085141
- Node: Ranges and Locales1086513
- Ref: Ranges and Locales-Footnote-11091132
- Ref: Ranges and Locales-Footnote-21091159
- Ref: Ranges and Locales-Footnote-31091394
- Node: Contributors1091615
- Node: History summary1097155
- Node: Installation1098534
- Node: Gawk Distribution1099480
- Node: Getting1099964
- Node: Extracting1100787
- Node: Distribution contents1102424
- Node: Unix Installation1108526
- Node: Quick Installation1109209
- Node: Shell Startup Files1111620
- Node: Additional Configuration Options1112699
- Node: Configuration Philosophy1114503
- Node: Non-Unix Installation1116872
- Node: PC Installation1117330
- Node: PC Binary Installation1118650
- Node: PC Compiling1120498
- Ref: PC Compiling-Footnote-11123519
- Node: PC Testing1123628
- Node: PC Using1124804
- Node: Cygwin1128919
- Node: MSYS1129689
- Node: VMS Installation1130190
- Node: VMS Compilation1130982
- Ref: VMS Compilation-Footnote-11132211
- Node: VMS Dynamic Extensions1132269
- Node: VMS Installation Details1133953
- Node: VMS Running1136204
- Node: VMS GNV1139044
- Node: VMS Old Gawk1139779
- Node: Bugs1140249
- Node: Other Versions1144138
- Node: Installation summary1150572
- Node: Notes1151631
- Node: Compatibility Mode1152496
- Node: Additions1153278
- Node: Accessing The Source1154203
- Node: Adding Code1155638
- Node: New Ports1161795
- Node: Derived Files1166277
- Ref: Derived Files-Footnote-11171752
- Ref: Derived Files-Footnote-21171786
- Ref: Derived Files-Footnote-31172382
- Node: Future Extensions1172496
- Node: Implementation Limitations1173102
- Node: Extension Design1174350
- Node: Old Extension Problems1175504
- Ref: Old Extension Problems-Footnote-11177021
- Node: Extension New Mechanism Goals1177078
- Ref: Extension New Mechanism Goals-Footnote-11180438
- Node: Extension Other Design Decisions1180627
- Node: Extension Future Growth1182735
- Node: Old Extension Mechanism1183571
- Node: Notes summary1185333
- Node: Basic Concepts1186519
- Node: Basic High Level1187200
- Ref: figure-general-flow1187472
- Ref: figure-process-flow1188071
- Ref: Basic High Level-Footnote-11191300
- Node: Basic Data Typing1191485
- Node: Glossary1194813
- Node: Copying1226742
- Node: GNU Free Documentation License1264298
- Node: Index1289434
+ Node: Foreword342451
+ Node: Foreword446895
+ Node: Preface48426
+ Ref: Preface-Footnote-151297
+ Ref: Preface-Footnote-251404
+ Ref: Preface-Footnote-351637
+ Node: History51779
+ Node: Names54130
+ Ref: Names-Footnote-155224
+ Node: This Manual55370
+ Ref: This Manual-Footnote-161870
+ Node: Conventions61970
+ Node: Manual History64307
+ Ref: Manual History-Footnote-167300
+ Ref: Manual History-Footnote-267341
+ Node: How To Contribute67415
+ Node: Acknowledgments68544
+ Node: Getting Started73410
+ Node: Running gawk75849
+ Node: One-shot77039
+ Node: Read Terminal78303
+ Node: Long80334
+ Node: Executable Scripts81847
+ Ref: Executable Scripts-Footnote-184636
+ Node: Comments84739
+ Node: Quoting87221
+ Node: DOS Quoting92739
+ Node: Sample Data Files93414
+ Node: Very Simple96009
+ Node: Two Rules100908
+ Node: More Complex102794
+ Node: Statements/Lines105656
+ Ref: Statements/Lines-Footnote-1110111
+ Node: Other Features110376
+ Node: When111312
+ Ref: When-Footnote-1113066
+ Node: Intro Summary113131
+ Node: Invoking Gawk114015
+ Node: Command Line115529
+ Node: Options116327
+ Ref: Options-Footnote-1132122
+ Ref: Options-Footnote-2132351
+ Node: Other Arguments132376
+ Node: Naming Standard Input135324
+ Node: Environment Variables136417
+ Node: AWKPATH Variable136975
+ Ref: AWKPATH Variable-Footnote-1140382
+ Ref: AWKPATH Variable-Footnote-2140427
+ Node: AWKLIBPATH Variable140687
+ Node: Other Environment Variables141943
+ Node: Exit Status145574
+ Node: Include Files146250
+ Node: Loading Shared Libraries149839
+ Node: Obsolete151266
+ Node: Undocumented151958
+ Node: Invoking Summary152225
+ Node: Regexp153888
+ Node: Regexp Usage155342
+ Node: Escape Sequences157379
+ Node: Regexp Operators163608
+ Ref: Regexp Operators-Footnote-1171018
+ Ref: Regexp Operators-Footnote-2171165
+ Node: Bracket Expressions171263
+ Ref: table-char-classes173278
+ Node: Leftmost Longest176220
+ Node: Computed Regexps177522
+ Node: GNU Regexp Operators180951
+ Node: Case-sensitivity184623
+ Ref: Case-sensitivity-Footnote-1187508
+ Ref: Case-sensitivity-Footnote-2187743
+ Node: Regexp Summary187851
+ Node: Reading Files189318
+ Node: Records191480
+ Node: awk split records192213
+ Node: gawk split records197142
+ Ref: gawk split records-Footnote-1201681
+ Node: Fields201718
+ Ref: Fields-Footnote-1204496
+ Node: Nonconstant Fields204582
+ Ref: Nonconstant Fields-Footnote-1206820
+ Node: Changing Fields207023
+ Node: Field Separators212954
+ Node: Default Field Splitting215658
+ Node: Regexp Field Splitting216775
+ Node: Single Character Fields220125
+ Node: Command Line Field Separator221184
+ Node: Full Line Fields224401
+ Ref: Full Line Fields-Footnote-1225922
+ Ref: Full Line Fields-Footnote-2225968
+ Node: Field Splitting Summary226069
+ Node: Constant Size228143
+ Node: Splitting By Content232722
+ Ref: Splitting By Content-Footnote-1236687
+ Node: Multiple Line236850
+ Ref: Multiple Line-Footnote-1242731
+ Node: Getline242910
+ Node: Plain Getline245380
+ Node: Getline/Variable248020
+ Node: Getline/File249169
+ Node: Getline/Variable/File250554
+ Ref: Getline/Variable/File-Footnote-1252157
+ Node: Getline/Pipe252244
+ Node: Getline/Variable/Pipe254922
+ Node: Getline/Coprocess256053
+ Node: Getline/Variable/Coprocess257317
+ Node: Getline Notes258056
+ Node: Getline Summary260850
+ Ref: table-getline-variants261262
+ Node: Read Timeout262091
+ Ref: Read Timeout-Footnote-1265994
+ Node: Retrying Input266052
+ Node: Command-line directories267251
+ Node: Input Summary268158
+ Node: Input Exercises271543
+ Node: Printing272271
+ Node: Print274106
+ Node: Print Examples275563
+ Node: Output Separators278342
+ Node: OFMT280360
+ Node: Printf281715
+ Node: Basic Printf282500
+ Node: Control Letters284072
+ Node: Format Modifiers288057
+ Node: Printf Examples294063
+ Node: Redirection296549
+ Node: Special FD303387
+ Ref: Special FD-Footnote-1306553
+ Node: Special Files306627
+ Node: Other Inherited Files307244
+ Node: Special Network308244
+ Node: Special Caveats309106
+ Node: Close Files And Pipes310055
+ Ref: Close Files And Pipes-Footnote-1317240
+ Ref: Close Files And Pipes-Footnote-2317388
+ Node: Nonfatal317538
+ Node: Output Summary319863
+ Node: Output Exercises321084
+ Node: Expressions321764
+ Node: Values322953
+ Node: Constants323630
+ Node: Scalar Constants324321
+ Ref: Scalar Constants-Footnote-1325183
+ Node: Nondecimal-numbers325433
+ Node: Regexp Constants328443
+ Node: Using Constant Regexps328969
+ Node: Variables332132
+ Node: Using Variables332789
+ Node: Assignment Options334700
+ Node: Conversion336575
+ Node: Strings And Numbers337099
+ Ref: Strings And Numbers-Footnote-1340164
+ Node: Locale influences conversions340273
+ Ref: table-locale-affects343019
+ Node: All Operators343611
+ Node: Arithmetic Ops344240
+ Node: Concatenation346745
+ Ref: Concatenation-Footnote-1349564
+ Node: Assignment Ops349671
+ Ref: table-assign-ops354650
+ Node: Increment Ops355960
+ Node: Truth Values and Conditions359391
+ Node: Truth Values360474
+ Node: Typing and Comparison361523
+ Node: Variable Typing362339
+ Node: Comparison Operators366006
+ Ref: table-relational-ops366416
+ Node: POSIX String Comparison369911
+ Ref: POSIX String Comparison-Footnote-1370983
+ Node: Boolean Ops371122
+ Ref: Boolean Ops-Footnote-1375600
+ Node: Conditional Exp375691
+ Node: Function Calls377429
+ Node: Precedence381309
+ Node: Locales384969
+ Node: Expressions Summary386601
+ Node: Patterns and Actions389172
+ Node: Pattern Overview390292
+ Node: Regexp Patterns391971
+ Node: Expression Patterns392514
+ Node: Ranges396294
+ Node: BEGIN/END399401
+ Node: Using BEGIN/END400162
+ Ref: Using BEGIN/END-Footnote-1402898
+ Node: I/O And BEGIN/END403004
+ Node: BEGINFILE/ENDFILE405319
+ Node: Empty408216
+ Node: Using Shell Variables408533
+ Node: Action Overview410806
+ Node: Statements413132
+ Node: If Statement414980
+ Node: While Statement416475
+ Node: Do Statement418503
+ Node: For Statement419651
+ Node: Switch Statement422809
+ Node: Break Statement425191
+ Node: Continue Statement427284
+ Node: Next Statement429111
+ Node: Nextfile Statement431492
+ Node: Exit Statement434120
+ Node: Built-in Variables436531
+ Node: User-modified437664
+ Ref: User-modified-Footnote-1445298
+ Node: Auto-set445360
+ Ref: Auto-set-Footnote-1459593
+ Ref: Auto-set-Footnote-2459798
+ Node: ARGC and ARGV459854
+ Node: Pattern Action Summary464072
+ Node: Arrays466505
+ Node: Array Basics467834
+ Node: Array Intro468678
+ Ref: figure-array-elements470615
+ Ref: Array Intro-Footnote-1473238
+ Node: Reference to Elements473366
+ Node: Assigning Elements475828
+ Node: Array Example476319
+ Node: Scanning an Array478078
+ Node: Controlling Scanning481101
+ Ref: Controlling Scanning-Footnote-1486495
+ Node: Numeric Array Subscripts486811
+ Node: Uninitialized Subscripts488996
+ Node: Delete490613
+ Ref: Delete-Footnote-1493362
+ Node: Multidimensional493419
+ Node: Multiscanning496516
+ Node: Arrays of Arrays498105
+ Node: Arrays Summary502859
+ Node: Functions504950
+ Node: Built-in505989
+ Node: Calling Built-in507067
+ Node: Numeric Functions509062
+ Ref: Numeric Functions-Footnote-1513895
+ Ref: Numeric Functions-Footnote-2514252
+ Ref: Numeric Functions-Footnote-3514300
+ Node: String Functions514572
+ Ref: String Functions-Footnote-1538073
+ Ref: String Functions-Footnote-2538202
+ Ref: String Functions-Footnote-3538450
+ Node: Gory Details538537
+ Ref: table-sub-escapes540318
+ Ref: table-sub-proposed541833
+ Ref: table-posix-sub543195
+ Ref: table-gensub-escapes544732
+ Ref: Gory Details-Footnote-1545565
+ Node: I/O Functions545716
+ Ref: I/O Functions-Footnote-1552952
+ Node: Time Functions553099
+ Ref: Time Functions-Footnote-1563608
+ Ref: Time Functions-Footnote-2563676
+ Ref: Time Functions-Footnote-3563834
+ Ref: Time Functions-Footnote-4563945
+ Ref: Time Functions-Footnote-5564057
+ Ref: Time Functions-Footnote-6564284
+ Node: Bitwise Functions564550
+ Ref: table-bitwise-ops565112
+ Ref: Bitwise Functions-Footnote-1569440
+ Node: Type Functions569612
+ Node: I18N Functions570764
+ Node: User-defined572411
+ Node: Definition Syntax573216
+ Ref: Definition Syntax-Footnote-1578875
+ Node: Function Example578946
+ Ref: Function Example-Footnote-1581867
+ Node: Function Caveats581889
+ Node: Calling A Function582407
+ Node: Variable Scope583365
+ Node: Pass By Value/Reference586358
+ Node: Return Statement589855
+ Node: Dynamic Typing592834
+ Node: Indirect Calls593763
+ Ref: Indirect Calls-Footnote-1604006
+ Node: Functions Summary604134
+ Node: Library Functions606836
+ Ref: Library Functions-Footnote-1610444
+ Ref: Library Functions-Footnote-2610587
+ Node: Library Names610758
+ Ref: Library Names-Footnote-1614216
+ Ref: Library Names-Footnote-2614439
+ Node: General Functions614525
+ Node: Strtonum Function615628
+ Node: Assert Function618650
+ Node: Round Function621974
+ Node: Cliff Random Function623515
+ Node: Ordinal Functions624531
+ Ref: Ordinal Functions-Footnote-1627594
+ Ref: Ordinal Functions-Footnote-2627846
+ Node: Join Function628057
+ Ref: Join Function-Footnote-1629827
+ Node: Getlocaltime Function630027
+ Node: Readfile Function633771
+ Node: Shell Quoting635743
+ Node: Data File Management637144
+ Node: Filetrans Function637776
+ Node: Rewind Function641872
+ Node: File Checking643258
+ Ref: File Checking-Footnote-1644591
+ Node: Empty Files644792
+ Node: Ignoring Assigns646771
+ Node: Getopt Function648321
+ Ref: Getopt Function-Footnote-1659785
+ Node: Passwd Functions659985
+ Ref: Passwd Functions-Footnote-1668825
+ Node: Group Functions668913
+ Ref: Group Functions-Footnote-1676810
+ Node: Walking Arrays677015
+ Node: Library Functions Summary680021
+ Node: Library Exercises681423
+ Node: Sample Programs682703
+ Node: Running Examples683473
+ Node: Clones684201
+ Node: Cut Program685425
+ Node: Egrep Program695145
+ Ref: Egrep Program-Footnote-1702648
+ Node: Id Program702758
+ Node: Split Program706434
+ Ref: Split Program-Footnote-1709888
+ Node: Tee Program710016
+ Node: Uniq Program712805
+ Node: Wc Program720224
+ Ref: Wc Program-Footnote-1724474
+ Node: Miscellaneous Programs724568
+ Node: Dupword Program725781
+ Node: Alarm Program727812
+ Node: Translate Program732617
+ Ref: Translate Program-Footnote-1737180
+ Node: Labels Program737450
+ Ref: Labels Program-Footnote-1740801
+ Node: Word Sorting740885
+ Node: History Sorting744955
+ Node: Extract Program746790
+ Node: Simple Sed754314
+ Node: Igawk Program757384
+ Ref: Igawk Program-Footnote-1771710
+ Ref: Igawk Program-Footnote-2771911
+ Ref: Igawk Program-Footnote-3772033
+ Node: Anagram Program772148
+ Node: Signature Program775209
+ Node: Programs Summary776456
+ Node: Programs Exercises777677
+ Ref: Programs Exercises-Footnote-1781808
+ Node: Advanced Features781899
+ Node: Nondecimal Data783881
+ Node: Array Sorting785471
+ Node: Controlling Array Traversal786171
+ Ref: Controlling Array Traversal-Footnote-1794537
+ Node: Array Sorting Functions794655
+ Ref: Array Sorting Functions-Footnote-1798541
+ Node: Two-way I/O798737
+ Ref: Two-way I/O-Footnote-1803682
+ Ref: Two-way I/O-Footnote-2803868
+ Node: TCP/IP Networking803950
+ Node: Profiling806822
+ Node: Advanced Features Summary815093
+ Node: Internationalization817026
+ Node: I18N and L10N818506
+ Node: Explaining gettext819192
+ Ref: Explaining gettext-Footnote-1824217
+ Ref: Explaining gettext-Footnote-2824401
+ Node: Programmer i18n824566
+ Ref: Programmer i18n-Footnote-1829442
+ Node: Translator i18n829491
+ Node: String Extraction830285
+ Ref: String Extraction-Footnote-1831416
+ Node: Printf Ordering831502
+ Ref: Printf Ordering-Footnote-1834288
+ Node: I18N Portability834352
+ Ref: I18N Portability-Footnote-1836808
+ Node: I18N Example836871
+ Ref: I18N Example-Footnote-1839674
+ Node: Gawk I18N839746
+ Node: I18N Summary840390
+ Node: Debugger841730
+ Node: Debugging842752
+ Node: Debugging Concepts843193
+ Node: Debugging Terms845003
+ Node: Awk Debugging847575
+ Node: Sample Debugging Session848481
+ Node: Debugger Invocation849015
+ Node: Finding The Bug850400
+ Node: List of Debugger Commands856879
+ Node: Breakpoint Control858211
+ Node: Debugger Execution Control861888
+ Node: Viewing And Changing Data865247
+ Node: Execution Stack868623
+ Node: Debugger Info870258
+ Node: Miscellaneous Debugger Commands874303
+ Node: Readline Support879304
+ Node: Limitations880198
+ Node: Debugging Summary882313
+ Node: Arbitrary Precision Arithmetic883487
+ Node: Computer Arithmetic884903
+ Ref: table-numeric-ranges888480
+ Ref: Computer Arithmetic-Footnote-1889004
+ Node: Math Definitions889061
+ Ref: table-ieee-formats892356
+ Ref: Math Definitions-Footnote-1892960
+ Node: MPFR features893065
+ Node: FP Math Caution894736
+ Ref: FP Math Caution-Footnote-1895786
+ Node: Inexactness of computations896155
+ Node: Inexact representation897114
+ Node: Comparing FP Values898472
+ Node: Errors accumulate899554
+ Node: Getting Accuracy900986
+ Node: Try To Round903690
+ Node: Setting precision904589
+ Ref: table-predefined-precision-strings905273
+ Node: Setting the rounding mode907102
+ Ref: table-gawk-rounding-modes907466
+ Ref: Setting the rounding mode-Footnote-1910918
+ Node: Arbitrary Precision Integers911097
+ Ref: Arbitrary Precision Integers-Footnote-1916013
+ Node: POSIX Floating Point Problems916162
+ Ref: POSIX Floating Point Problems-Footnote-1920041
+ Node: Floating point summary920079
+ Node: Dynamic Extensions922266
+ Node: Extension Intro923818
+ Node: Plugin License925083
+ Node: Extension Mechanism Outline925880
+ Ref: figure-load-extension926308
+ Ref: figure-register-new-function927788
+ Ref: figure-call-new-function928792
+ Node: Extension API Description930779
+ Node: Extension API Functions Introduction932313
+ Node: General Data Types937182
+ Ref: General Data Types-Footnote-1943082
+ Node: Memory Allocation Functions943381
+ Ref: Memory Allocation Functions-Footnote-1946220
+ Node: Constructor Functions946319
+ Node: Registration Functions948058
+ Node: Extension Functions948743
+ Node: Exit Callback Functions951040
+ Node: Extension Version String952288
+ Node: Input Parsers952951
+ Node: Output Wrappers962826
+ Node: Two-way processors967339
+ Node: Printing Messages969602
+ Ref: Printing Messages-Footnote-1970678
+ Node: Updating `ERRNO'970830
+ Node: Requesting Values971570
+ Ref: table-value-types-returned972297
+ Node: Accessing Parameters973254
+ Node: Symbol Table Access974488
+ Node: Symbol table by name975002
 -Node: Symbol table by cookie977022
 -Ref: Symbol table by cookie-Footnote-1981167
 -Node: Cached values981230
 -Ref: Cached values-Footnote-1984726
 -Node: Array Manipulation984817
 -Ref: Array Manipulation-Footnote-1985907
 -Node: Array Data Types985944
 -Ref: Array Data Types-Footnote-1988599
 -Node: Array Functions988691
 -Node: Flattening Arrays992550
 -Node: Creating Arrays999452
 -Node: Redirection API1004223
 -Node: Extension API Variables1007048
 -Node: Extension Versioning1007681
 -Node: Extension API Informational Variables1009572
 -Node: Extension API Boilerplate1010637
 -Node: Finding Extensions1014446
 -Node: Extension Example1015006
 -Node: Internal File Description1015778
 -Node: Internal File Ops1019845
 -Ref: Internal File Ops-Footnote-11031596
 -Node: Using Internal File Ops1031736
 -Ref: Using Internal File Ops-Footnote-11034119
 -Node: Extension Samples1034392
 -Node: Extension Sample File Functions1035920
 -Node: Extension Sample Fnmatch1043601
 -Node: Extension Sample Fork1045089
 -Node: Extension Sample Inplace1046304
 -Node: Extension Sample Ord1048390
 -Node: Extension Sample Readdir1049226
 -Ref: table-readdir-file-types1050103
 -Node: Extension Sample Revout1050914
 -Node: Extension Sample Rev2way1051503
 -Node: Extension Sample Read write array1052243
 -Node: Extension Sample Readfile1054183
 -Node: Extension Sample Time1055278
 -Node: Extension Sample API Tests1056626
 -Node: gawkextlib1057117
 -Node: Extension summary1059818
 -Node: Extension Exercises1063507
 -Node: Language History1065003
 -Node: V7/SVR3.11066659
 -Node: SVR41068812
 -Node: POSIX1070246
 -Node: BTL1071627
 -Node: POSIX/GNU1072358
 -Node: Feature History1078197
 -Node: Common Extensions1091994
 -Node: Ranges and Locales1093366
 -Ref: Ranges and Locales-Footnote-11097985
 -Ref: Ranges and Locales-Footnote-21098012
 -Ref: Ranges and Locales-Footnote-31098247
 -Node: Contributors1098468
 -Node: History summary1104008
 -Node: Installation1105387
 -Node: Gawk Distribution1106333
 -Node: Getting1106817
 -Node: Extracting1107640
 -Node: Distribution contents1109277
 -Node: Unix Installation1115379
 -Node: Quick Installation1116062
 -Node: Shell Startup Files1118473
 -Node: Additional Configuration Options1119552
 -Node: Configuration Philosophy1121356
 -Node: Non-Unix Installation1123725
 -Node: PC Installation1124183
 -Node: PC Binary Installation1125503
 -Node: PC Compiling1127351
 -Ref: PC Compiling-Footnote-11130372
 -Node: PC Testing1130481
 -Node: PC Using1131657
 -Node: Cygwin1135772
 -Node: MSYS1136542
 -Node: VMS Installation1137043
 -Node: VMS Compilation1137835
 -Ref: VMS Compilation-Footnote-11139064
 -Node: VMS Dynamic Extensions1139122
 -Node: VMS Installation Details1140806
 -Node: VMS Running1143057
 -Node: VMS GNV1145897
 -Node: VMS Old Gawk1146632
 -Node: Bugs1147102
 -Node: Other Versions1150991
 -Node: Installation summary1157425
 -Node: Notes1158484
 -Node: Compatibility Mode1159349
 -Node: Additions1160131
 -Node: Accessing The Source1161056
 -Node: Adding Code1162491
 -Node: New Ports1168648
 -Node: Derived Files1173130
 -Ref: Derived Files-Footnote-11178605
 -Ref: Derived Files-Footnote-21178639
 -Ref: Derived Files-Footnote-31179235
 -Node: Future Extensions1179349
 -Node: Implementation Limitations1179955
 -Node: Extension Design1181203
 -Node: Old Extension Problems1182357
 -Ref: Old Extension Problems-Footnote-11183874
 -Node: Extension New Mechanism Goals1183931
 -Ref: Extension New Mechanism Goals-Footnote-11187291
 -Node: Extension Other Design Decisions1187480
 -Node: Extension Future Growth1189588
 -Node: Old Extension Mechanism1190424
 -Node: Notes summary1192186
 -Node: Basic Concepts1193372
 -Node: Basic High Level1194053
 -Ref: figure-general-flow1194325
 -Ref: figure-process-flow1194924
 -Ref: Basic High Level-Footnote-11198153
 -Node: Basic Data Typing1198338
 -Node: Glossary1201666
 -Node: Copying1233595
 -Node: GNU Free Documentation License1271151
 -Node: Index1296287
++Node: Symbol table by cookie977581
++Ref: Symbol table by cookie-Footnote-1981726
++Node: Cached values981789
++Ref: Cached values-Footnote-1985285
++Node: Array Manipulation985376
++Ref: Array Manipulation-Footnote-1986466
++Node: Array Data Types986503
++Ref: Array Data Types-Footnote-1989158
++Node: Array Functions989250
++Node: Flattening Arrays993109
++Node: Creating Arrays1000011
++Node: Redirection API1004782
++Node: Extension API Variables1007607
++Node: Extension Versioning1008240
++Node: Extension API Informational Variables1010131
++Node: Extension API Boilerplate1011196
++Node: Finding Extensions1015005
++Node: Extension Example1015565
++Node: Internal File Description1016337
++Node: Internal File Ops1020404
++Ref: Internal File Ops-Footnote-11032155
++Node: Using Internal File Ops1032295
++Ref: Using Internal File Ops-Footnote-11034678
++Node: Extension Samples1034951
++Node: Extension Sample File Functions1036479
++Node: Extension Sample Fnmatch1044160
++Node: Extension Sample Fork1045648
++Node: Extension Sample Inplace1046863
++Node: Extension Sample Ord1048949
++Node: Extension Sample Readdir1049785
++Ref: table-readdir-file-types1050662
++Node: Extension Sample Revout1051473
++Node: Extension Sample Rev2way1052062
++Node: Extension Sample Read write array1052802
++Node: Extension Sample Readfile1054742
++Node: Extension Sample Time1055837
++Node: Extension Sample API Tests1057185
++Node: gawkextlib1057676
++Node: Extension summary1060377
++Node: Extension Exercises1064066
++Node: Language History1065562
++Node: V7/SVR3.11067218
++Node: SVR41069371
++Node: POSIX1070805
++Node: BTL1072186
++Node: POSIX/GNU1072917
++Node: Feature History1078756
++Node: Common Extensions1092553
++Node: Ranges and Locales1093925
++Ref: Ranges and Locales-Footnote-11098544
++Ref: Ranges and Locales-Footnote-21098571
++Ref: Ranges and Locales-Footnote-31098806
++Node: Contributors1099027
++Node: History summary1104567
++Node: Installation1105946
++Node: Gawk Distribution1106892
++Node: Getting1107376
++Node: Extracting1108199
++Node: Distribution contents1109836
++Node: Unix Installation1115938
++Node: Quick Installation1116621
++Node: Shell Startup Files1119032
++Node: Additional Configuration Options1120111
++Node: Configuration Philosophy1121915
++Node: Non-Unix Installation1124284
++Node: PC Installation1124742
++Node: PC Binary Installation1126062
++Node: PC Compiling1127910
++Ref: PC Compiling-Footnote-11130931
++Node: PC Testing1131040
++Node: PC Using1132216
++Node: Cygwin1136331
++Node: MSYS1137101
++Node: VMS Installation1137602
++Node: VMS Compilation1138394
++Ref: VMS Compilation-Footnote-11139623
++Node: VMS Dynamic Extensions1139681
++Node: VMS Installation Details1141365
++Node: VMS Running1143616
++Node: VMS GNV1146456
++Node: VMS Old Gawk1147191
++Node: Bugs1147661
++Node: Other Versions1151550
++Node: Installation summary1157984
++Node: Notes1159043
++Node: Compatibility Mode1159908
++Node: Additions1160690
++Node: Accessing The Source1161615
++Node: Adding Code1163050
++Node: New Ports1169207
++Node: Derived Files1173689
++Ref: Derived Files-Footnote-11179164
++Ref: Derived Files-Footnote-21179198
++Ref: Derived Files-Footnote-31179794
++Node: Future Extensions1179908
++Node: Implementation Limitations1180514
++Node: Extension Design1181762
++Node: Old Extension Problems1182916
++Ref: Old Extension Problems-Footnote-11184433
++Node: Extension New Mechanism Goals1184490
++Ref: Extension New Mechanism Goals-Footnote-11187850
++Node: Extension Other Design Decisions1188039
++Node: Extension Future Growth1190147
++Node: Old Extension Mechanism1190983
++Node: Notes summary1192745
++Node: Basic Concepts1193931
++Node: Basic High Level1194612
++Ref: figure-general-flow1194884
++Ref: figure-process-flow1195483
++Ref: Basic High Level-Footnote-11198712
++Node: Basic Data Typing1198897
++Node: Glossary1202225
++Node: Copying1234154
++Node: GNU Free Documentation License1271710
++Node: Index1296846
  
  End Tag Table
diff --cc doc/gawk.texi
index 27cbcab,ca378cc..ca62397
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@@ -32813,6 -32889,6 +32889,16 @@@ Changing types (scalar to array or vic
  is @emph{not} allowed, nor may this routine be used to update an array.
  This routine cannot be used to update any of the predefined
  variables (such as @code{ARGC} or @code{NF}).
++
address@hidden awk_bool_t sym_constant(const char *name, awk_value_t *value);
++Create a variable named by the string @code{name}, which is
++a regular C string, that has the constant value as given by
address@hidden @command{awk}-level code cannot change the value of this
++variable.  The extension may change the value of @code{name}'s
++variable with subsequent calls to this routine, and may also convert
++a variable created by @code{sym_update()} into a constant.  However,
++once a variable becomes a constant, it cannot later be reverted into a
++mutable variable.
  @end table
  
  An extension can look up the value of @command{gawk}'s special variables.
diff --cc test/Makefile.am
index 645975f,b45eaf9..06bbad7
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@@ -1084,8 -1094,7 +1096,8 @@@ LOCALE_CHARSET_TESTS = 
        mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc
  
  SHLIB_TESTS = \
 +      assignconst \
-       fnmatch filefuncs fork fork2 fts functab4 inplace1 inplace2 inplace3 \
+       fnmatch filefuncs fork fork2 fts functab4 getfile inplace1 inplace2 
inplace3 \
        ordchr ordchr2 readdir readfile readfile2 revout revtwoway rwarray 
testext time
  
  # List of the tests which should be run with --lint option:
@@@ -1937,15 -1951,11 +1954,20 @@@ testext:
        @$(AWK) -f ./testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@ testext.awk
  
 +assignconst:
 +      @echo $@
 +      @echo foo > 15
 +      @for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17; \
 +      do AWKPATH=$(srcdir) $(AWK) -f address@hidden $$i ; \
 +      done 2>&1 | grep -v at_exit > _$@
 +      @rm -f 15
 +      @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 +
+ getfile:
+       @echo $@
+       @$(AWK) -v TESTEXT_QUIET=1 -ltestext -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+ 
  readdir:
        @if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { 
print $$NF }'`" = nfs ];  then \
        echo This test may fail on GNU/Linux systems when run on an NFS 
filesystem.; \
diff --cc test/Makefile.in
index 1f93220,8053df5..0e7286f
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@@ -1337,8 -1347,7 +1349,8 @@@ LOCALE_CHARSET_TESTS = 
        mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc
  
  SHLIB_TESTS = \
 +      assignconst \
-       fnmatch filefuncs fork fork2 fts functab4 inplace1 inplace2 inplace3 \
+       fnmatch filefuncs fork fork2 fts functab4 getfile inplace1 inplace2 
inplace3 \
        ordchr ordchr2 readdir readfile readfile2 revout revtwoway rwarray 
testext time
  
  
@@@ -2374,15 -2388,11 +2391,20 @@@ testext:
        @$(AWK) -f ./testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@ testext.awk
  
 +assignconst:
 +      @echo $@
 +      @echo foo > 15
 +      @for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17; \
 +      do AWKPATH=$(srcdir) $(AWK) -f address@hidden $$i ; \
 +      done 2>&1 | grep -v at_exit > _$@
 +      @rm -f 15
 +      @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 +
+ getfile:
+       @echo $@
+       @$(AWK) -v TESTEXT_QUIET=1 -ltestext -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+ 
  readdir:
        @if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { 
print $$NF }'`" = nfs ];  then \
        echo This test may fail on GNU/Linux systems when run on an NFS 
filesystem.; \

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |  255 ++++++
 NEWS                                  |   13 +-
 awk.h                                 |   13 +-
 awkgram.c                             |   40 +-
 awkgram.y                             |   40 +-
 awklib/eg/lib/inplace.awk             |    9 +-
 awklib/eg/lib/{div.awk => intdiv.awk} |    7 +-
 awklib/eg/prog/pi.awk                 |    2 +-
 builtin.c                             |  152 ++++-
 config.guess                          |    6 +-
 config.sub                            |    8 +-
 configh.in                            |    6 +
 configure                             |    5 +-
 configure.ac                          |    5 +-
 doc/ChangeLog                         |   47 ++
 doc/awkcard.in                        |    6 +-
 doc/gawk.1                            |   61 ++-
 doc/gawk.info                         | 1473 ++++++++++++++++++---------------
 doc/gawk.texi                         |  271 +++++-
 doc/gawktexi.in                       |  261 +++++-
 eval.c                                |    6 +-
 extension/ChangeLog                   |  184 ++++
 extension/build-aux/ChangeLog         |    4 +
 extension/build-aux/config.guess      |    6 +-
 extension/build-aux/config.sub        |    8 +-
 extension/build-aux/ltmain.sh         |   23 +-
 extension/configure                   |   45 +-
 extension/inplace.3am                 |   23 +-
 extension/m4/ChangeLog                |    4 +
 extension/m4/libtool.m4               |   27 +-
 extension/m4/ltversion.m4             |   10 +-
 extension/testext.c                   |  205 +++++
 gawkapi.c                             |  105 +++-
 gawkapi.h                             |   40 +-
 interpret.h                           |   29 +-
 io.c                                  |  169 ++++-
 mpfr.c                                |   12 +-
 test/ChangeLog                        |   63 ++
 test/Makefile.am                      |   32 +-
 test/Makefile.in                      |   47 +-
 test/Maketests                        |   15 +
 test/errno.awk                        |   10 +
 test/{clsflnam.in => errno.in}        |    0
 test/{clsflnam.ok => errno.ok}        |    2 +
 test/exitval3.awk                     |    2 +
 test/exitval3.ok                      |    1 +
 test/getfile.awk                      |   35 +
 test/getfile.ok                       |   17 +
 test/id.ok                            |    3 +-
 test/indirectbuiltin.awk              |  371 +++++++++
 test/indirectbuiltin.ok               |   43 +
 test/inplace1.ok                      |    2 +-
 test/inplace2.ok                      |    2 +-
 test/inplace3.ok                      |    4 +-
 test/mpfrsqrt.awk                     |    6 +-
 test/testext.ok                       |   12 +
 test/timeout.awk                      |   26 +
 test/timeout.ok                       |   12 +
 58 files changed, 3357 insertions(+), 928 deletions(-)
 rename awklib/eg/lib/{div.awk => intdiv.awk} (67%)
 create mode 100644 test/errno.awk
 copy test/{clsflnam.in => errno.in} (100%)
 copy test/{clsflnam.ok => errno.ok} (71%)
 create mode 100644 test/exitval3.awk
 create mode 100644 test/exitval3.ok
 create mode 100644 test/getfile.awk
 create mode 100644 test/getfile.ok
 create mode 100644 test/indirectbuiltin.awk
 create mode 100644 test/indirectbuiltin.ok
 create mode 100644 test/timeout.awk
 create mode 100644 test/timeout.ok


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]