aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--LIMITATIONS22
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in2
-rw-r--r--doc/ChangeLog1
-rw-r--r--doc/gawk.info1062
-rw-r--r--doc/gawk.texi34
7 files changed, 592 insertions, 539 deletions
diff --git a/ChangeLog b/ChangeLog
index b5cc98aa..caf77361 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-11-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ Directory cleanup.
+
+ * TODO.xgawk, FUTURES: Merged into TODO.
+ * TODO: More stuff added.
+ * Makefile.am (EXTRA_DIST): Updated.
+
2012-11-22 Arnold D. Robbins <arnold@skeeve.com>
Cleanup of awk.h.
diff --git a/LIMITATIONS b/LIMITATIONS
deleted file mode 100644
index 719f018a..00000000
--- a/LIMITATIONS
+++ /dev/null
@@ -1,22 +0,0 @@
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
-
-This file describes limits of gawk on a Unix system (although it
-is variable even then). Non-Unix systems may have other limits.
-
-# of fields in a record: MAX_LONG
-Length of input record: MAX_INT
-Length of output record: unlimited
-Size of a field: MAX_INT
-Size of a printf string: MAX_INT
-Size of a literal string: MAX_INT
-Characters in a character class: 2^(# of bits per byte)
-# of file redirections: unlimited
-# of pipe redirections: min(# of processes per user, # of open files)
-double-precision floating point
-Length of source line: unlimited
-Number of input records in one file: MAX_LONG
-Number of input records total: MAX_LONG
diff --git a/Makefile.am b/Makefile.am
index b73f532f..085eadfe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,9 +35,7 @@ AM_MAKEFLAGS = 'CFLAGS=$(CFLAGS)' 'LDFLAGS=$(LDFLAGS)'
EXTRA_DIST = \
ChangeLog.0 \
COPYING \
- FUTURES \
INSTALL \
- LIMITATIONS \
NEWS \
NEWS.0 \
POSIX.STD \
diff --git a/Makefile.in b/Makefile.in
index f58c58e1..78e8fddc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -363,9 +363,7 @@ AM_MAKEFLAGS = 'CFLAGS=$(CFLAGS)' 'LDFLAGS=$(LDFLAGS)'
EXTRA_DIST = \
ChangeLog.0 \
COPYING \
- FUTURES \
INSTALL \
- LIMITATIONS \
NEWS \
NEWS.0 \
POSIX.STD \
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 53b59041..4f38e319 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -2,6 +2,7 @@
* gawk.texi (Future Extensions): Point to TODO file in the
gawk dist.
+ (Implementation Limitations): New node, from old LIMITATIONS file.
2012-11-22 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/doc/gawk.info b/doc/gawk.info
index 8c5b4356..0b7fd8cc 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -636,6 +636,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
`git' repository.
* Future Extensions:: New features that may be implemented
one day.
+* Implementation Limitations:: Some limitations of the implementation.
* Basic High Level:: The high level view.
* Basic Data Typing:: A very quick intro to data types.
@@ -26474,6 +26475,7 @@ and maintainers of `gawk'. Everything in it applies specifically to
extensions.
* Additions:: Making Additions To `gawk'.
* Future Extensions:: New features that may be implemented one day.
+* Implementation Limitations:: Some limitations of the implementation.

File: gawk.info, Node: Compatibility Mode, Next: Additions, Up: Notes
@@ -26557,6 +26559,10 @@ out a copy using CVS, as follows:
cvs -d:pserver:anonymous@pserver.git.sv.gnu.org:/gawk.git co -d gawk master
+ Note that this gateway is flakey; you may have better luck using a
+more modern version control system like Bazaar, that has a Git plug-in
+for working with Git repositories.
+

File: gawk.info, Node: Adding Code, Next: New Ports, Prev: Accessing The Source, Up: Additions
@@ -26915,7 +26921,7 @@ maintainers had dropped `.gz' and `.bz2' files and only distribute
include the generated files.

-File: gawk.info, Node: Future Extensions, Prev: Additions, Up: Notes
+File: gawk.info, Node: Future Extensions, Next: Implementation Limitations, Prev: Additions, Up: Notes
C.3 Probable Future Extensions
==============================
@@ -26926,13 +26932,44 @@ C.3 Probable Future Extensions
Hey!
Larry Wall
- The `TODO' file in the `gawk' distribution lists possible future
+ The `TODO' file in the `gawk' Git repository lists possible future
enhancements. Some of these relate to the source code, and others to
possible new features. Please see that file for the list. *Note
Additions::, if you are interested in tackling any of the projects
listed there.

+File: gawk.info, Node: Implementation Limitations, Prev: Future Extensions, Up: Notes
+
+C.4 Some Limitations of the Implementation
+==========================================
+
+This following table describes limits of `gawk' on a Unix-like system
+(although it is variable even then). Other systems may have different
+limits.
+
+Item Limit
+--------------------------------------------------------------------------
+Characters in a character 2^(number of bits per byte)
+class
+Length of input record `MAX_INT '
+Length of output record Unlimited
+Length of source line Unlimited
+Number of fields in a record `MAX_LONG'
+Number of file redirections Unlimited
+Number of input records in `MAX_LONG'
+one file
+Number of input records `MAX_LONG'
+total
+Number of pipe redirections min(number of processes per user, number
+ of open files)
+Numeric values Double-precision floating point (if not
+ using MPFR)
+Size of a field `MAX_INT '
+Size of a literal string `MAX_INT '
+Size of a printf string `MAX_INT '
+
+
File: gawk.info, Node: Basic Concepts, Next: Glossary, Prev: Notes, Up: Top
Appendix D Basic Programming Concepts
@@ -31723,515 +31760,516 @@ Index

Tag Table:
Node: Top1352
-Node: Foreword40058
-Node: Preface44403
-Ref: Preface-Footnote-147456
-Ref: Preface-Footnote-247562
-Node: History47794
-Node: Names50185
-Ref: Names-Footnote-151662
-Node: This Manual51734
-Ref: This Manual-Footnote-157640
-Node: Conventions57740
-Node: Manual History59874
-Ref: Manual History-Footnote-163144
-Ref: Manual History-Footnote-263185
-Node: How To Contribute63259
-Node: Acknowledgments64403
-Node: Getting Started68899
-Node: Running gawk71278
-Node: One-shot72464
-Node: Read Terminal73689
-Ref: Read Terminal-Footnote-175339
-Ref: Read Terminal-Footnote-275615
-Node: Long75786
-Node: Executable Scripts77162
-Ref: Executable Scripts-Footnote-179031
-Ref: Executable Scripts-Footnote-279133
-Node: Comments79680
-Node: Quoting82147
-Node: DOS Quoting86770
-Node: Sample Data Files87445
-Node: Very Simple90477
-Node: Two Rules95076
-Node: More Complex97223
-Ref: More Complex-Footnote-1100153
-Node: Statements/Lines100238
-Ref: Statements/Lines-Footnote-1104700
-Node: Other Features104965
-Node: When105893
-Node: Invoking Gawk108040
-Node: Command Line109501
-Node: Options110284
-Ref: Options-Footnote-1125682
-Node: Other Arguments125707
-Node: Naming Standard Input128365
-Node: Environment Variables129459
-Node: AWKPATH Variable130017
-Ref: AWKPATH Variable-Footnote-1132775
-Node: AWKLIBPATH Variable133035
-Node: Other Environment Variables133632
-Node: Exit Status136127
-Node: Include Files136802
-Node: Loading Shared Libraries140371
-Node: Obsolete141596
-Node: Undocumented142293
-Node: Regexp142536
-Node: Regexp Usage143925
-Node: Escape Sequences145951
-Node: Regexp Operators151714
-Ref: Regexp Operators-Footnote-1159094
-Ref: Regexp Operators-Footnote-2159241
-Node: Bracket Expressions159339
-Ref: table-char-classes161229
-Node: GNU Regexp Operators163752
-Node: Case-sensitivity167475
-Ref: Case-sensitivity-Footnote-1170443
-Ref: Case-sensitivity-Footnote-2170678
-Node: Leftmost Longest170786
-Node: Computed Regexps171987
-Node: Reading Files175397
-Node: Records177400
-Ref: Records-Footnote-1186324
-Node: Fields186361
-Ref: Fields-Footnote-1189394
-Node: Nonconstant Fields189480
-Node: Changing Fields191682
-Node: Field Separators197663
-Node: Default Field Splitting200292
-Node: Regexp Field Splitting201409
-Node: Single Character Fields204751
-Node: Command Line Field Separator205810
-Node: Field Splitting Summary209251
-Ref: Field Splitting Summary-Footnote-1212443
-Node: Constant Size212544
-Node: Splitting By Content217128
-Ref: Splitting By Content-Footnote-1220854
-Node: Multiple Line220894
-Ref: Multiple Line-Footnote-1226741
-Node: Getline226920
-Node: Plain Getline229136
-Node: Getline/Variable231225
-Node: Getline/File232366
-Node: Getline/Variable/File233688
-Ref: Getline/Variable/File-Footnote-1235287
-Node: Getline/Pipe235374
-Node: Getline/Variable/Pipe237934
-Node: Getline/Coprocess239041
-Node: Getline/Variable/Coprocess240284
-Node: Getline Notes240998
-Node: Getline Summary243785
-Ref: table-getline-variants244193
-Node: Read Timeout245051
-Ref: Read Timeout-Footnote-1248796
-Node: Command line directories248853
-Node: Printing249483
-Node: Print251114
-Node: Print Examples252451
-Node: Output Separators255235
-Node: OFMT256995
-Node: Printf258353
-Node: Basic Printf259259
-Node: Control Letters260798
-Node: Format Modifiers264610
-Node: Printf Examples270619
-Node: Redirection273334
-Node: Special Files280318
-Node: Special FD280851
-Ref: Special FD-Footnote-1284476
-Node: Special Network284550
-Node: Special Caveats285400
-Node: Close Files And Pipes286196
-Ref: Close Files And Pipes-Footnote-1293219
-Ref: Close Files And Pipes-Footnote-2293367
-Node: Expressions293517
-Node: Values294649
-Node: Constants295325
-Node: Scalar Constants296005
-Ref: Scalar Constants-Footnote-1296864
-Node: Nondecimal-numbers297046
-Node: Regexp Constants300105
-Node: Using Constant Regexps300580
-Node: Variables303635
-Node: Using Variables304290
-Node: Assignment Options306014
-Node: Conversion307886
-Ref: table-locale-affects313262
-Ref: Conversion-Footnote-1313886
-Node: All Operators313995
-Node: Arithmetic Ops314625
-Node: Concatenation317130
-Ref: Concatenation-Footnote-1319923
-Node: Assignment Ops320043
-Ref: table-assign-ops325031
-Node: Increment Ops326439
-Node: Truth Values and Conditions329909
-Node: Truth Values330992
-Node: Typing and Comparison332041
-Node: Variable Typing332830
-Ref: Variable Typing-Footnote-1336727
-Node: Comparison Operators336849
-Ref: table-relational-ops337259
-Node: POSIX String Comparison340808
-Ref: POSIX String Comparison-Footnote-1341764
-Node: Boolean Ops341902
-Ref: Boolean Ops-Footnote-1345980
-Node: Conditional Exp346071
-Node: Function Calls347803
-Node: Precedence351397
-Node: Locales355066
-Node: Patterns and Actions356155
-Node: Pattern Overview357209
-Node: Regexp Patterns358878
-Node: Expression Patterns359421
-Node: Ranges363106
-Node: BEGIN/END366072
-Node: Using BEGIN/END366834
-Ref: Using BEGIN/END-Footnote-1369565
-Node: I/O And BEGIN/END369671
-Node: BEGINFILE/ENDFILE371953
-Node: Empty374857
-Node: Using Shell Variables375173
-Node: Action Overview377458
-Node: Statements379815
-Node: If Statement381669
-Node: While Statement383168
-Node: Do Statement385212
-Node: For Statement386368
-Node: Switch Statement389520
-Node: Break Statement391617
-Node: Continue Statement393607
-Node: Next Statement395400
-Node: Nextfile Statement397790
-Node: Exit Statement400431
-Node: Built-in Variables402847
-Node: User-modified403942
-Ref: User-modified-Footnote-1412297
-Node: Auto-set412359
-Ref: Auto-set-Footnote-1424710
-Ref: Auto-set-Footnote-2424915
-Node: ARGC and ARGV424971
-Node: Arrays428822
-Node: Array Basics430327
-Node: Array Intro431153
-Node: Reference to Elements435471
-Node: Assigning Elements437741
-Node: Array Example438232
-Node: Scanning an Array439964
-Node: Controlling Scanning442278
-Ref: Controlling Scanning-Footnote-1447211
-Node: Delete447527
-Ref: Delete-Footnote-1450292
-Node: Numeric Array Subscripts450349
-Node: Uninitialized Subscripts452532
-Node: Multi-dimensional454160
-Node: Multi-scanning457254
-Node: Arrays of Arrays458845
-Node: Functions463490
-Node: Built-in464309
-Node: Calling Built-in465387
-Node: Numeric Functions467375
-Ref: Numeric Functions-Footnote-1471207
-Ref: Numeric Functions-Footnote-2471564
-Ref: Numeric Functions-Footnote-3471612
-Node: String Functions471881
-Ref: String Functions-Footnote-1495378
-Ref: String Functions-Footnote-2495507
-Ref: String Functions-Footnote-3495755
-Node: Gory Details495842
-Ref: table-sub-escapes497521
-Ref: table-sub-posix-92498875
-Ref: table-sub-proposed500226
-Ref: table-posix-sub501580
-Ref: table-gensub-escapes503126
-Ref: Gory Details-Footnote-1504333
-Ref: Gory Details-Footnote-2504384
-Node: I/O Functions504535
-Ref: I/O Functions-Footnote-1511190
-Node: Time Functions511337
-Ref: Time Functions-Footnote-1522229
-Ref: Time Functions-Footnote-2522297
-Ref: Time Functions-Footnote-3522455
-Ref: Time Functions-Footnote-4522566
-Ref: Time Functions-Footnote-5522678
-Ref: Time Functions-Footnote-6522905
-Node: Bitwise Functions523171
-Ref: table-bitwise-ops523729
-Ref: Bitwise Functions-Footnote-1527950
-Node: Type Functions528134
-Node: I18N Functions528604
-Node: User-defined530231
-Node: Definition Syntax531035
-Ref: Definition Syntax-Footnote-1535945
-Node: Function Example536014
-Node: Function Caveats538608
-Node: Calling A Function539029
-Node: Variable Scope540144
-Node: Pass By Value/Reference543107
-Node: Return Statement546547
-Node: Dynamic Typing549528
-Node: Indirect Calls550263
-Node: Library Functions559948
-Ref: Library Functions-Footnote-1562947
-Node: Library Names563118
-Ref: Library Names-Footnote-1566589
-Ref: Library Names-Footnote-2566809
-Node: General Functions566895
-Node: Strtonum Function567848
-Node: Assert Function570778
-Node: Round Function574104
-Node: Cliff Random Function575647
-Node: Ordinal Functions576663
-Ref: Ordinal Functions-Footnote-1579733
-Ref: Ordinal Functions-Footnote-2579985
-Node: Join Function580194
-Ref: Join Function-Footnote-1581965
-Node: Getlocaltime Function582165
-Node: Data File Management585880
-Node: Filetrans Function586512
-Node: Rewind Function590651
-Node: File Checking592038
-Node: Empty Files593132
-Node: Ignoring Assigns595362
-Node: Getopt Function596915
-Ref: Getopt Function-Footnote-1608219
-Node: Passwd Functions608422
-Ref: Passwd Functions-Footnote-1617397
-Node: Group Functions617485
-Node: Walking Arrays625569
-Node: Sample Programs627138
-Node: Running Examples627815
-Node: Clones628543
-Node: Cut Program629767
-Node: Egrep Program639612
-Ref: Egrep Program-Footnote-1647385
-Node: Id Program647495
-Node: Split Program651111
-Ref: Split Program-Footnote-1654630
-Node: Tee Program654758
-Node: Uniq Program657561
-Node: Wc Program664990
-Ref: Wc Program-Footnote-1669256
-Ref: Wc Program-Footnote-2669456
-Node: Miscellaneous Programs669548
-Node: Dupword Program670736
-Node: Alarm Program672767
-Node: Translate Program677516
-Ref: Translate Program-Footnote-1681903
-Ref: Translate Program-Footnote-2682131
-Node: Labels Program682265
-Ref: Labels Program-Footnote-1685636
-Node: Word Sorting685720
-Node: History Sorting689604
-Node: Extract Program691443
-Ref: Extract Program-Footnote-1698926
-Node: Simple Sed699054
-Node: Igawk Program702116
-Ref: Igawk Program-Footnote-1717273
-Ref: Igawk Program-Footnote-2717474
-Node: Anagram Program717612
-Node: Signature Program720680
-Node: Internationalization721780
-Node: I18N and L10N723212
-Node: Explaining gettext723898
-Ref: Explaining gettext-Footnote-1728964
-Ref: Explaining gettext-Footnote-2729148
-Node: Programmer i18n729313
-Node: Translator i18n733513
-Node: String Extraction734306
-Ref: String Extraction-Footnote-1735267
-Node: Printf Ordering735353
-Ref: Printf Ordering-Footnote-1738137
-Node: I18N Portability738201
-Ref: I18N Portability-Footnote-1740650
-Node: I18N Example740713
-Ref: I18N Example-Footnote-1743348
-Node: Gawk I18N743420
-Node: Advanced Features744037
-Node: Nondecimal Data745541
-Node: Array Sorting747124
-Node: Controlling Array Traversal747821
-Node: Array Sorting Functions756059
-Ref: Array Sorting Functions-Footnote-1759733
-Ref: Array Sorting Functions-Footnote-2759826
-Node: Two-way I/O760020
-Ref: Two-way I/O-Footnote-1765452
-Node: TCP/IP Networking765522
-Node: Profiling768366
-Node: Debugger775820
-Node: Debugging776788
-Node: Debugging Concepts777221
-Node: Debugging Terms779077
-Node: Awk Debugging781674
-Node: Sample Debugging Session782566
-Node: Debugger Invocation783086
-Node: Finding The Bug784415
-Node: List of Debugger Commands790903
-Node: Breakpoint Control792237
-Node: Debugger Execution Control795901
-Node: Viewing And Changing Data799261
-Node: Execution Stack802617
-Node: Debugger Info804084
-Node: Miscellaneous Debugger Commands808065
-Node: Readline Support813510
-Node: Limitations814341
-Node: Arbitrary Precision Arithmetic816593
-Ref: Arbitrary Precision Arithmetic-Footnote-1818235
-Node: General Arithmetic818383
-Node: Floating Point Issues820103
-Node: String Conversion Precision820984
-Ref: String Conversion Precision-Footnote-1822690
-Node: Unexpected Results822799
-Node: POSIX Floating Point Problems824952
-Ref: POSIX Floating Point Problems-Footnote-1828777
-Node: Integer Programming828815
-Node: Floating-point Programming830568
-Ref: Floating-point Programming-Footnote-1836877
-Node: Floating-point Representation837141
-Node: Floating-point Context838306
-Ref: table-ieee-formats839148
-Node: Rounding Mode840532
-Ref: table-rounding-modes841011
-Ref: Rounding Mode-Footnote-1844015
-Node: Gawk and MPFR844196
-Node: Arbitrary Precision Floats845438
-Ref: Arbitrary Precision Floats-Footnote-1847867
-Node: Setting Precision848178
-Node: Setting Rounding Mode850911
-Ref: table-gawk-rounding-modes851315
-Node: Floating-point Constants852495
-Node: Changing Precision853919
-Ref: Changing Precision-Footnote-1855319
-Node: Exact Arithmetic855493
-Node: Arbitrary Precision Integers858601
-Ref: Arbitrary Precision Integers-Footnote-1861601
-Node: Dynamic Extensions861748
-Node: Extension Intro863134
-Node: Plugin License864342
-Node: Extension Design865016
-Node: Old Extension Problems866087
-Ref: Old Extension Problems-Footnote-1867597
-Node: Extension New Mechanism Goals867654
-Ref: Extension New Mechanism Goals-Footnote-1870366
-Node: Extension Other Design Decisions870552
-Node: Extension Mechanism Outline872664
-Ref: load-extension873689
-Ref: load-new-function875167
-Ref: call-new-function876148
-Node: Extension Future Growth878142
-Node: Extension API Description878960
-Node: Extension API Functions Introduction880288
-Node: General Data Types884988
-Ref: General Data Types-Footnote-1890621
-Node: Requesting Values890920
-Ref: table-value-types-returned891651
-Node: Constructor Functions892605
-Node: Registration Functions895601
-Node: Extension Functions896286
-Node: Exit Callback Functions898105
-Node: Extension Version String899348
-Node: Input Parsers899998
-Node: Output Wrappers908577
-Node: Two-way processors912970
-Node: Printing Messages915092
-Ref: Printing Messages-Footnote-1916169
-Node: Updating `ERRNO'916321
-Node: Accessing Parameters917060
-Node: Symbol Table Access918290
-Node: Symbol table by name918802
-Ref: Symbol table by name-Footnote-1920972
-Node: Symbol table by cookie921052
-Ref: Symbol table by cookie-Footnote-1925181
-Node: Cached values925244
-Ref: Cached values-Footnote-1928687
-Node: Array Manipulation928778
-Ref: Array Manipulation-Footnote-1929876
-Node: Array Data Types929915
-Ref: Array Data Types-Footnote-1932618
-Node: Array Functions932710
-Node: Flattening Arrays936476
-Node: Creating Arrays943309
-Node: Extension API Variables948104
-Node: Extension Versioning948740
-Node: Extension API Informational Variables950641
-Node: Extension API Boilerplate951727
-Node: Finding Extensions955561
-Node: Extension Example956108
-Node: Internal File Description956846
-Node: Internal File Ops960534
-Ref: Internal File Ops-Footnote-1971981
-Node: Using Internal File Ops972121
-Ref: Using Internal File Ops-Footnote-1974477
-Node: Extension Samples974743
-Node: Extension Sample File Functions976186
-Node: Extension Sample Fnmatch984659
-Node: Extension Sample Fork986385
-Node: Extension Sample Ord987599
-Node: Extension Sample Readdir988375
-Node: Extension Sample Revout989879
-Node: Extension Sample Rev2way990472
-Node: Extension Sample Read write array991162
-Node: Extension Sample Readfile993045
-Node: Extension Sample API Tests993800
-Node: Extension Sample Time994325
-Node: gawkextlib995632
-Node: Language History998013
-Node: V7/SVR3.1999535
-Node: SVR41001856
-Node: POSIX1003298
-Node: BTL1004306
-Node: POSIX/GNU1005040
-Node: Common Extensions1010575
-Node: Ranges and Locales1011682
-Ref: Ranges and Locales-Footnote-11016300
-Ref: Ranges and Locales-Footnote-21016327
-Ref: Ranges and Locales-Footnote-31016587
-Node: Contributors1016808
-Node: Installation1021104
-Node: Gawk Distribution1021998
-Node: Getting1022482
-Node: Extracting1023308
-Node: Distribution contents1025000
-Node: Unix Installation1030222
-Node: Quick Installation1030839
-Node: Additional Configuration Options1032801
-Node: Configuration Philosophy1034278
-Node: Non-Unix Installation1036620
-Node: PC Installation1037078
-Node: PC Binary Installation1038377
-Node: PC Compiling1040225
-Node: PC Testing1043169
-Node: PC Using1044345
-Node: Cygwin1048530
-Node: MSYS1049530
-Node: VMS Installation1050044
-Node: VMS Compilation1050647
-Ref: VMS Compilation-Footnote-11051654
-Node: VMS Installation Details1051712
-Node: VMS Running1053347
-Node: VMS Old Gawk1054954
-Node: Bugs1055428
-Node: Other Versions1059280
-Node: Notes1064595
-Node: Compatibility Mode1065182
-Node: Additions1065965
-Node: Accessing The Source1066892
-Node: Adding Code1068318
-Node: New Ports1074360
-Node: Derived Files1078495
-Ref: Derived Files-Footnote-11083803
-Ref: Derived Files-Footnote-21083837
-Ref: Derived Files-Footnote-31084437
-Node: Future Extensions1084535
-Node: Basic Concepts1085079
-Node: Basic High Level1085760
-Ref: figure-general-flow1086031
-Ref: figure-process-flow1086630
-Ref: Basic High Level-Footnote-11089859
-Node: Basic Data Typing1090044
-Node: Glossary1093399
-Node: Copying1118710
-Node: GNU Free Documentation License1156267
-Node: Index1181404
+Node: Foreword40138
+Node: Preface44483
+Ref: Preface-Footnote-147536
+Ref: Preface-Footnote-247642
+Node: History47874
+Node: Names50265
+Ref: Names-Footnote-151742
+Node: This Manual51814
+Ref: This Manual-Footnote-157720
+Node: Conventions57820
+Node: Manual History59954
+Ref: Manual History-Footnote-163224
+Ref: Manual History-Footnote-263265
+Node: How To Contribute63339
+Node: Acknowledgments64483
+Node: Getting Started68979
+Node: Running gawk71358
+Node: One-shot72544
+Node: Read Terminal73769
+Ref: Read Terminal-Footnote-175419
+Ref: Read Terminal-Footnote-275695
+Node: Long75866
+Node: Executable Scripts77242
+Ref: Executable Scripts-Footnote-179111
+Ref: Executable Scripts-Footnote-279213
+Node: Comments79760
+Node: Quoting82227
+Node: DOS Quoting86850
+Node: Sample Data Files87525
+Node: Very Simple90557
+Node: Two Rules95156
+Node: More Complex97303
+Ref: More Complex-Footnote-1100233
+Node: Statements/Lines100318
+Ref: Statements/Lines-Footnote-1104780
+Node: Other Features105045
+Node: When105973
+Node: Invoking Gawk108120
+Node: Command Line109581
+Node: Options110364
+Ref: Options-Footnote-1125762
+Node: Other Arguments125787
+Node: Naming Standard Input128445
+Node: Environment Variables129539
+Node: AWKPATH Variable130097
+Ref: AWKPATH Variable-Footnote-1132855
+Node: AWKLIBPATH Variable133115
+Node: Other Environment Variables133712
+Node: Exit Status136207
+Node: Include Files136882
+Node: Loading Shared Libraries140451
+Node: Obsolete141676
+Node: Undocumented142373
+Node: Regexp142616
+Node: Regexp Usage144005
+Node: Escape Sequences146031
+Node: Regexp Operators151794
+Ref: Regexp Operators-Footnote-1159174
+Ref: Regexp Operators-Footnote-2159321
+Node: Bracket Expressions159419
+Ref: table-char-classes161309
+Node: GNU Regexp Operators163832
+Node: Case-sensitivity167555
+Ref: Case-sensitivity-Footnote-1170523
+Ref: Case-sensitivity-Footnote-2170758
+Node: Leftmost Longest170866
+Node: Computed Regexps172067
+Node: Reading Files175477
+Node: Records177480
+Ref: Records-Footnote-1186404
+Node: Fields186441
+Ref: Fields-Footnote-1189474
+Node: Nonconstant Fields189560
+Node: Changing Fields191762
+Node: Field Separators197743
+Node: Default Field Splitting200372
+Node: Regexp Field Splitting201489
+Node: Single Character Fields204831
+Node: Command Line Field Separator205890
+Node: Field Splitting Summary209331
+Ref: Field Splitting Summary-Footnote-1212523
+Node: Constant Size212624
+Node: Splitting By Content217208
+Ref: Splitting By Content-Footnote-1220934
+Node: Multiple Line220974
+Ref: Multiple Line-Footnote-1226821
+Node: Getline227000
+Node: Plain Getline229216
+Node: Getline/Variable231305
+Node: Getline/File232446
+Node: Getline/Variable/File233768
+Ref: Getline/Variable/File-Footnote-1235367
+Node: Getline/Pipe235454
+Node: Getline/Variable/Pipe238014
+Node: Getline/Coprocess239121
+Node: Getline/Variable/Coprocess240364
+Node: Getline Notes241078
+Node: Getline Summary243865
+Ref: table-getline-variants244273
+Node: Read Timeout245131
+Ref: Read Timeout-Footnote-1248876
+Node: Command line directories248933
+Node: Printing249563
+Node: Print251194
+Node: Print Examples252531
+Node: Output Separators255315
+Node: OFMT257075
+Node: Printf258433
+Node: Basic Printf259339
+Node: Control Letters260878
+Node: Format Modifiers264690
+Node: Printf Examples270699
+Node: Redirection273414
+Node: Special Files280398
+Node: Special FD280931
+Ref: Special FD-Footnote-1284556
+Node: Special Network284630
+Node: Special Caveats285480
+Node: Close Files And Pipes286276
+Ref: Close Files And Pipes-Footnote-1293299
+Ref: Close Files And Pipes-Footnote-2293447
+Node: Expressions293597
+Node: Values294729
+Node: Constants295405
+Node: Scalar Constants296085
+Ref: Scalar Constants-Footnote-1296944
+Node: Nondecimal-numbers297126
+Node: Regexp Constants300185
+Node: Using Constant Regexps300660
+Node: Variables303715
+Node: Using Variables304370
+Node: Assignment Options306094
+Node: Conversion307966
+Ref: table-locale-affects313342
+Ref: Conversion-Footnote-1313966
+Node: All Operators314075
+Node: Arithmetic Ops314705
+Node: Concatenation317210
+Ref: Concatenation-Footnote-1320003
+Node: Assignment Ops320123
+Ref: table-assign-ops325111
+Node: Increment Ops326519
+Node: Truth Values and Conditions329989
+Node: Truth Values331072
+Node: Typing and Comparison332121
+Node: Variable Typing332910
+Ref: Variable Typing-Footnote-1336807
+Node: Comparison Operators336929
+Ref: table-relational-ops337339
+Node: POSIX String Comparison340888
+Ref: POSIX String Comparison-Footnote-1341844
+Node: Boolean Ops341982
+Ref: Boolean Ops-Footnote-1346060
+Node: Conditional Exp346151
+Node: Function Calls347883
+Node: Precedence351477
+Node: Locales355146
+Node: Patterns and Actions356235
+Node: Pattern Overview357289
+Node: Regexp Patterns358958
+Node: Expression Patterns359501
+Node: Ranges363186
+Node: BEGIN/END366152
+Node: Using BEGIN/END366914
+Ref: Using BEGIN/END-Footnote-1369645
+Node: I/O And BEGIN/END369751
+Node: BEGINFILE/ENDFILE372033
+Node: Empty374937
+Node: Using Shell Variables375253
+Node: Action Overview377538
+Node: Statements379895
+Node: If Statement381749
+Node: While Statement383248
+Node: Do Statement385292
+Node: For Statement386448
+Node: Switch Statement389600
+Node: Break Statement391697
+Node: Continue Statement393687
+Node: Next Statement395480
+Node: Nextfile Statement397870
+Node: Exit Statement400511
+Node: Built-in Variables402927
+Node: User-modified404022
+Ref: User-modified-Footnote-1412377
+Node: Auto-set412439
+Ref: Auto-set-Footnote-1424790
+Ref: Auto-set-Footnote-2424995
+Node: ARGC and ARGV425051
+Node: Arrays428902
+Node: Array Basics430407
+Node: Array Intro431233
+Node: Reference to Elements435551
+Node: Assigning Elements437821
+Node: Array Example438312
+Node: Scanning an Array440044
+Node: Controlling Scanning442358
+Ref: Controlling Scanning-Footnote-1447291
+Node: Delete447607
+Ref: Delete-Footnote-1450372
+Node: Numeric Array Subscripts450429
+Node: Uninitialized Subscripts452612
+Node: Multi-dimensional454240
+Node: Multi-scanning457334
+Node: Arrays of Arrays458925
+Node: Functions463570
+Node: Built-in464389
+Node: Calling Built-in465467
+Node: Numeric Functions467455
+Ref: Numeric Functions-Footnote-1471287
+Ref: Numeric Functions-Footnote-2471644
+Ref: Numeric Functions-Footnote-3471692
+Node: String Functions471961
+Ref: String Functions-Footnote-1495458
+Ref: String Functions-Footnote-2495587
+Ref: String Functions-Footnote-3495835
+Node: Gory Details495922
+Ref: table-sub-escapes497601
+Ref: table-sub-posix-92498955
+Ref: table-sub-proposed500306
+Ref: table-posix-sub501660
+Ref: table-gensub-escapes503206
+Ref: Gory Details-Footnote-1504413
+Ref: Gory Details-Footnote-2504464
+Node: I/O Functions504615
+Ref: I/O Functions-Footnote-1511270
+Node: Time Functions511417
+Ref: Time Functions-Footnote-1522309
+Ref: Time Functions-Footnote-2522377
+Ref: Time Functions-Footnote-3522535
+Ref: Time Functions-Footnote-4522646
+Ref: Time Functions-Footnote-5522758
+Ref: Time Functions-Footnote-6522985
+Node: Bitwise Functions523251
+Ref: table-bitwise-ops523809
+Ref: Bitwise Functions-Footnote-1528030
+Node: Type Functions528214
+Node: I18N Functions528684
+Node: User-defined530311
+Node: Definition Syntax531115
+Ref: Definition Syntax-Footnote-1536025
+Node: Function Example536094
+Node: Function Caveats538688
+Node: Calling A Function539109
+Node: Variable Scope540224
+Node: Pass By Value/Reference543187
+Node: Return Statement546627
+Node: Dynamic Typing549608
+Node: Indirect Calls550343
+Node: Library Functions560028
+Ref: Library Functions-Footnote-1563027
+Node: Library Names563198
+Ref: Library Names-Footnote-1566669
+Ref: Library Names-Footnote-2566889
+Node: General Functions566975
+Node: Strtonum Function567928
+Node: Assert Function570858
+Node: Round Function574184
+Node: Cliff Random Function575727
+Node: Ordinal Functions576743
+Ref: Ordinal Functions-Footnote-1579813
+Ref: Ordinal Functions-Footnote-2580065
+Node: Join Function580274
+Ref: Join Function-Footnote-1582045
+Node: Getlocaltime Function582245
+Node: Data File Management585960
+Node: Filetrans Function586592
+Node: Rewind Function590731
+Node: File Checking592118
+Node: Empty Files593212
+Node: Ignoring Assigns595442
+Node: Getopt Function596995
+Ref: Getopt Function-Footnote-1608299
+Node: Passwd Functions608502
+Ref: Passwd Functions-Footnote-1617477
+Node: Group Functions617565
+Node: Walking Arrays625649
+Node: Sample Programs627218
+Node: Running Examples627895
+Node: Clones628623
+Node: Cut Program629847
+Node: Egrep Program639692
+Ref: Egrep Program-Footnote-1647465
+Node: Id Program647575
+Node: Split Program651191
+Ref: Split Program-Footnote-1654710
+Node: Tee Program654838
+Node: Uniq Program657641
+Node: Wc Program665070
+Ref: Wc Program-Footnote-1669336
+Ref: Wc Program-Footnote-2669536
+Node: Miscellaneous Programs669628
+Node: Dupword Program670816
+Node: Alarm Program672847
+Node: Translate Program677596
+Ref: Translate Program-Footnote-1681983
+Ref: Translate Program-Footnote-2682211
+Node: Labels Program682345
+Ref: Labels Program-Footnote-1685716
+Node: Word Sorting685800
+Node: History Sorting689684
+Node: Extract Program691523
+Ref: Extract Program-Footnote-1699006
+Node: Simple Sed699134
+Node: Igawk Program702196
+Ref: Igawk Program-Footnote-1717353
+Ref: Igawk Program-Footnote-2717554
+Node: Anagram Program717692
+Node: Signature Program720760
+Node: Internationalization721860
+Node: I18N and L10N723292
+Node: Explaining gettext723978
+Ref: Explaining gettext-Footnote-1729044
+Ref: Explaining gettext-Footnote-2729228
+Node: Programmer i18n729393
+Node: Translator i18n733593
+Node: String Extraction734386
+Ref: String Extraction-Footnote-1735347
+Node: Printf Ordering735433
+Ref: Printf Ordering-Footnote-1738217
+Node: I18N Portability738281
+Ref: I18N Portability-Footnote-1740730
+Node: I18N Example740793
+Ref: I18N Example-Footnote-1743428
+Node: Gawk I18N743500
+Node: Advanced Features744117
+Node: Nondecimal Data745621
+Node: Array Sorting747204
+Node: Controlling Array Traversal747901
+Node: Array Sorting Functions756139
+Ref: Array Sorting Functions-Footnote-1759813
+Ref: Array Sorting Functions-Footnote-2759906
+Node: Two-way I/O760100
+Ref: Two-way I/O-Footnote-1765532
+Node: TCP/IP Networking765602
+Node: Profiling768446
+Node: Debugger775900
+Node: Debugging776868
+Node: Debugging Concepts777301
+Node: Debugging Terms779157
+Node: Awk Debugging781754
+Node: Sample Debugging Session782646
+Node: Debugger Invocation783166
+Node: Finding The Bug784495
+Node: List of Debugger Commands790983
+Node: Breakpoint Control792317
+Node: Debugger Execution Control795981
+Node: Viewing And Changing Data799341
+Node: Execution Stack802697
+Node: Debugger Info804164
+Node: Miscellaneous Debugger Commands808145
+Node: Readline Support813590
+Node: Limitations814421
+Node: Arbitrary Precision Arithmetic816673
+Ref: Arbitrary Precision Arithmetic-Footnote-1818315
+Node: General Arithmetic818463
+Node: Floating Point Issues820183
+Node: String Conversion Precision821064
+Ref: String Conversion Precision-Footnote-1822770
+Node: Unexpected Results822879
+Node: POSIX Floating Point Problems825032
+Ref: POSIX Floating Point Problems-Footnote-1828857
+Node: Integer Programming828895
+Node: Floating-point Programming830648
+Ref: Floating-point Programming-Footnote-1836957
+Node: Floating-point Representation837221
+Node: Floating-point Context838386
+Ref: table-ieee-formats839228
+Node: Rounding Mode840612
+Ref: table-rounding-modes841091
+Ref: Rounding Mode-Footnote-1844095
+Node: Gawk and MPFR844276
+Node: Arbitrary Precision Floats845518
+Ref: Arbitrary Precision Floats-Footnote-1847947
+Node: Setting Precision848258
+Node: Setting Rounding Mode850991
+Ref: table-gawk-rounding-modes851395
+Node: Floating-point Constants852575
+Node: Changing Precision853999
+Ref: Changing Precision-Footnote-1855399
+Node: Exact Arithmetic855573
+Node: Arbitrary Precision Integers858681
+Ref: Arbitrary Precision Integers-Footnote-1861681
+Node: Dynamic Extensions861828
+Node: Extension Intro863214
+Node: Plugin License864422
+Node: Extension Design865096
+Node: Old Extension Problems866167
+Ref: Old Extension Problems-Footnote-1867677
+Node: Extension New Mechanism Goals867734
+Ref: Extension New Mechanism Goals-Footnote-1870446
+Node: Extension Other Design Decisions870632
+Node: Extension Mechanism Outline872744
+Ref: load-extension873769
+Ref: load-new-function875247
+Ref: call-new-function876228
+Node: Extension Future Growth878222
+Node: Extension API Description879040
+Node: Extension API Functions Introduction880368
+Node: General Data Types885068
+Ref: General Data Types-Footnote-1890701
+Node: Requesting Values891000
+Ref: table-value-types-returned891731
+Node: Constructor Functions892685
+Node: Registration Functions895681
+Node: Extension Functions896366
+Node: Exit Callback Functions898185
+Node: Extension Version String899428
+Node: Input Parsers900078
+Node: Output Wrappers908657
+Node: Two-way processors913050
+Node: Printing Messages915172
+Ref: Printing Messages-Footnote-1916249
+Node: Updating `ERRNO'916401
+Node: Accessing Parameters917140
+Node: Symbol Table Access918370
+Node: Symbol table by name918882
+Ref: Symbol table by name-Footnote-1921052
+Node: Symbol table by cookie921132
+Ref: Symbol table by cookie-Footnote-1925261
+Node: Cached values925324
+Ref: Cached values-Footnote-1928767
+Node: Array Manipulation928858
+Ref: Array Manipulation-Footnote-1929956
+Node: Array Data Types929995
+Ref: Array Data Types-Footnote-1932698
+Node: Array Functions932790
+Node: Flattening Arrays936556
+Node: Creating Arrays943389
+Node: Extension API Variables948184
+Node: Extension Versioning948820
+Node: Extension API Informational Variables950721
+Node: Extension API Boilerplate951807
+Node: Finding Extensions955641
+Node: Extension Example956188
+Node: Internal File Description956926
+Node: Internal File Ops960614
+Ref: Internal File Ops-Footnote-1972061
+Node: Using Internal File Ops972201
+Ref: Using Internal File Ops-Footnote-1974557
+Node: Extension Samples974823
+Node: Extension Sample File Functions976266
+Node: Extension Sample Fnmatch984739
+Node: Extension Sample Fork986465
+Node: Extension Sample Ord987679
+Node: Extension Sample Readdir988455
+Node: Extension Sample Revout989959
+Node: Extension Sample Rev2way990552
+Node: Extension Sample Read write array991242
+Node: Extension Sample Readfile993125
+Node: Extension Sample API Tests993880
+Node: Extension Sample Time994405
+Node: gawkextlib995712
+Node: Language History998093
+Node: V7/SVR3.1999615
+Node: SVR41001936
+Node: POSIX1003378
+Node: BTL1004386
+Node: POSIX/GNU1005120
+Node: Common Extensions1010655
+Node: Ranges and Locales1011762
+Ref: Ranges and Locales-Footnote-11016380
+Ref: Ranges and Locales-Footnote-21016407
+Ref: Ranges and Locales-Footnote-31016667
+Node: Contributors1016888
+Node: Installation1021184
+Node: Gawk Distribution1022078
+Node: Getting1022562
+Node: Extracting1023388
+Node: Distribution contents1025080
+Node: Unix Installation1030302
+Node: Quick Installation1030919
+Node: Additional Configuration Options1032881
+Node: Configuration Philosophy1034358
+Node: Non-Unix Installation1036700
+Node: PC Installation1037158
+Node: PC Binary Installation1038457
+Node: PC Compiling1040305
+Node: PC Testing1043249
+Node: PC Using1044425
+Node: Cygwin1048610
+Node: MSYS1049610
+Node: VMS Installation1050124
+Node: VMS Compilation1050727
+Ref: VMS Compilation-Footnote-11051734
+Node: VMS Installation Details1051792
+Node: VMS Running1053427
+Node: VMS Old Gawk1055034
+Node: Bugs1055508
+Node: Other Versions1059360
+Node: Notes1064675
+Node: Compatibility Mode1065334
+Node: Additions1066117
+Node: Accessing The Source1067044
+Node: Adding Code1068647
+Node: New Ports1074689
+Node: Derived Files1078824
+Ref: Derived Files-Footnote-11084132
+Ref: Derived Files-Footnote-21084166
+Ref: Derived Files-Footnote-31084766
+Node: Future Extensions1084864
+Node: Implementation Limitations1085445
+Node: Basic Concepts1086672
+Node: Basic High Level1087353
+Ref: figure-general-flow1087624
+Ref: figure-process-flow1088223
+Ref: Basic High Level-Footnote-11091452
+Node: Basic Data Typing1091637
+Node: Glossary1094992
+Node: Copying1120303
+Node: GNU Free Documentation License1157860
+Node: Index1182997

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 0e83b268..fb008d74 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -844,6 +844,7 @@ particular records in a file and perform operations upon them.
@command{git} repository.
* Future Extensions:: New features that may be implemented
one day.
+* Implementation Limitations:: Some limitations of the implementation.
* Basic High Level:: The high level view.
* Basic Data Typing:: A very quick intro to data types.
@end detailmenu
@@ -34279,6 +34280,7 @@ maintainers of @command{gawk}. Everything in it applies specifically to
extensions.
* Additions:: Making Additions To @command{gawk}.
* Future Extensions:: New features that may be implemented one day.
+* Implementation Limitations:: Some limitations of the implementation.
@end menu
@node Compatibility Mode
@@ -34367,6 +34369,10 @@ to check out a copy using CVS, as follows:
cvs -d:pserver:anonymous@@pserver.git.sv.gnu.org:/gawk.git co -d gawk master
@end example
+Note that this gateway is flakey; you may have better luck using
+a more modern version control system like Bazaar, that has a Git
+plug-in for working with Git repositories.
+
@node Adding Code
@appendixsubsec Adding New Features
@@ -34874,11 +34880,37 @@ Arnold Robbins
Larry Wall
@end quotation
-The @file{TODO} file in the @command{gawk} distribution lists possible
+The @file{TODO} file in the @command{gawk} Git repository lists possible
future enhancements. Some of these relate to the source code, and others
to possible new features. Please see that file for the list.
@xref{Additions},
if you are interested in tackling any of the projects listed there.
+
+@node Implementation Limitations
+@appendixsec Some Limitations of the Implementation
+
+This following table describes limits of @command{gawk} on a Unix-like
+system (although it is variable even then). Other systems may have
+different limits.
+
+@c @multitable {Number of file redirections} {min(number of processes per user, number of open files)}
+@multitable @columnfractions .40 .60
+@headitem Item @tab Limit
+@item Characters in a character class @tab 2^(number of bits per byte)
+@item Length of input record @tab @code{MAX_INT }
+@item Length of output record @tab Unlimited
+@item Length of source line @tab Unlimited
+@item Number of fields in a record @tab @code{MAX_LONG}
+@item Number of file redirections @tab Unlimited
+@item Number of input records in one file @tab @code{MAX_LONG}
+@item Number of input records total @tab @code{MAX_LONG}
+@item Number of pipe redirections @tab min(number of processes per user, number of open files)
+@item Numeric values @tab Double-precision floating point (if not using MPFR)
+@item Size of a field @tab @code{MAX_INT }
+@item Size of a literal string @tab @code{MAX_INT }
+@item Size of a printf string @tab @code{MAX_INT }
+@end multitable
+
@c ENDOFRANGE impis
@c ENDOFRANGE gawii