[Top][All Lists]

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

[SCM] gawk branch, gawk-5.2-stable, updated. gawk-4.1.0-5069-g7ab825b1

From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.2-stable, updated. gawk-4.1.0-5069-g7ab825b1
Date: Wed, 14 Jun 2023 11:43:52 -0400 (EDT)

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, gawk-5.2-stable has been updated
       via  7ab825b1eeed5589faca505ff43d2cd2fb48faba (commit)
      from  d9ca37ad2b35bec812de75384ccb9ce32ae004fb (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 -----------------------------------------------------------------

commit 7ab825b1eeed5589faca505ff43d2cd2fb48faba
Author: Arnold D. Robbins <>
Date:   Wed Jun 14 11:43:36 2023 -0400

    Small doc update.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 7eaa6989..60df8cce 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2023-06-14         Arnold D. Robbins     <>
+       * (Fields): Add a footnote that referencing an
+       uninitialized field issues a lint warning. Suggested by
+       Sebastian Carlos <>.
 2023-06-12         Arnold D. Robbins     <>
        * (Statements/Lines): Document how backslash continuation
diff --git a/doc/ b/doc/
index ef749d22..aae3cade 100644
--- a/doc/
+++ b/doc/
@@ -4854,7 +4854,7 @@ time it reads a record.  No matter how many fields there 
are, the last
 field in a record can be represented by ‘$NF’.  So, ‘$NF’ is the same 
 ‘$7’, which is ‘example.’.  If you try to reference a field beyond the
 last one (such as ‘$8’ when the record has only seven fields), you get
-the empty string.  (If used in a numeric operation, you get zero.)
+the empty string.  If used in a numeric operation, you get zero.(1)
    The use of ‘$0’, which looks like a reference to the “zeroth” field,
 is a special case: it represents the whole input record.  Use it when
@@ -4877,6 +4877,11 @@ record:
      ⊣ Julie F
      ⊣ Samuel A
+   ---------- Footnotes ----------
+   (1) In either case, with the ‘--lint’ option, ‘gawk’ warns that you
+are referencing an uninitialized field.
 File:,  Node: Nonconstant Fields,  Next: Changing Fields,  Prev: 
Fields,  Up: Reading Files
@@ -39507,538 +39512,539 @@ Node: awk split records216812
 Node: gawk split records221702
 Ref: gawk split records-Footnote-1226996
 Node: Fields227033
-Node: Nonconstant Fields229920
-Ref: Nonconstant Fields-Footnote-1232231
-Node: Changing Fields232447
-Node: Field Separators238755
-Node: Default Field Splitting241571
-Node: Regexp Field Splitting242714
-Node: Single Character Fields246543
-Node: Command Line Field Separator247638
-Node: Full Line Fields251025
-Ref: Full Line Fields-Footnote-1252605
-Ref: Full Line Fields-Footnote-2252651
-Node: Field Splitting Summary252759
-Node: Constant Size254928
-Node: Fixed width data255672
-Node: Skipping intervening259191
-Node: Allowing trailing data259993
-Node: Fields with fixed data261058
-Node: Splitting By Content262684
-Ref: Splitting By Content-Footnote-1266623
-Node: More CSV266786
-Node: FS versus FPAT268439
-Node: Testing field creation269648
-Node: Multiple Line271341
-Node: Getline277823
-Node: Plain Getline280409
-Node: Getline/Variable283059
-Node: Getline/File284256
-Node: Getline/Variable/File285704
-Ref: Getline/Variable/File-Footnote-1287349
-Node: Getline/Pipe287445
-Node: Getline/Variable/Pipe290258
-Node: Getline/Coprocess291441
-Node: Getline/Variable/Coprocess292764
-Node: Getline Notes293530
-Node: Getline Summary296491
-Ref: table-getline-variants296935
-Node: Read Timeout297840
-Ref: Read Timeout-Footnote-1301804
-Node: Retrying Input301862
-Node: Command-line directories303129
-Node: Input Summary304067
-Node: Input Exercises307447
-Node: Printing307887
-Node: Print309773
-Node: Print Examples311279
-Node: Output Separators314132
-Node: OFMT316243
-Node: Printf317958
-Node: Basic Printf318763
-Node: Control Letters320399
-Node: Format Modifiers325868
-Node: Printf Examples332154
-Node: Redirection334699
-Node: Special FD341773
-Ref: Special FD-Footnote-1345063
-Node: Special Files345149
-Node: Other Inherited Files345778
-Node: Special Network346843
-Node: Special Caveats347731
-Node: Close Files And Pipes348714
-Ref: Close Files And Pipes-Footnote-1354851
-Node: Close Return Value355007
-Ref: table-close-pipe-return-values356282
-Ref: Close Return Value-Footnote-1357116
-Node: Nonfatal357272
-Node: Output Summary359703
-Node: Output Exercises360989
-Node: Expressions361680
-Node: Values362882
-Node: Constants363560
-Node: Scalar Constants364257
-Ref: Scalar Constants-Footnote-1366832
-Node: Nondecimal-numbers367082
-Node: Regexp Constants370203
-Node: Using Constant Regexps370749
-Node: Standard Regexp Constants371395
-Node: Strong Regexp Constants374695
-Node: Variables378546
-Node: Using Variables379211
-Node: Assignment Options381191
-Node: Conversion383753
-Node: Strings And Numbers384285
-Ref: Strings And Numbers-Footnote-1387504
-Node: Locale influences conversions387613
-Ref: table-locale-affects390463
-Node: All Operators391106
-Node: Arithmetic Ops391747
-Node: Concatenation394577
-Ref: Concatenation-Footnote-1397527
-Node: Assignment Ops397650
-Ref: table-assign-ops402789
-Node: Increment Ops404171
-Node: Truth Values and Conditions407770
-Node: Truth Values408896
-Node: Typing and Comparison409987
-Node: Variable Typing410823
-Ref: Variable Typing-Footnote-1417485
-Ref: Variable Typing-Footnote-2417565
-Node: Comparison Operators417648
-Ref: table-relational-ops418075
-Node: POSIX String Comparison421761
-Ref: POSIX String Comparison-Footnote-1423520
-Ref: POSIX String Comparison-Footnote-2423663
-Node: Boolean Ops423747
-Ref: Boolean Ops-Footnote-1428440
-Node: Conditional Exp428536
-Node: Function Calls430322
-Node: Precedence434272
-Node: Locales438149
-Node: Expressions Summary439831
-Node: Patterns and Actions442494
-Node: Pattern Overview443636
-Node: Regexp Patterns445362
-Node: Expression Patterns445908
-Node: Ranges449817
-Node: BEGIN/END452995
-Node: Using BEGIN/END453808
-Ref: Using BEGIN/END-Footnote-1456718
-Node: I/O And BEGIN/END456828
-Node: Empty462750
-Node: Using Shell Variables463067
-Node: Action Overview465405
-Node: Statements467840
-Node: If Statement469738
-Node: While Statement471307
-Node: Do Statement473395
-Node: For Statement474581
-Node: Switch Statement477938
-Node: Break Statement480489
-Node: Continue Statement482681
-Node: Next Statement484613
-Node: Nextfile Statement487110
-Node: Exit Statement489971
-Node: Built-in Variables492504
-Node: User-modified493683
-Node: Auto-set501894
-Ref: Auto-set-Footnote-1519747
-Ref: Auto-set-Footnote-2519965
-Node: ARGC and ARGV520021
-Node: Pattern Action Summary524460
-Node: Arrays527076
-Node: Array Basics528453
-Node: Array Intro529303
-Ref: figure-array-elements531319
-Ref: Array Intro-Footnote-1534188
-Node: Reference to Elements534320
-Node: Assigning Elements536842
-Node: Array Example537337
-Node: Scanning an Array539306
-Node: Controlling Scanning542403
-Ref: Controlling Scanning-Footnote-1549049
-Node: Numeric Array Subscripts549373
-Node: Uninitialized Subscripts551647
-Node: Delete553326
-Ref: Delete-Footnote-1556140
-Node: Multidimensional556197
-Node: Multiscanning559402
-Node: Arrays of Arrays561074
-Node: Arrays Summary565974
-Node: Functions568163
-Node: Built-in569223
-Node: Calling Built-in570412
-Node: Boolean Functions572459
-Node: Numeric Functions573029
-Ref: Numeric Functions-Footnote-1577222
-Ref: Numeric Functions-Footnote-2577906
-Ref: Numeric Functions-Footnote-3577958
-Node: String Functions578234
-Ref: String Functions-Footnote-1604309
-Ref: String Functions-Footnote-2604443
-Ref: String Functions-Footnote-3604703
-Node: Gory Details604790
-Ref: table-sub-escapes606697
-Ref: table-sub-proposed608343
-Ref: table-posix-sub609853
-Ref: table-gensub-escapes611541
-Ref: Gory Details-Footnote-1612475
-Node: I/O Functions612629
-Ref: table-system-return-values619316
-Ref: I/O Functions-Footnote-1621487
-Ref: I/O Functions-Footnote-2621635
-Node: Time Functions621755
-Ref: Time Functions-Footnote-1632911
-Ref: Time Functions-Footnote-2632987
-Ref: Time Functions-Footnote-3633149
-Ref: Time Functions-Footnote-4633260
-Ref: Time Functions-Footnote-5633378
-Ref: Time Functions-Footnote-6633613
-Node: Bitwise Functions633895
-Ref: table-bitwise-ops634497
-Ref: Bitwise Functions-Footnote-1640751
-Ref: Bitwise Functions-Footnote-2640930
-Node: Type Functions641127
-Node: I18N Functions644720
-Node: User-defined646463
-Node: Definition Syntax647283
-Ref: Definition Syntax-Footnote-1653111
-Node: Function Example653188
-Ref: Function Example-Footnote-1656167
-Node: Function Calling656189
-Node: Calling A Function656783
-Node: Variable Scope657753
-Node: Pass By Value/Reference660807
-Node: Function Caveats663539
-Ref: Function Caveats-Footnote-1665634
-Node: Return Statement665758
-Node: Dynamic Typing668813
-Node: Indirect Calls671214
-Node: Functions Summary682373
-Node: Library Functions685150
-Ref: Library Functions-Footnote-1688698
-Ref: Library Functions-Footnote-2688841
-Node: Library Names689016
-Ref: Library Names-Footnote-1692810
-Ref: Library Names-Footnote-2693037
-Node: General Functions693133
-Node: Strtonum Function694327
-Node: Assert Function697409
-Node: Round Function700861
-Node: Cliff Random Function702439
-Node: Ordinal Functions703472
-Ref: Ordinal Functions-Footnote-1706581
-Ref: Ordinal Functions-Footnote-2706833
-Node: Join Function707047
-Ref: Join Function-Footnote-1708850
-Node: Getlocaltime Function709054
-Node: Readfile Function712828
-Node: Shell Quoting714857
-Node: Isnumeric Function716313
-Node: Data File Management717725
-Node: Filetrans Function718357
-Node: Rewind Function722651
-Node: File Checking724630
-Ref: File Checking-Footnote-1726002
-Node: Empty Files726209
-Node: Ignoring Assigns728276
-Node: Getopt Function729850
-Ref: Getopt Function-Footnote-1745684
-Node: Passwd Functions745896
-Ref: Passwd Functions-Footnote-1755078
-Node: Group Functions755166
-Ref: Group Functions-Footnote-1763304
-Node: Walking Arrays763517
-Node: Library Functions Summary766565
-Node: Library Exercises767989
-Node: Sample Programs768476
-Node: Running Examples769258
-Node: Clones770010
-Node: Cut Program771282
-Node: Egrep Program781723
-Node: Id Program791040
-Node: Split Program801154
-Ref: Split Program-Footnote-1811389
-Node: Tee Program811576
-Node: Uniq Program814485
-Node: Wc Program822350
-Node: Bytes vs. Characters822745
-Node: Using extensions824347
-Node: wc program825127
-Node: Miscellaneous Programs830133
-Node: Dupword Program831362
-Node: Alarm Program833425
-Node: Translate Program838338
-Ref: Translate Program-Footnote-1843079
-Node: Labels Program843357
-Ref: Labels Program-Footnote-1846798
-Node: Word Sorting846890
-Node: History Sorting851084
-Node: Extract Program853359
-Node: Simple Sed861628
-Node: Igawk Program864844
-Ref: Igawk Program-Footnote-1880091
-Ref: Igawk Program-Footnote-2880297
-Ref: Igawk Program-Footnote-3880427
-Node: Anagram Program880554
-Node: Signature Program883650
-Node: Programs Summary884902
-Node: Programs Exercises886160
-Ref: Programs Exercises-Footnote-1890476
-Node: Advanced Features890562
-Node: Nondecimal Data893056
-Node: Boolean Typed Values894686
-Node: Array Sorting896661
-Node: Controlling Array Traversal897390
-Ref: Controlling Array Traversal-Footnote-1905897
-Node: Array Sorting Functions906019
-Ref: Array Sorting Functions-Footnote-1912138
-Node: Two-way I/O912346
-Ref: Two-way I/O-Footnote-1920341
-Ref: Two-way I/O-Footnote-2920532
-Node: TCP/IP Networking920614
-Node: Profiling923794
-Node: Persistent Memory933504
-Ref: Persistent Memory-Footnote-1943114
-Node: Extension Philosophy943245
-Node: Advanced Features Summary944780
-Node: Internationalization947050
-Node: I18N and L10N948756
-Node: Explaining gettext949451
-Ref: Explaining gettext-Footnote-1955604
-Ref: Explaining gettext-Footnote-2955799
-Node: Programmer i18n955964
-Ref: Programmer i18n-Footnote-1961077
-Node: Translator i18n961126
-Node: String Extraction961962
-Ref: String Extraction-Footnote-1963140
-Node: Printf Ordering963238
-Ref: Printf Ordering-Footnote-1966100
-Node: I18N Portability966168
-Ref: I18N Portability-Footnote-1968742
-Node: I18N Example968813
-Ref: I18N Example-Footnote-1972213
-Ref: I18N Example-Footnote-2972289
-Node: Gawk I18N972406
-Node: I18N Summary973062
-Node: Debugger974463
-Node: Debugging975487
-Node: Debugging Concepts975936
-Node: Debugging Terms977762
-Node: Awk Debugging980375
-Ref: Awk Debugging-Footnote-1981352
-Node: Sample Debugging Session981492
-Node: Debugger Invocation982044
-Node: Finding The Bug983673
-Node: List of Debugger Commands990359
-Node: Breakpoint Control991736
-Node: Debugger Execution Control995568
-Node: Viewing And Changing Data999048
-Node: Execution Stack1002786
-Node: Debugger Info1004467
-Node: Miscellaneous Debugger Commands1008766
-Node: Readline Support1014019
-Node: Limitations1014965
-Node: Debugging Summary1017609
-Node: Namespaces1018908
-Node: Global Namespace1020035
-Node: Qualified Names1021480
-Node: Default Namespace1022515
-Node: Changing The Namespace1023290
-Node: Naming Rules1024984
-Node: Internal Name Management1026899
-Node: Namespace Example1027969
-Node: Namespace And Features1030552
-Node: Namespace Summary1032009
-Node: Arbitrary Precision Arithmetic1033522
-Node: Computer Arithmetic1035041
-Ref: table-numeric-ranges1038858
-Ref: table-floating-point-ranges1039356
-Ref: Computer Arithmetic-Footnote-11040015
-Node: Math Definitions1040074
-Ref: table-ieee-formats1043119
-Node: MPFR features1043693
-Node: MPFR On Parole1044146
-Ref: MPFR On Parole-Footnote-11044990
-Node: MPFR Intro1045149
-Node: FP Math Caution1046839
-Ref: FP Math Caution-Footnote-11047913
-Node: Inexactness of computations1048290
-Node: Inexact representation1049321
-Node: Comparing FP Values1050704
-Node: Errors accumulate1051962
-Node: Strange values1053429
-Ref: Strange values-Footnote-11056095
-Node: Getting Accuracy1056200
-Node: Try To Round1058937
-Node: Setting precision1059844
-Ref: table-predefined-precision-strings1060549
-Node: Setting the rounding mode1062434
-Ref: table-gawk-rounding-modes1062816
-Ref: Setting the rounding mode-Footnote-11066874
-Node: Arbitrary Precision Integers1067057
-Ref: Arbitrary Precision Integers-Footnote-11070269
-Node: Checking for MPFR1070425
-Node: POSIX Floating Point Problems1071915
-Ref: POSIX Floating Point Problems-Footnote-11076779
-Node: Floating point summary1076817
-Node: Dynamic Extensions1079081
-Node: Extension Intro1080680
-Node: Plugin License1081988
-Node: Extension Mechanism Outline1082801
-Ref: figure-load-extension1083252
-Ref: figure-register-new-function1084837
-Ref: figure-call-new-function1085947
-Node: Extension API Description1088071
-Node: Extension API Functions Introduction1089800
-Ref: table-api-std-headers1091698
-Node: General Data Types1096162
-Ref: General Data Types-Footnote-11105330
-Node: Memory Allocation Functions1105645
-Ref: Memory Allocation Functions-Footnote-11110370
-Node: Constructor Functions1110469
-Node: API Ownership of MPFR and GMP Values1114374
-Node: Registration Functions1115935
-Node: Extension Functions1116639
-Node: Exit Callback Functions1122215
-Node: Extension Version String1123534
-Node: Input Parsers1124229
-Node: Output Wrappers1138873
-Node: Two-way processors1143721
-Node: Printing Messages1146082
-Ref: Printing Messages-Footnote-11147296
-Node: Updating ERRNO1147451
-Node: Requesting Values1148250
-Ref: table-value-types-returned1149003
-Node: Accessing Parameters1150112
-Node: Symbol Table Access1151396
-Node: Symbol table by name1151912
-Ref: Symbol table by name-Footnote-11155123
-Node: Symbol table by cookie1155255
-Ref: Symbol table by cookie-Footnote-11159536
-Node: Cached values1159600
-Ref: Cached values-Footnote-11163244
-Node: Array Manipulation1163401
-Ref: Array Manipulation-Footnote-11164504
-Node: Array Data Types1164541
-Ref: Array Data Types-Footnote-11167363
-Node: Array Functions1167463
-Node: Flattening Arrays1172492
-Node: Creating Arrays1179544
-Node: Redirection API1184394
-Node: Extension API Variables1187415
-Node: Extension Versioning1188140
-Ref: gawk-api-version1188577
-Node: Extension GMP/MPFR Versioning1190365
-Node: Extension API Informational Variables1192071
-Node: Extension API Boilerplate1193232
-Node: Changes from API V11197368
-Node: Finding Extensions1199002
-Node: Extension Example1199577
-Node: Internal File Description1200401
-Node: Internal File Ops1204725
-Ref: Internal File Ops-Footnote-11216283
-Node: Using Internal File Ops1216431
-Ref: Using Internal File Ops-Footnote-11218862
-Node: Extension Samples1219140
-Node: Extension Sample File Functions1220709
-Node: Extension Sample Fnmatch1228847
-Node: Extension Sample Fork1230442
-Node: Extension Sample Inplace1231718
-Node: Extension Sample Ord1235390
-Node: Extension Sample Readdir1236266
-Ref: table-readdir-file-types1237055
-Node: Extension Sample Revout1238416
-Node: Extension Sample Rev2way1239013
-Node: Extension Sample Read write array1239765
-Node: Extension Sample Readfile1243039
-Node: Extension Sample Time1244170
-Node: Extension Sample API Tests1246460
-Node: gawkextlib1246968
-Node: Extension summary1250004
-Node: Extension Exercises1253862
-Node: Language History1255140
-Node: V7/SVR3.11256854
-Node: SVR41259204
-Node: POSIX1260736
-Node: BTL1262161
-Node: POSIX/GNU1262930
-Node: Feature History1269461
-Node: Common Extensions1288579
-Node: Ranges and Locales1289948
-Ref: Ranges and Locales-Footnote-11294749
-Ref: Ranges and Locales-Footnote-21294776
-Ref: Ranges and Locales-Footnote-31295015
-Node: Contributors1295238
-Node: History summary1301443
-Node: Installation1302889
-Node: Gawk Distribution1303853
-Node: Getting1304345
-Node: Extracting1305344
-Node: Distribution contents1307056
-Node: Unix Installation1315136
-Node: Quick Installation1315958
-Node: Compiling with MPFR1318504
-Node: Shell Startup Files1319210
-Node: Additional Configuration Options1320367
-Node: Configuration Philosophy1322754
-Node: Compiling from Git1325256
-Node: Building the Documentation1325815
-Node: Non-Unix Installation1327227
-Node: PC Installation1327703
-Node: PC Binary Installation1328576
-Node: PC Compiling1329481
-Node: PC Using1330659
-Node: Cygwin1334387
-Node: MSYS1335643
-Node: OpenVMS Installation1336275
-Node: OpenVMS Compilation1336956
-Ref: OpenVMS Compilation-Footnote-11338439
-Node: OpenVMS Dynamic Extensions1338501
-Node: OpenVMS Installation Details1340137
-Node: OpenVMS Running1342572
-Node: OpenVMS GNV1346709
-Node: Bugs1347464
-Node: Bug definition1348388
-Node: Bug address1352039
-Node: Usenet1355630
-Node: Performance bugs1356861
-Node: Asking for help1359879
-Node: Maintainers1361870
-Node: Other Versions1362897
-Node: Installation summary1372240
-Node: Notes1373624
-Node: Compatibility Mode1374434
-Node: Additions1375256
-Node: Accessing The Source1376201
-Node: Adding Code1377736
-Node: New Ports1384872
-Node: Derived Files1389382
-Ref: Derived Files-Footnote-11395229
-Ref: Derived Files-Footnote-21395264
-Ref: Derived Files-Footnote-31395881
-Node: Future Extensions1395995
-Node: Implementation Limitations1396667
-Node: Extension Design1397909
-Node: Old Extension Problems1399073
-Ref: Old Extension Problems-Footnote-11400649
-Node: Extension New Mechanism Goals1400710
-Ref: Extension New Mechanism Goals-Footnote-11404206
-Node: Extension Other Design Decisions1404407
-Node: Extension Future Growth1406606
-Node: Notes summary1407230
-Node: Basic Concepts1408443
-Node: Basic High Level1409128
-Ref: figure-general-flow1409410
-Ref: figure-process-flow1410117
-Ref: Basic High Level-Footnote-11413518
-Node: Basic Data Typing1413707
-Node: Glossary1417125
-Node: Copying1450247
-Node: GNU Free Documentation License1488008
-Node: Index1513331
+Ref: Fields-Footnote-1229957
+Node: Nonconstant Fields230077
+Ref: Nonconstant Fields-Footnote-1232388
+Node: Changing Fields232604
+Node: Field Separators238912
+Node: Default Field Splitting241728
+Node: Regexp Field Splitting242871
+Node: Single Character Fields246700
+Node: Command Line Field Separator247795
+Node: Full Line Fields251182
+Ref: Full Line Fields-Footnote-1252762
+Ref: Full Line Fields-Footnote-2252808
+Node: Field Splitting Summary252916
+Node: Constant Size255085
+Node: Fixed width data255829
+Node: Skipping intervening259348
+Node: Allowing trailing data260150
+Node: Fields with fixed data261215
+Node: Splitting By Content262841
+Ref: Splitting By Content-Footnote-1266780
+Node: More CSV266943
+Node: FS versus FPAT268596
+Node: Testing field creation269805
+Node: Multiple Line271498
+Node: Getline277980
+Node: Plain Getline280566
+Node: Getline/Variable283216
+Node: Getline/File284413
+Node: Getline/Variable/File285861
+Ref: Getline/Variable/File-Footnote-1287506
+Node: Getline/Pipe287602
+Node: Getline/Variable/Pipe290415
+Node: Getline/Coprocess291598
+Node: Getline/Variable/Coprocess292921
+Node: Getline Notes293687
+Node: Getline Summary296648
+Ref: table-getline-variants297092
+Node: Read Timeout297997
+Ref: Read Timeout-Footnote-1301961
+Node: Retrying Input302019
+Node: Command-line directories303286
+Node: Input Summary304224
+Node: Input Exercises307604
+Node: Printing308044
+Node: Print309930
+Node: Print Examples311436
+Node: Output Separators314289
+Node: OFMT316400
+Node: Printf318115
+Node: Basic Printf318920
+Node: Control Letters320556
+Node: Format Modifiers326025
+Node: Printf Examples332311
+Node: Redirection334856
+Node: Special FD341930
+Ref: Special FD-Footnote-1345220
+Node: Special Files345306
+Node: Other Inherited Files345935
+Node: Special Network347000
+Node: Special Caveats347888
+Node: Close Files And Pipes348871
+Ref: Close Files And Pipes-Footnote-1355008
+Node: Close Return Value355164
+Ref: table-close-pipe-return-values356439
+Ref: Close Return Value-Footnote-1357273
+Node: Nonfatal357429
+Node: Output Summary359860
+Node: Output Exercises361146
+Node: Expressions361837
+Node: Values363039
+Node: Constants363717
+Node: Scalar Constants364414
+Ref: Scalar Constants-Footnote-1366989
+Node: Nondecimal-numbers367239
+Node: Regexp Constants370360
+Node: Using Constant Regexps370906
+Node: Standard Regexp Constants371552
+Node: Strong Regexp Constants374852
+Node: Variables378703
+Node: Using Variables379368
+Node: Assignment Options381348
+Node: Conversion383910
+Node: Strings And Numbers384442
+Ref: Strings And Numbers-Footnote-1387661
+Node: Locale influences conversions387770
+Ref: table-locale-affects390620
+Node: All Operators391263
+Node: Arithmetic Ops391904
+Node: Concatenation394734
+Ref: Concatenation-Footnote-1397684
+Node: Assignment Ops397807
+Ref: table-assign-ops402946
+Node: Increment Ops404328
+Node: Truth Values and Conditions407927
+Node: Truth Values409053
+Node: Typing and Comparison410144
+Node: Variable Typing410980
+Ref: Variable Typing-Footnote-1417642
+Ref: Variable Typing-Footnote-2417722
+Node: Comparison Operators417805
+Ref: table-relational-ops418232
+Node: POSIX String Comparison421918
+Ref: POSIX String Comparison-Footnote-1423677
+Ref: POSIX String Comparison-Footnote-2423820
+Node: Boolean Ops423904
+Ref: Boolean Ops-Footnote-1428597
+Node: Conditional Exp428693
+Node: Function Calls430479
+Node: Precedence434429
+Node: Locales438306
+Node: Expressions Summary439988
+Node: Patterns and Actions442651
+Node: Pattern Overview443793
+Node: Regexp Patterns445519
+Node: Expression Patterns446065
+Node: Ranges449974
+Node: BEGIN/END453152
+Node: Using BEGIN/END453965
+Ref: Using BEGIN/END-Footnote-1456875
+Node: I/O And BEGIN/END456985
+Node: Empty462907
+Node: Using Shell Variables463224
+Node: Action Overview465562
+Node: Statements467997
+Node: If Statement469895
+Node: While Statement471464
+Node: Do Statement473552
+Node: For Statement474738
+Node: Switch Statement478095
+Node: Break Statement480646
+Node: Continue Statement482838
+Node: Next Statement484770
+Node: Nextfile Statement487267
+Node: Exit Statement490128
+Node: Built-in Variables492661
+Node: User-modified493840
+Node: Auto-set502051
+Ref: Auto-set-Footnote-1519904
+Ref: Auto-set-Footnote-2520122
+Node: ARGC and ARGV520178
+Node: Pattern Action Summary524617
+Node: Arrays527233
+Node: Array Basics528610
+Node: Array Intro529460
+Ref: figure-array-elements531476
+Ref: Array Intro-Footnote-1534345
+Node: Reference to Elements534477
+Node: Assigning Elements536999
+Node: Array Example537494
+Node: Scanning an Array539463
+Node: Controlling Scanning542560
+Ref: Controlling Scanning-Footnote-1549206
+Node: Numeric Array Subscripts549530
+Node: Uninitialized Subscripts551804
+Node: Delete553483
+Ref: Delete-Footnote-1556297
+Node: Multidimensional556354
+Node: Multiscanning559559
+Node: Arrays of Arrays561231
+Node: Arrays Summary566131
+Node: Functions568320
+Node: Built-in569380
+Node: Calling Built-in570569
+Node: Boolean Functions572616
+Node: Numeric Functions573186
+Ref: Numeric Functions-Footnote-1577379
+Ref: Numeric Functions-Footnote-2578063
+Ref: Numeric Functions-Footnote-3578115
+Node: String Functions578391
+Ref: String Functions-Footnote-1604466
+Ref: String Functions-Footnote-2604600
+Ref: String Functions-Footnote-3604860
+Node: Gory Details604947
+Ref: table-sub-escapes606854
+Ref: table-sub-proposed608500
+Ref: table-posix-sub610010
+Ref: table-gensub-escapes611698
+Ref: Gory Details-Footnote-1612632
+Node: I/O Functions612786
+Ref: table-system-return-values619473
+Ref: I/O Functions-Footnote-1621644
+Ref: I/O Functions-Footnote-2621792
+Node: Time Functions621912
+Ref: Time Functions-Footnote-1633068
+Ref: Time Functions-Footnote-2633144
+Ref: Time Functions-Footnote-3633306
+Ref: Time Functions-Footnote-4633417
+Ref: Time Functions-Footnote-5633535
+Ref: Time Functions-Footnote-6633770
+Node: Bitwise Functions634052
+Ref: table-bitwise-ops634654
+Ref: Bitwise Functions-Footnote-1640908
+Ref: Bitwise Functions-Footnote-2641087
+Node: Type Functions641284
+Node: I18N Functions644877
+Node: User-defined646620
+Node: Definition Syntax647440
+Ref: Definition Syntax-Footnote-1653268
+Node: Function Example653345
+Ref: Function Example-Footnote-1656324
+Node: Function Calling656346
+Node: Calling A Function656940
+Node: Variable Scope657910
+Node: Pass By Value/Reference660964
+Node: Function Caveats663696
+Ref: Function Caveats-Footnote-1665791
+Node: Return Statement665915
+Node: Dynamic Typing668970
+Node: Indirect Calls671371
+Node: Functions Summary682530
+Node: Library Functions685307
+Ref: Library Functions-Footnote-1688855
+Ref: Library Functions-Footnote-2688998
+Node: Library Names689173
+Ref: Library Names-Footnote-1692967
+Ref: Library Names-Footnote-2693194
+Node: General Functions693290
+Node: Strtonum Function694484
+Node: Assert Function697566
+Node: Round Function701018
+Node: Cliff Random Function702596
+Node: Ordinal Functions703629
+Ref: Ordinal Functions-Footnote-1706738
+Ref: Ordinal Functions-Footnote-2706990
+Node: Join Function707204
+Ref: Join Function-Footnote-1709007
+Node: Getlocaltime Function709211
+Node: Readfile Function712985
+Node: Shell Quoting715014
+Node: Isnumeric Function716470
+Node: Data File Management717882
+Node: Filetrans Function718514
+Node: Rewind Function722808
+Node: File Checking724787
+Ref: File Checking-Footnote-1726159
+Node: Empty Files726366
+Node: Ignoring Assigns728433
+Node: Getopt Function730007
+Ref: Getopt Function-Footnote-1745841
+Node: Passwd Functions746053
+Ref: Passwd Functions-Footnote-1755235
+Node: Group Functions755323
+Ref: Group Functions-Footnote-1763461
+Node: Walking Arrays763674
+Node: Library Functions Summary766722
+Node: Library Exercises768146
+Node: Sample Programs768633
+Node: Running Examples769415
+Node: Clones770167
+Node: Cut Program771439
+Node: Egrep Program781880
+Node: Id Program791197
+Node: Split Program801311
+Ref: Split Program-Footnote-1811546
+Node: Tee Program811733
+Node: Uniq Program814642
+Node: Wc Program822507
+Node: Bytes vs. Characters822902
+Node: Using extensions824504
+Node: wc program825284
+Node: Miscellaneous Programs830290
+Node: Dupword Program831519
+Node: Alarm Program833582
+Node: Translate Program838495
+Ref: Translate Program-Footnote-1843236
+Node: Labels Program843514
+Ref: Labels Program-Footnote-1846955
+Node: Word Sorting847047
+Node: History Sorting851241
+Node: Extract Program853516
+Node: Simple Sed861785
+Node: Igawk Program865001
+Ref: Igawk Program-Footnote-1880248
+Ref: Igawk Program-Footnote-2880454
+Ref: Igawk Program-Footnote-3880584
+Node: Anagram Program880711
+Node: Signature Program883807
+Node: Programs Summary885059
+Node: Programs Exercises886317
+Ref: Programs Exercises-Footnote-1890633
+Node: Advanced Features890719
+Node: Nondecimal Data893213
+Node: Boolean Typed Values894843
+Node: Array Sorting896818
+Node: Controlling Array Traversal897547
+Ref: Controlling Array Traversal-Footnote-1906054
+Node: Array Sorting Functions906176
+Ref: Array Sorting Functions-Footnote-1912295
+Node: Two-way I/O912503
+Ref: Two-way I/O-Footnote-1920498
+Ref: Two-way I/O-Footnote-2920689
+Node: TCP/IP Networking920771
+Node: Profiling923951
+Node: Persistent Memory933661
+Ref: Persistent Memory-Footnote-1943271
+Node: Extension Philosophy943402
+Node: Advanced Features Summary944937
+Node: Internationalization947207
+Node: I18N and L10N948913
+Node: Explaining gettext949608
+Ref: Explaining gettext-Footnote-1955761
+Ref: Explaining gettext-Footnote-2955956
+Node: Programmer i18n956121
+Ref: Programmer i18n-Footnote-1961234
+Node: Translator i18n961283
+Node: String Extraction962119
+Ref: String Extraction-Footnote-1963297
+Node: Printf Ordering963395
+Ref: Printf Ordering-Footnote-1966257
+Node: I18N Portability966325
+Ref: I18N Portability-Footnote-1968899
+Node: I18N Example968970
+Ref: I18N Example-Footnote-1972370
+Ref: I18N Example-Footnote-2972446
+Node: Gawk I18N972563
+Node: I18N Summary973219
+Node: Debugger974620
+Node: Debugging975644
+Node: Debugging Concepts976093
+Node: Debugging Terms977919
+Node: Awk Debugging980532
+Ref: Awk Debugging-Footnote-1981509
+Node: Sample Debugging Session981649
+Node: Debugger Invocation982201
+Node: Finding The Bug983830
+Node: List of Debugger Commands990516
+Node: Breakpoint Control991893
+Node: Debugger Execution Control995725
+Node: Viewing And Changing Data999205
+Node: Execution Stack1002943
+Node: Debugger Info1004624
+Node: Miscellaneous Debugger Commands1008923
+Node: Readline Support1014176
+Node: Limitations1015122
+Node: Debugging Summary1017766
+Node: Namespaces1019065
+Node: Global Namespace1020192
+Node: Qualified Names1021637
+Node: Default Namespace1022672
+Node: Changing The Namespace1023447
+Node: Naming Rules1025141
+Node: Internal Name Management1027056
+Node: Namespace Example1028126
+Node: Namespace And Features1030709
+Node: Namespace Summary1032166
+Node: Arbitrary Precision Arithmetic1033679
+Node: Computer Arithmetic1035198
+Ref: table-numeric-ranges1039015
+Ref: table-floating-point-ranges1039513
+Ref: Computer Arithmetic-Footnote-11040172
+Node: Math Definitions1040231
+Ref: table-ieee-formats1043276
+Node: MPFR features1043850
+Node: MPFR On Parole1044303
+Ref: MPFR On Parole-Footnote-11045147
+Node: MPFR Intro1045306
+Node: FP Math Caution1046996
+Ref: FP Math Caution-Footnote-11048070
+Node: Inexactness of computations1048447
+Node: Inexact representation1049478
+Node: Comparing FP Values1050861
+Node: Errors accumulate1052119
+Node: Strange values1053586
+Ref: Strange values-Footnote-11056252
+Node: Getting Accuracy1056357
+Node: Try To Round1059094
+Node: Setting precision1060001
+Ref: table-predefined-precision-strings1060706
+Node: Setting the rounding mode1062591
+Ref: table-gawk-rounding-modes1062973
+Ref: Setting the rounding mode-Footnote-11067031
+Node: Arbitrary Precision Integers1067214
+Ref: Arbitrary Precision Integers-Footnote-11070426
+Node: Checking for MPFR1070582
+Node: POSIX Floating Point Problems1072072
+Ref: POSIX Floating Point Problems-Footnote-11076936
+Node: Floating point summary1076974
+Node: Dynamic Extensions1079238
+Node: Extension Intro1080837
+Node: Plugin License1082145
+Node: Extension Mechanism Outline1082958
+Ref: figure-load-extension1083409
+Ref: figure-register-new-function1084994
+Ref: figure-call-new-function1086104
+Node: Extension API Description1088228
+Node: Extension API Functions Introduction1089957
+Ref: table-api-std-headers1091855
+Node: General Data Types1096319
+Ref: General Data Types-Footnote-11105487
+Node: Memory Allocation Functions1105802
+Ref: Memory Allocation Functions-Footnote-11110527
+Node: Constructor Functions1110626
+Node: API Ownership of MPFR and GMP Values1114531
+Node: Registration Functions1116092
+Node: Extension Functions1116796
+Node: Exit Callback Functions1122372
+Node: Extension Version String1123691
+Node: Input Parsers1124386
+Node: Output Wrappers1139030
+Node: Two-way processors1143878
+Node: Printing Messages1146239
+Ref: Printing Messages-Footnote-11147453
+Node: Updating ERRNO1147608
+Node: Requesting Values1148407
+Ref: table-value-types-returned1149160
+Node: Accessing Parameters1150269
+Node: Symbol Table Access1151553
+Node: Symbol table by name1152069
+Ref: Symbol table by name-Footnote-11155280
+Node: Symbol table by cookie1155412
+Ref: Symbol table by cookie-Footnote-11159693
+Node: Cached values1159757
+Ref: Cached values-Footnote-11163401
+Node: Array Manipulation1163558
+Ref: Array Manipulation-Footnote-11164661
+Node: Array Data Types1164698
+Ref: Array Data Types-Footnote-11167520
+Node: Array Functions1167620
+Node: Flattening Arrays1172649
+Node: Creating Arrays1179701
+Node: Redirection API1184551
+Node: Extension API Variables1187572
+Node: Extension Versioning1188297
+Ref: gawk-api-version1188734
+Node: Extension GMP/MPFR Versioning1190522
+Node: Extension API Informational Variables1192228
+Node: Extension API Boilerplate1193389
+Node: Changes from API V11197525
+Node: Finding Extensions1199159
+Node: Extension Example1199734
+Node: Internal File Description1200558
+Node: Internal File Ops1204882
+Ref: Internal File Ops-Footnote-11216440
+Node: Using Internal File Ops1216588
+Ref: Using Internal File Ops-Footnote-11219019
+Node: Extension Samples1219297
+Node: Extension Sample File Functions1220866
+Node: Extension Sample Fnmatch1229004
+Node: Extension Sample Fork1230599
+Node: Extension Sample Inplace1231875
+Node: Extension Sample Ord1235547
+Node: Extension Sample Readdir1236423
+Ref: table-readdir-file-types1237212
+Node: Extension Sample Revout1238573
+Node: Extension Sample Rev2way1239170
+Node: Extension Sample Read write array1239922
+Node: Extension Sample Readfile1243196
+Node: Extension Sample Time1244327
+Node: Extension Sample API Tests1246617
+Node: gawkextlib1247125
+Node: Extension summary1250161
+Node: Extension Exercises1254019
+Node: Language History1255297
+Node: V7/SVR3.11257011
+Node: SVR41259361
+Node: POSIX1260893
+Node: BTL1262318
+Node: POSIX/GNU1263087
+Node: Feature History1269618
+Node: Common Extensions1288736
+Node: Ranges and Locales1290105
+Ref: Ranges and Locales-Footnote-11294906
+Ref: Ranges and Locales-Footnote-21294933
+Ref: Ranges and Locales-Footnote-31295172
+Node: Contributors1295395
+Node: History summary1301600
+Node: Installation1303046
+Node: Gawk Distribution1304010
+Node: Getting1304502
+Node: Extracting1305501
+Node: Distribution contents1307213
+Node: Unix Installation1315293
+Node: Quick Installation1316115
+Node: Compiling with MPFR1318661
+Node: Shell Startup Files1319367
+Node: Additional Configuration Options1320524
+Node: Configuration Philosophy1322911
+Node: Compiling from Git1325413
+Node: Building the Documentation1325972
+Node: Non-Unix Installation1327384
+Node: PC Installation1327860
+Node: PC Binary Installation1328733
+Node: PC Compiling1329638
+Node: PC Using1330816
+Node: Cygwin1334544
+Node: MSYS1335800
+Node: OpenVMS Installation1336432
+Node: OpenVMS Compilation1337113
+Ref: OpenVMS Compilation-Footnote-11338596
+Node: OpenVMS Dynamic Extensions1338658
+Node: OpenVMS Installation Details1340294
+Node: OpenVMS Running1342729
+Node: OpenVMS GNV1346866
+Node: Bugs1347621
+Node: Bug definition1348545
+Node: Bug address1352196
+Node: Usenet1355787
+Node: Performance bugs1357018
+Node: Asking for help1360036
+Node: Maintainers1362027
+Node: Other Versions1363054
+Node: Installation summary1372397
+Node: Notes1373781
+Node: Compatibility Mode1374591
+Node: Additions1375413
+Node: Accessing The Source1376358
+Node: Adding Code1377893
+Node: New Ports1385029
+Node: Derived Files1389539
+Ref: Derived Files-Footnote-11395386
+Ref: Derived Files-Footnote-21395421
+Ref: Derived Files-Footnote-31396038
+Node: Future Extensions1396152
+Node: Implementation Limitations1396824
+Node: Extension Design1398066
+Node: Old Extension Problems1399230
+Ref: Old Extension Problems-Footnote-11400806
+Node: Extension New Mechanism Goals1400867
+Ref: Extension New Mechanism Goals-Footnote-11404363
+Node: Extension Other Design Decisions1404564
+Node: Extension Future Growth1406763
+Node: Notes summary1407387
+Node: Basic Concepts1408600
+Node: Basic High Level1409285
+Ref: figure-general-flow1409567
+Ref: figure-process-flow1410274
+Ref: Basic High Level-Footnote-11413675
+Node: Basic Data Typing1413864
+Node: Glossary1417282
+Node: Copying1450404
+Node: GNU Free Documentation License1488165
+Node: Index1513488
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 32daddc3..3b906ca3 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -7514,7 +7514,9 @@ there are, the last field in a record can be represented 
by @code{$NF}.
 So, @code{$NF} is the same as @code{$7}, which is @samp{example.}.
 If you try to reference a field beyond the last
 one (such as @code{$8} when the record has only seven fields), you get
-the empty string.  (If used in a numeric operation, you get zero.)
+the empty string.  If used in a numeric operation, you get zero.@footnote{In
+either case, with the @option{--lint} option, @command{gawk} warns that you
+are referencing an uninitialized field.}
 The use of @code{$0}, which looks like a reference to the ``zeroth'' field, is
 a special case: it represents the whole input record. Use it
diff --git a/doc/ b/doc/
index be06acc3..c68f9403 100644
--- a/doc/
+++ b/doc/
@@ -7110,7 +7110,9 @@ there are, the last field in a record can be represented 
by @code{$NF}.
 So, @code{$NF} is the same as @code{$7}, which is @samp{example.}.
 If you try to reference a field beyond the last
 one (such as @code{$8} when the record has only seven fields), you get
-the empty string.  (If used in a numeric operation, you get zero.)
+the empty string.  If used in a numeric operation, you get zero.@footnote{In
+either case, with the @option{--lint} option, @command{gawk} warns that you
+are referencing an uninitialized field.}
 The use of @code{$0}, which looks like a reference to the ``zeroth'' field, is
 a special case: it represents the whole input record. Use it


Summary of changes:
 doc/ChangeLog   |    6 +
 doc/   | 1072 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |    4 +-
 doc/ |    4 +-
 4 files changed, 551 insertions(+), 535 deletions(-)


reply via email to

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