summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2015-01-02 15:20:15 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2015-01-02 15:20:15 -0500
commitb97472e2be3aa040e59ac9ca4e54a7639be067ff (patch)
tree37684e5cd647c65bd6b4f67c2b2234b04ad315f3
parente5f5db59aacd63af3369cb113c1c7b097c2f4be5 (diff)
parentf19d6c877ef2e467965b6fec2561be8b8ca5db94 (diff)
downloadgawk-b97472e2be3aa040e59ac9ca4e54a7639be067ff.tar.gz
Merge branch 'master' into select
-rw-r--r--ChangeLog5
-rw-r--r--doc/ChangeLog12
-rw-r--r--doc/gawk.info1181
-rw-r--r--doc/gawk.texi107
-rw-r--r--doc/gawktexi.in107
-rw-r--r--doc/texinfo.tex123
-rw-r--r--po/it.po1146
-rw-r--r--profile.c1
-rw-r--r--test/ChangeLog11
-rw-r--r--test/Makefile.am7
-rw-r--r--test/Makefile.in12
-rw-r--r--test/Maketests5
-rw-r--r--test/badbuild.awk6
-rw-r--r--test/badbuild.in1
-rw-r--r--test/badbuild.ok3
15 files changed, 1427 insertions, 1300 deletions
diff --git a/ChangeLog b/ChangeLog
index 475a8aec..c5f29f44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * profile.c (pprint): Be sure to set ip2 in all paths
+ through the code. Thanks to GCC 4.9 for the warning.
+
2014-12-12 Stephen Davies <sdavies@sdc.com.au>
Improve comment handling in pretty printing.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index cf320744..19278667 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,15 @@
+2014-12-26 Antonio Giovanni Colombo <azc100@gmail.com>
+
+ * gawktexi.in (Glossary): Really sort the items.
+
+2014-12-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Add one more paragraph to new foreword.
+ * gawktexi.in: Fix exponentiation in TeX mode. Thanks to
+ Marco Curreli by way of Antonio Giovanni Columbo.
+
+ * texinfo.tex: Updated.
+
2014-12-12 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Minor fix.
diff --git a/doc/gawk.info b/doc/gawk.info
index 8e5e6b29..e501b297 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -798,6 +798,9 @@ module loads the C/C++ module as a dynamic plug-in. *note Dynamic
Extensions::, has all the details, and as expected, many examples to
help you learn the ins and outs.
+ I enjoy programming in AWK and had fun (re)reading this book. I
+think you will too.
+
Michael Brennan
Author of `mawk'
October 2014
@@ -29692,13 +29695,11 @@ CHEM
Brian Kernighan and Jon Bentley, and is available from
`http://netlib.sandia.gov/netlib/typesetting/chem.gz'.
-Cookie
- A peculiar goodie, token, saying or remembrance produced by or
- presented to a program. (With thanks to Professor Doug McIlroy.)
-
-Coprocess
- A subordinate program with which two-way communications is
- possible.
+Comparison Expression
+ A relation that is either true or false, such as `a < b'.
+ Comparison expressions are used in `if', `while', `do', and `for'
+ statements, and in patterns to select which input records to
+ process. (*Note Typing and Comparison::.)
Compiler
A program that translates human-readable source code into
@@ -29722,11 +29723,13 @@ Conditional Expression
otherwise the value is EXPR3. In either case, only one of EXPR2
and EXPR3 is evaluated. (*Note Conditional Exp::.)
-Comparison Expression
- A relation that is either true or false, such as `a < b'.
- Comparison expressions are used in `if', `while', `do', and `for'
- statements, and in patterns to select which input records to
- process. (*Note Typing and Comparison::.)
+Cookie
+ A peculiar goodie, token, saying or remembrance produced by or
+ presented to a program. (With thanks to Professor Doug McIlroy.)
+
+Coprocess
+ A subordinate program with which two-way communications is
+ possible.
Curly Braces
See "Braces."
@@ -29768,15 +29771,15 @@ Dynamic Regular Expression
`"foo"', but it may also be an expression whose value can vary.
(*Note Computed Regexps::.)
+Empty String
+ See "Null String."
+
Environment
A collection of strings, of the form `NAME=VAL', that each program
has available to it. Users generally place values into the
environment in order to provide information to various programs.
Typical examples are the environment variables `HOME' and `PATH'.
-Empty String
- See "Null String."
-
Epoch
The date used as the "beginning of time" for timestamps. Time
values in most systems are represented as seconds since the epoch,
@@ -29831,20 +29834,20 @@ Free Documentation License
published and may be copied. (*Note GNU Free Documentation
License::.)
-Function
- A specialized group of statements used to encapsulate general or
- program-specific tasks. `awk' has a number of built-in functions,
- and also allows you to define your own. (*Note Functions::.)
-
-FSF
- See "Free Software Foundation."
-
Free Software Foundation
A nonprofit organization dedicated to the production and
distribution of freely distributable software. It was founded by
Richard M. Stallman, the author of the original Emacs editor. GNU
Emacs is the most widely used version of Emacs today.
+FSF
+ See "Free Software Foundation."
+
+Function
+ A specialized group of statements used to encapsulate general or
+ program-specific tasks. `awk' has a number of built-in functions,
+ and also allows you to define your own. (*Note Functions::.)
+
`gawk'
The GNU implementation of `awk'.
@@ -29944,12 +29947,12 @@ Lesser General Public License
archives or shared objects, and their source code may be
distributed.
-Linux
- See "GNU/Linux."
-
LGPL
See "Lesser General Public License."
+Linux
+ See "GNU/Linux."
+
Localization
The process of providing the data necessary for an
internationalized program to work in a particular language.
@@ -30088,13 +30091,13 @@ Search Path
source files. In the shell, a list of directories to search for
executable programs.
+`sed'
+ See "Stream Editor."
+
Seed
The initial value, or starting point, for a sequence of random
numbers.
-`sed'
- See "Stream Editor."
-
Shell
The command interpreter for Unix and POSIX-compliant systems. The
shell works both interactively, and as a programming language for
@@ -31999,7 +32002,7 @@ Index
* Brennan, Michael <2>: Simple Sed. (line 25)
* Brennan, Michael <3>: Delete. (line 56)
* Brennan, Michael <4>: Acknowledgments. (line 78)
-* Brennan, Michael <5>: Foreword4. (line 30)
+* Brennan, Michael <5>: Foreword4. (line 33)
* Brennan, Michael: Foreword3. (line 84)
* Brian Kernighan's awk <1>: I/O Functions. (line 43)
* Brian Kernighan's awk <2>: Gory Details. (line 19)
@@ -32153,7 +32156,7 @@ Index
* compatibility mode (gawk), octal numbers: Nondecimal-numbers.
(line 60)
* compatibility mode (gawk), specifying: Options. (line 81)
-* compiled programs <1>: Glossary. (line 157)
+* compiled programs <1>: Glossary. (line 155)
* compiled programs: Basic High Level. (line 15)
* compiling gawk for Cygwin: Cygwin. (line 6)
* compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 13)
@@ -32199,7 +32202,7 @@ Index
* CONVFMT variable: Strings And Numbers. (line 29)
* CONVFMT variable, and array subscripts: Numeric Array Subscripts.
(line 6)
-* cookie: Glossary. (line 149)
+* cookie: Glossary. (line 177)
* coprocesses <1>: Two-way I/O. (line 25)
* coprocesses: Redirection. (line 96)
* coprocesses, closing: Close Files And Pipes.
@@ -32816,7 +32819,7 @@ Index
* frame debugger command: Execution Stack. (line 27)
* Free Documentation License (FDL): GNU Free Documentation License.
(line 7)
-* Free Software Foundation (FSF) <1>: Glossary. (line 296)
+* Free Software Foundation (FSF) <1>: Glossary. (line 288)
* Free Software Foundation (FSF) <2>: Getting. (line 10)
* Free Software Foundation (FSF): Manual History. (line 6)
* FreeBSD: Glossary. (line 611)
@@ -32833,7 +32836,7 @@ Index
* FS, containing ^: Regexp Field Splitting.
(line 59)
* FS, in multiline records: Multiple Line. (line 41)
-* FSF (Free Software Foundation) <1>: Glossary. (line 296)
+* FSF (Free Software Foundation) <1>: Glossary. (line 288)
* FSF (Free Software Foundation) <2>: Getting. (line 10)
* FSF (Free Software Foundation): Manual History. (line 6)
* fts() extension function: Extension Sample File Functions.
@@ -33358,7 +33361,7 @@ Index
* mawk utility <4>: Getline/Pipe. (line 62)
* mawk utility: Escape Sequences. (line 120)
* maximum precision supported by MPFR library: Auto-set. (line 235)
-* McIlroy, Doug: Glossary. (line 149)
+* McIlroy, Doug: Glossary. (line 177)
* McPhee, Patrick: Contributors. (line 100)
* message object files: Explaining gettext. (line 42)
* message object files, converting from portable object files: I18N Example.
@@ -34109,7 +34112,7 @@ Index
* square root: Numeric Functions. (line 92)
* srand: Numeric Functions. (line 96)
* stack frame: Debugging Terms. (line 10)
-* Stallman, Richard <1>: Glossary. (line 296)
+* Stallman, Richard <1>: Glossary. (line 288)
* Stallman, Richard <2>: Contributors. (line 23)
* Stallman, Richard <3>: Acknowledgments. (line 18)
* Stallman, Richard: Manual History. (line 6)
@@ -34452,558 +34455,558 @@ Tag Table:
Node: Top1204
Node: Foreword342225
Node: Foreword446667
-Node: Preface48100
-Ref: Preface-Footnote-150971
-Ref: Preface-Footnote-251078
-Ref: Preface-Footnote-351311
-Node: History51453
-Node: Names53799
-Ref: Names-Footnote-154893
-Node: This Manual55039
-Ref: This Manual-Footnote-161526
-Node: Conventions61626
-Node: Manual History63964
-Ref: Manual History-Footnote-166946
-Ref: Manual History-Footnote-266987
-Node: How To Contribute67061
-Node: Acknowledgments68190
-Node: Getting Started72995
-Node: Running gawk75428
-Node: One-shot76618
-Node: Read Terminal77866
-Node: Long79893
-Node: Executable Scripts81409
-Ref: Executable Scripts-Footnote-184198
-Node: Comments84301
-Node: Quoting86783
-Node: DOS Quoting92307
-Node: Sample Data Files92982
-Node: Very Simple95577
-Node: Two Rules100475
-Node: More Complex102361
-Node: Statements/Lines105223
-Ref: Statements/Lines-Footnote-1109678
-Node: Other Features109943
-Node: When110874
-Ref: When-Footnote-1112628
-Node: Intro Summary112693
-Node: Invoking Gawk113576
-Node: Command Line115090
-Node: Options115888
-Ref: Options-Footnote-1131692
-Ref: Options-Footnote-2131921
-Node: Other Arguments131946
-Node: Naming Standard Input134894
-Node: Environment Variables135987
-Node: AWKPATH Variable136545
-Ref: AWKPATH Variable-Footnote-1139958
-Ref: AWKPATH Variable-Footnote-2140003
-Node: AWKLIBPATH Variable140263
-Node: Other Environment Variables141519
-Node: Exit Status145007
-Node: Include Files145683
-Node: Loading Shared Libraries149280
-Node: Obsolete150707
-Node: Undocumented151404
-Node: Invoking Summary151671
-Node: Regexp153335
-Node: Regexp Usage154789
-Node: Escape Sequences156826
-Node: Regexp Operators163067
-Ref: Regexp Operators-Footnote-1170493
-Ref: Regexp Operators-Footnote-2170640
-Node: Bracket Expressions170738
-Ref: table-char-classes172753
-Node: Leftmost Longest175677
-Node: Computed Regexps176979
-Node: GNU Regexp Operators180376
-Node: Case-sensitivity184049
-Ref: Case-sensitivity-Footnote-1186934
-Ref: Case-sensitivity-Footnote-2187169
-Node: Regexp Summary187277
-Node: Reading Files188744
-Node: Records190838
-Node: awk split records191571
-Node: gawk split records196486
-Ref: gawk split records-Footnote-1201030
-Node: Fields201067
-Ref: Fields-Footnote-1203843
-Node: Nonconstant Fields203929
-Ref: Nonconstant Fields-Footnote-1206172
-Node: Changing Fields206376
-Node: Field Separators212305
-Node: Default Field Splitting215010
-Node: Regexp Field Splitting216127
-Node: Single Character Fields219477
-Node: Command Line Field Separator220536
-Node: Full Line Fields223748
-Ref: Full Line Fields-Footnote-1225265
-Ref: Full Line Fields-Footnote-2225311
-Node: Field Splitting Summary225412
-Node: Constant Size227486
-Node: Splitting By Content232075
-Ref: Splitting By Content-Footnote-1236069
-Node: Multiple Line236232
-Ref: Multiple Line-Footnote-1242118
-Node: Getline242297
-Node: Plain Getline244509
-Node: Getline/Variable247149
-Node: Getline/File248297
-Node: Getline/Variable/File249681
-Ref: Getline/Variable/File-Footnote-1251284
-Node: Getline/Pipe251371
-Node: Getline/Variable/Pipe254054
-Node: Getline/Coprocess255185
-Node: Getline/Variable/Coprocess256437
-Node: Getline Notes257176
-Node: Getline Summary259968
-Ref: table-getline-variants260380
-Node: Read Timeout261209
-Ref: Read Timeout-Footnote-1265034
-Node: Command-line directories265092
-Node: Input Summary265997
-Node: Input Exercises269298
-Node: Printing270026
-Node: Print271803
-Node: Print Examples273260
-Node: Output Separators276039
-Node: OFMT278057
-Node: Printf279411
-Node: Basic Printf280196
-Node: Control Letters281766
-Node: Format Modifiers285749
-Node: Printf Examples291758
-Node: Redirection294244
-Node: Special FD301085
-Ref: Special FD-Footnote-1304245
-Node: Special Files304319
-Node: Other Inherited Files304936
-Node: Special Network305936
-Node: Special Caveats306798
-Node: Close Files And Pipes307749
-Ref: Close Files And Pipes-Footnote-1314931
-Ref: Close Files And Pipes-Footnote-2315079
-Node: Output Summary315229
-Node: Output Exercises316227
-Node: Expressions316907
-Node: Values318092
-Node: Constants318770
-Node: Scalar Constants319461
-Ref: Scalar Constants-Footnote-1320320
-Node: Nondecimal-numbers320570
-Node: Regexp Constants323588
-Node: Using Constant Regexps324113
-Node: Variables327256
-Node: Using Variables327911
-Node: Assignment Options329822
-Node: Conversion331697
-Node: Strings And Numbers332221
-Ref: Strings And Numbers-Footnote-1335286
-Node: Locale influences conversions335395
-Ref: table-locale-affects338142
-Node: All Operators338730
-Node: Arithmetic Ops339360
-Node: Concatenation341865
-Ref: Concatenation-Footnote-1344684
-Node: Assignment Ops344790
-Ref: table-assign-ops349769
-Node: Increment Ops351041
-Node: Truth Values and Conditions354479
-Node: Truth Values355564
-Node: Typing and Comparison356613
-Node: Variable Typing357423
-Node: Comparison Operators361076
-Ref: table-relational-ops361486
-Node: POSIX String Comparison364981
-Ref: POSIX String Comparison-Footnote-1366053
-Node: Boolean Ops366191
-Ref: Boolean Ops-Footnote-1370670
-Node: Conditional Exp370761
-Node: Function Calls372488
-Node: Precedence376368
-Node: Locales380029
-Node: Expressions Summary381661
-Node: Patterns and Actions384221
-Node: Pattern Overview385341
-Node: Regexp Patterns387020
-Node: Expression Patterns387563
-Node: Ranges391273
-Node: BEGIN/END394379
-Node: Using BEGIN/END395140
-Ref: Using BEGIN/END-Footnote-1397874
-Node: I/O And BEGIN/END397980
-Node: BEGINFILE/ENDFILE400294
-Node: Empty403195
-Node: Using Shell Variables403512
-Node: Action Overview405785
-Node: Statements408111
-Node: If Statement409959
-Node: While Statement411454
-Node: Do Statement413483
-Node: For Statement414627
-Node: Switch Statement417784
-Node: Break Statement420166
-Node: Continue Statement422207
-Node: Next Statement424034
-Node: Nextfile Statement426415
-Node: Exit Statement429045
-Node: Built-in Variables431448
-Node: User-modified432581
-Ref: User-modified-Footnote-1440262
-Node: Auto-set440324
-Ref: Auto-set-Footnote-1454016
-Ref: Auto-set-Footnote-2454221
-Node: ARGC and ARGV454277
-Node: Pattern Action Summary458495
-Node: Arrays460922
-Node: Array Basics462251
-Node: Array Intro463095
-Ref: figure-array-elements465059
-Ref: Array Intro-Footnote-1467585
-Node: Reference to Elements467713
-Node: Assigning Elements470165
-Node: Array Example470656
-Node: Scanning an Array472414
-Node: Controlling Scanning475430
-Ref: Controlling Scanning-Footnote-1480626
-Node: Numeric Array Subscripts480942
-Node: Uninitialized Subscripts483127
-Node: Delete484744
-Ref: Delete-Footnote-1487487
-Node: Multidimensional487544
-Node: Multiscanning490641
-Node: Arrays of Arrays492230
-Node: Arrays Summary496989
-Node: Functions499081
-Node: Built-in499980
-Node: Calling Built-in501058
-Node: Numeric Functions503049
-Ref: Numeric Functions-Footnote-1507868
-Ref: Numeric Functions-Footnote-2508225
-Ref: Numeric Functions-Footnote-3508273
-Node: String Functions508545
-Ref: String Functions-Footnote-1532020
-Ref: String Functions-Footnote-2532149
-Ref: String Functions-Footnote-3532397
-Node: Gory Details532484
-Ref: table-sub-escapes534265
-Ref: table-sub-proposed535785
-Ref: table-posix-sub537149
-Ref: table-gensub-escapes538685
-Ref: Gory Details-Footnote-1539517
-Node: I/O Functions539668
-Ref: I/O Functions-Footnote-1546886
-Node: Time Functions547033
-Ref: Time Functions-Footnote-1557521
-Ref: Time Functions-Footnote-2557589
-Ref: Time Functions-Footnote-3557747
-Ref: Time Functions-Footnote-4557858
-Ref: Time Functions-Footnote-5557970
-Ref: Time Functions-Footnote-6558197
-Node: Bitwise Functions558463
-Ref: table-bitwise-ops559025
-Ref: Bitwise Functions-Footnote-1563334
-Node: Type Functions563503
-Node: I18N Functions564654
-Node: User-defined566299
-Node: Definition Syntax567104
-Ref: Definition Syntax-Footnote-1572511
-Node: Function Example572582
-Ref: Function Example-Footnote-1575501
-Node: Function Caveats575523
-Node: Calling A Function576041
-Node: Variable Scope576999
-Node: Pass By Value/Reference579987
-Node: Return Statement583482
-Node: Dynamic Typing586463
-Node: Indirect Calls587392
-Ref: Indirect Calls-Footnote-1598694
-Node: Functions Summary598822
-Node: Library Functions601524
-Ref: Library Functions-Footnote-1605133
-Ref: Library Functions-Footnote-2605276
-Node: Library Names605447
-Ref: Library Names-Footnote-1608901
-Ref: Library Names-Footnote-2609124
-Node: General Functions609210
-Node: Strtonum Function610313
-Node: Assert Function613335
-Node: Round Function616659
-Node: Cliff Random Function618200
-Node: Ordinal Functions619216
-Ref: Ordinal Functions-Footnote-1622279
-Ref: Ordinal Functions-Footnote-2622531
-Node: Join Function622742
-Ref: Join Function-Footnote-1624511
-Node: Getlocaltime Function624711
-Node: Readfile Function628455
-Node: Shell Quoting630425
-Node: Data File Management631826
-Node: Filetrans Function632458
-Node: Rewind Function636514
-Node: File Checking637901
-Ref: File Checking-Footnote-1639233
-Node: Empty Files639434
-Node: Ignoring Assigns641413
-Node: Getopt Function642964
-Ref: Getopt Function-Footnote-1654426
-Node: Passwd Functions654626
-Ref: Passwd Functions-Footnote-1663463
-Node: Group Functions663551
-Ref: Group Functions-Footnote-1671445
-Node: Walking Arrays671658
-Node: Library Functions Summary673261
-Node: Library Exercises674662
-Node: Sample Programs675942
-Node: Running Examples676712
-Node: Clones677440
-Node: Cut Program678664
-Node: Egrep Program688383
-Ref: Egrep Program-Footnote-1695881
-Node: Id Program695991
-Node: Split Program699636
-Ref: Split Program-Footnote-1703084
-Node: Tee Program703212
-Node: Uniq Program706001
-Node: Wc Program713420
-Ref: Wc Program-Footnote-1717670
-Node: Miscellaneous Programs717764
-Node: Dupword Program718977
-Node: Alarm Program721008
-Node: Translate Program725812
-Ref: Translate Program-Footnote-1730377
-Node: Labels Program730647
-Ref: Labels Program-Footnote-1733998
-Node: Word Sorting734082
-Node: History Sorting738153
-Node: Extract Program739989
-Node: Simple Sed747514
-Node: Igawk Program750582
-Ref: Igawk Program-Footnote-1764906
-Ref: Igawk Program-Footnote-2765107
-Ref: Igawk Program-Footnote-3765229
-Node: Anagram Program765344
-Node: Signature Program768401
-Node: Programs Summary769648
-Node: Programs Exercises770841
-Ref: Programs Exercises-Footnote-1774972
-Node: Advanced Features775063
-Node: Nondecimal Data777011
-Node: Array Sorting778601
-Node: Controlling Array Traversal779298
-Ref: Controlling Array Traversal-Footnote-1787631
-Node: Array Sorting Functions787749
-Ref: Array Sorting Functions-Footnote-1791638
-Node: Two-way I/O791834
-Ref: Two-way I/O-Footnote-1796779
-Ref: Two-way I/O-Footnote-2796965
-Node: TCP/IP Networking797047
-Node: Profiling799920
-Node: Advanced Features Summary808197
-Node: Internationalization810130
-Node: I18N and L10N811610
-Node: Explaining gettext812296
-Ref: Explaining gettext-Footnote-1817321
-Ref: Explaining gettext-Footnote-2817505
-Node: Programmer i18n817670
-Ref: Programmer i18n-Footnote-1822536
-Node: Translator i18n822585
-Node: String Extraction823379
-Ref: String Extraction-Footnote-1824510
-Node: Printf Ordering824596
-Ref: Printf Ordering-Footnote-1827382
-Node: I18N Portability827446
-Ref: I18N Portability-Footnote-1829901
-Node: I18N Example829964
-Ref: I18N Example-Footnote-1832767
-Node: Gawk I18N832839
-Node: I18N Summary833477
-Node: Debugger834816
-Node: Debugging835838
-Node: Debugging Concepts836279
-Node: Debugging Terms838132
-Node: Awk Debugging840704
-Node: Sample Debugging Session841598
-Node: Debugger Invocation842118
-Node: Finding The Bug843502
-Node: List of Debugger Commands849977
-Node: Breakpoint Control851310
-Node: Debugger Execution Control855006
-Node: Viewing And Changing Data858370
-Node: Execution Stack861748
-Node: Debugger Info863385
-Node: Miscellaneous Debugger Commands867402
-Node: Readline Support872431
-Node: Limitations873323
-Node: Debugging Summary875437
-Node: Arbitrary Precision Arithmetic876605
-Node: Computer Arithmetic878021
-Ref: table-numeric-ranges881619
-Ref: Computer Arithmetic-Footnote-1882478
-Node: Math Definitions882535
-Ref: table-ieee-formats885823
-Ref: Math Definitions-Footnote-1886427
-Node: MPFR features886532
-Node: FP Math Caution888203
-Ref: FP Math Caution-Footnote-1889253
-Node: Inexactness of computations889622
-Node: Inexact representation890581
-Node: Comparing FP Values891938
-Node: Errors accumulate893020
-Node: Getting Accuracy894453
-Node: Try To Round897115
-Node: Setting precision898014
-Ref: table-predefined-precision-strings898698
-Node: Setting the rounding mode900487
-Ref: table-gawk-rounding-modes900851
-Ref: Setting the rounding mode-Footnote-1904306
-Node: Arbitrary Precision Integers904485
-Ref: Arbitrary Precision Integers-Footnote-1909384
-Node: POSIX Floating Point Problems909533
-Ref: POSIX Floating Point Problems-Footnote-1913406
-Node: Floating point summary913444
-Node: Dynamic Extensions915638
-Node: Extension Intro917190
-Node: Plugin License918456
-Node: Extension Mechanism Outline919253
-Ref: figure-load-extension919681
-Ref: figure-register-new-function921161
-Ref: figure-call-new-function922165
-Node: Extension API Description924151
-Node: Extension API Functions Introduction925601
-Node: General Data Types930425
-Ref: General Data Types-Footnote-1936164
-Node: Memory Allocation Functions936463
-Ref: Memory Allocation Functions-Footnote-1939302
-Node: Constructor Functions939398
-Node: Registration Functions941132
-Node: Extension Functions941817
-Node: Exit Callback Functions944114
-Node: Extension Version String945362
-Node: Input Parsers946027
-Node: Output Wrappers955906
-Node: Two-way processors960421
-Node: Printing Messages962625
-Ref: Printing Messages-Footnote-1963701
-Node: Updating `ERRNO'963853
-Node: Requesting Values964593
-Ref: table-value-types-returned965321
-Node: Accessing Parameters966278
-Node: Symbol Table Access967509
-Node: Symbol table by name968023
-Node: Symbol table by cookie970004
-Ref: Symbol table by cookie-Footnote-1974148
-Node: Cached values974211
-Ref: Cached values-Footnote-1977710
-Node: Array Manipulation977801
-Ref: Array Manipulation-Footnote-1978899
-Node: Array Data Types978936
-Ref: Array Data Types-Footnote-1981591
-Node: Array Functions981683
-Node: Flattening Arrays985537
-Node: Creating Arrays992429
-Node: Extension API Variables997200
-Node: Extension Versioning997836
-Node: Extension API Informational Variables999737
-Node: Extension API Boilerplate1000802
-Node: Finding Extensions1004611
-Node: Extension Example1005171
-Node: Internal File Description1005943
-Node: Internal File Ops1010010
-Ref: Internal File Ops-Footnote-11021680
-Node: Using Internal File Ops1021820
-Ref: Using Internal File Ops-Footnote-11024203
-Node: Extension Samples1024476
-Node: Extension Sample File Functions1026002
-Node: Extension Sample Fnmatch1033640
-Node: Extension Sample Fork1035131
-Node: Extension Sample Inplace1036346
-Node: Extension Sample Ord1038021
-Node: Extension Sample Readdir1038857
-Ref: table-readdir-file-types1039733
-Node: Extension Sample Revout1040544
-Node: Extension Sample Rev2way1041134
-Node: Extension Sample Read write array1041874
-Node: Extension Sample Readfile1043814
-Node: Extension Sample Time1044909
-Node: Extension Sample API Tests1046258
-Node: gawkextlib1046749
-Node: Extension summary1049407
-Node: Extension Exercises1053096
-Node: Language History1053818
-Node: V7/SVR3.11055474
-Node: SVR41057655
-Node: POSIX1059100
-Node: BTL1060489
-Node: POSIX/GNU1061223
-Node: Feature History1066847
-Node: Common Extensions1079945
-Node: Ranges and Locales1081269
-Ref: Ranges and Locales-Footnote-11085887
-Ref: Ranges and Locales-Footnote-21085914
-Ref: Ranges and Locales-Footnote-31086148
-Node: Contributors1086369
-Node: History summary1091910
-Node: Installation1093280
-Node: Gawk Distribution1094226
-Node: Getting1094710
-Node: Extracting1095533
-Node: Distribution contents1097168
-Node: Unix Installation1103233
-Node: Quick Installation1103916
-Node: Shell Startup Files1106327
-Node: Additional Configuration Options1107406
-Node: Configuration Philosophy1109145
-Node: Non-Unix Installation1111514
-Node: PC Installation1111972
-Node: PC Binary Installation1113291
-Node: PC Compiling1115139
-Ref: PC Compiling-Footnote-11118160
-Node: PC Testing1118269
-Node: PC Using1119445
-Node: Cygwin1123560
-Node: MSYS1124383
-Node: VMS Installation1124883
-Node: VMS Compilation1125675
-Ref: VMS Compilation-Footnote-11126897
-Node: VMS Dynamic Extensions1126955
-Node: VMS Installation Details1128639
-Node: VMS Running1130891
-Node: VMS GNV1133727
-Node: VMS Old Gawk1134461
-Node: Bugs1134931
-Node: Other Versions1138814
-Node: Installation summary1145242
-Node: Notes1146298
-Node: Compatibility Mode1147163
-Node: Additions1147945
-Node: Accessing The Source1148870
-Node: Adding Code1150306
-Node: New Ports1156471
-Node: Derived Files1160953
-Ref: Derived Files-Footnote-11166428
-Ref: Derived Files-Footnote-21166462
-Ref: Derived Files-Footnote-31167058
-Node: Future Extensions1167172
-Node: Implementation Limitations1167778
-Node: Extension Design1169026
-Node: Old Extension Problems1170180
-Ref: Old Extension Problems-Footnote-11171697
-Node: Extension New Mechanism Goals1171754
-Ref: Extension New Mechanism Goals-Footnote-11175114
-Node: Extension Other Design Decisions1175303
-Node: Extension Future Growth1177411
-Node: Old Extension Mechanism1178247
-Node: Notes summary1180009
-Node: Basic Concepts1181195
-Node: Basic High Level1181876
-Ref: figure-general-flow1182148
-Ref: figure-process-flow1182747
-Ref: Basic High Level-Footnote-11185976
-Node: Basic Data Typing1186161
-Node: Glossary1189489
-Node: Copying1214647
-Node: GNU Free Documentation License1252203
-Node: Index1277339
+Node: Preface48189
+Ref: Preface-Footnote-151060
+Ref: Preface-Footnote-251167
+Ref: Preface-Footnote-351400
+Node: History51542
+Node: Names53888
+Ref: Names-Footnote-154982
+Node: This Manual55128
+Ref: This Manual-Footnote-161615
+Node: Conventions61715
+Node: Manual History64053
+Ref: Manual History-Footnote-167035
+Ref: Manual History-Footnote-267076
+Node: How To Contribute67150
+Node: Acknowledgments68279
+Node: Getting Started73084
+Node: Running gawk75517
+Node: One-shot76707
+Node: Read Terminal77955
+Node: Long79982
+Node: Executable Scripts81498
+Ref: Executable Scripts-Footnote-184287
+Node: Comments84390
+Node: Quoting86872
+Node: DOS Quoting92396
+Node: Sample Data Files93071
+Node: Very Simple95666
+Node: Two Rules100564
+Node: More Complex102450
+Node: Statements/Lines105312
+Ref: Statements/Lines-Footnote-1109767
+Node: Other Features110032
+Node: When110963
+Ref: When-Footnote-1112717
+Node: Intro Summary112782
+Node: Invoking Gawk113665
+Node: Command Line115179
+Node: Options115977
+Ref: Options-Footnote-1131781
+Ref: Options-Footnote-2132010
+Node: Other Arguments132035
+Node: Naming Standard Input134983
+Node: Environment Variables136076
+Node: AWKPATH Variable136634
+Ref: AWKPATH Variable-Footnote-1140047
+Ref: AWKPATH Variable-Footnote-2140092
+Node: AWKLIBPATH Variable140352
+Node: Other Environment Variables141608
+Node: Exit Status145096
+Node: Include Files145772
+Node: Loading Shared Libraries149369
+Node: Obsolete150796
+Node: Undocumented151493
+Node: Invoking Summary151760
+Node: Regexp153424
+Node: Regexp Usage154878
+Node: Escape Sequences156915
+Node: Regexp Operators163156
+Ref: Regexp Operators-Footnote-1170582
+Ref: Regexp Operators-Footnote-2170729
+Node: Bracket Expressions170827
+Ref: table-char-classes172842
+Node: Leftmost Longest175766
+Node: Computed Regexps177068
+Node: GNU Regexp Operators180465
+Node: Case-sensitivity184138
+Ref: Case-sensitivity-Footnote-1187023
+Ref: Case-sensitivity-Footnote-2187258
+Node: Regexp Summary187366
+Node: Reading Files188833
+Node: Records190927
+Node: awk split records191660
+Node: gawk split records196575
+Ref: gawk split records-Footnote-1201119
+Node: Fields201156
+Ref: Fields-Footnote-1203932
+Node: Nonconstant Fields204018
+Ref: Nonconstant Fields-Footnote-1206261
+Node: Changing Fields206465
+Node: Field Separators212394
+Node: Default Field Splitting215099
+Node: Regexp Field Splitting216216
+Node: Single Character Fields219566
+Node: Command Line Field Separator220625
+Node: Full Line Fields223837
+Ref: Full Line Fields-Footnote-1225354
+Ref: Full Line Fields-Footnote-2225400
+Node: Field Splitting Summary225501
+Node: Constant Size227575
+Node: Splitting By Content232164
+Ref: Splitting By Content-Footnote-1236158
+Node: Multiple Line236321
+Ref: Multiple Line-Footnote-1242207
+Node: Getline242386
+Node: Plain Getline244598
+Node: Getline/Variable247238
+Node: Getline/File248386
+Node: Getline/Variable/File249770
+Ref: Getline/Variable/File-Footnote-1251373
+Node: Getline/Pipe251460
+Node: Getline/Variable/Pipe254143
+Node: Getline/Coprocess255274
+Node: Getline/Variable/Coprocess256526
+Node: Getline Notes257265
+Node: Getline Summary260057
+Ref: table-getline-variants260469
+Node: Read Timeout261298
+Ref: Read Timeout-Footnote-1265123
+Node: Command-line directories265181
+Node: Input Summary266086
+Node: Input Exercises269387
+Node: Printing270115
+Node: Print271892
+Node: Print Examples273349
+Node: Output Separators276128
+Node: OFMT278146
+Node: Printf279500
+Node: Basic Printf280285
+Node: Control Letters281855
+Node: Format Modifiers285838
+Node: Printf Examples291847
+Node: Redirection294333
+Node: Special FD301174
+Ref: Special FD-Footnote-1304334
+Node: Special Files304408
+Node: Other Inherited Files305025
+Node: Special Network306025
+Node: Special Caveats306887
+Node: Close Files And Pipes307838
+Ref: Close Files And Pipes-Footnote-1315020
+Ref: Close Files And Pipes-Footnote-2315168
+Node: Output Summary315318
+Node: Output Exercises316316
+Node: Expressions316996
+Node: Values318181
+Node: Constants318859
+Node: Scalar Constants319550
+Ref: Scalar Constants-Footnote-1320409
+Node: Nondecimal-numbers320659
+Node: Regexp Constants323677
+Node: Using Constant Regexps324202
+Node: Variables327345
+Node: Using Variables328000
+Node: Assignment Options329911
+Node: Conversion331786
+Node: Strings And Numbers332310
+Ref: Strings And Numbers-Footnote-1335375
+Node: Locale influences conversions335484
+Ref: table-locale-affects338231
+Node: All Operators338819
+Node: Arithmetic Ops339449
+Node: Concatenation341954
+Ref: Concatenation-Footnote-1344773
+Node: Assignment Ops344879
+Ref: table-assign-ops349858
+Node: Increment Ops351130
+Node: Truth Values and Conditions354568
+Node: Truth Values355653
+Node: Typing and Comparison356702
+Node: Variable Typing357512
+Node: Comparison Operators361165
+Ref: table-relational-ops361575
+Node: POSIX String Comparison365070
+Ref: POSIX String Comparison-Footnote-1366142
+Node: Boolean Ops366280
+Ref: Boolean Ops-Footnote-1370759
+Node: Conditional Exp370850
+Node: Function Calls372577
+Node: Precedence376457
+Node: Locales380118
+Node: Expressions Summary381750
+Node: Patterns and Actions384310
+Node: Pattern Overview385430
+Node: Regexp Patterns387109
+Node: Expression Patterns387652
+Node: Ranges391362
+Node: BEGIN/END394468
+Node: Using BEGIN/END395229
+Ref: Using BEGIN/END-Footnote-1397963
+Node: I/O And BEGIN/END398069
+Node: BEGINFILE/ENDFILE400383
+Node: Empty403284
+Node: Using Shell Variables403601
+Node: Action Overview405874
+Node: Statements408200
+Node: If Statement410048
+Node: While Statement411543
+Node: Do Statement413572
+Node: For Statement414716
+Node: Switch Statement417873
+Node: Break Statement420255
+Node: Continue Statement422296
+Node: Next Statement424123
+Node: Nextfile Statement426504
+Node: Exit Statement429134
+Node: Built-in Variables431537
+Node: User-modified432670
+Ref: User-modified-Footnote-1440351
+Node: Auto-set440413
+Ref: Auto-set-Footnote-1454105
+Ref: Auto-set-Footnote-2454310
+Node: ARGC and ARGV454366
+Node: Pattern Action Summary458584
+Node: Arrays461011
+Node: Array Basics462340
+Node: Array Intro463184
+Ref: figure-array-elements465148
+Ref: Array Intro-Footnote-1467674
+Node: Reference to Elements467802
+Node: Assigning Elements470254
+Node: Array Example470745
+Node: Scanning an Array472503
+Node: Controlling Scanning475519
+Ref: Controlling Scanning-Footnote-1480715
+Node: Numeric Array Subscripts481031
+Node: Uninitialized Subscripts483216
+Node: Delete484833
+Ref: Delete-Footnote-1487576
+Node: Multidimensional487633
+Node: Multiscanning490730
+Node: Arrays of Arrays492319
+Node: Arrays Summary497078
+Node: Functions499170
+Node: Built-in500069
+Node: Calling Built-in501147
+Node: Numeric Functions503138
+Ref: Numeric Functions-Footnote-1507957
+Ref: Numeric Functions-Footnote-2508314
+Ref: Numeric Functions-Footnote-3508362
+Node: String Functions508634
+Ref: String Functions-Footnote-1532109
+Ref: String Functions-Footnote-2532238
+Ref: String Functions-Footnote-3532486
+Node: Gory Details532573
+Ref: table-sub-escapes534354
+Ref: table-sub-proposed535874
+Ref: table-posix-sub537238
+Ref: table-gensub-escapes538774
+Ref: Gory Details-Footnote-1539606
+Node: I/O Functions539757
+Ref: I/O Functions-Footnote-1546975
+Node: Time Functions547122
+Ref: Time Functions-Footnote-1557610
+Ref: Time Functions-Footnote-2557678
+Ref: Time Functions-Footnote-3557836
+Ref: Time Functions-Footnote-4557947
+Ref: Time Functions-Footnote-5558059
+Ref: Time Functions-Footnote-6558286
+Node: Bitwise Functions558552
+Ref: table-bitwise-ops559114
+Ref: Bitwise Functions-Footnote-1563423
+Node: Type Functions563592
+Node: I18N Functions564743
+Node: User-defined566388
+Node: Definition Syntax567193
+Ref: Definition Syntax-Footnote-1572600
+Node: Function Example572671
+Ref: Function Example-Footnote-1575590
+Node: Function Caveats575612
+Node: Calling A Function576130
+Node: Variable Scope577088
+Node: Pass By Value/Reference580076
+Node: Return Statement583571
+Node: Dynamic Typing586552
+Node: Indirect Calls587481
+Ref: Indirect Calls-Footnote-1598783
+Node: Functions Summary598911
+Node: Library Functions601613
+Ref: Library Functions-Footnote-1605222
+Ref: Library Functions-Footnote-2605365
+Node: Library Names605536
+Ref: Library Names-Footnote-1608990
+Ref: Library Names-Footnote-2609213
+Node: General Functions609299
+Node: Strtonum Function610402
+Node: Assert Function613424
+Node: Round Function616748
+Node: Cliff Random Function618289
+Node: Ordinal Functions619305
+Ref: Ordinal Functions-Footnote-1622368
+Ref: Ordinal Functions-Footnote-2622620
+Node: Join Function622831
+Ref: Join Function-Footnote-1624600
+Node: Getlocaltime Function624800
+Node: Readfile Function628544
+Node: Shell Quoting630514
+Node: Data File Management631915
+Node: Filetrans Function632547
+Node: Rewind Function636603
+Node: File Checking637990
+Ref: File Checking-Footnote-1639322
+Node: Empty Files639523
+Node: Ignoring Assigns641502
+Node: Getopt Function643053
+Ref: Getopt Function-Footnote-1654515
+Node: Passwd Functions654715
+Ref: Passwd Functions-Footnote-1663552
+Node: Group Functions663640
+Ref: Group Functions-Footnote-1671534
+Node: Walking Arrays671747
+Node: Library Functions Summary673350
+Node: Library Exercises674751
+Node: Sample Programs676031
+Node: Running Examples676801
+Node: Clones677529
+Node: Cut Program678753
+Node: Egrep Program688472
+Ref: Egrep Program-Footnote-1695970
+Node: Id Program696080
+Node: Split Program699725
+Ref: Split Program-Footnote-1703173
+Node: Tee Program703301
+Node: Uniq Program706090
+Node: Wc Program713509
+Ref: Wc Program-Footnote-1717759
+Node: Miscellaneous Programs717853
+Node: Dupword Program719066
+Node: Alarm Program721097
+Node: Translate Program725901
+Ref: Translate Program-Footnote-1730466
+Node: Labels Program730736
+Ref: Labels Program-Footnote-1734087
+Node: Word Sorting734171
+Node: History Sorting738242
+Node: Extract Program740078
+Node: Simple Sed747603
+Node: Igawk Program750671
+Ref: Igawk Program-Footnote-1764995
+Ref: Igawk Program-Footnote-2765196
+Ref: Igawk Program-Footnote-3765318
+Node: Anagram Program765433
+Node: Signature Program768490
+Node: Programs Summary769737
+Node: Programs Exercises770930
+Ref: Programs Exercises-Footnote-1775061
+Node: Advanced Features775152
+Node: Nondecimal Data777100
+Node: Array Sorting778690
+Node: Controlling Array Traversal779387
+Ref: Controlling Array Traversal-Footnote-1787720
+Node: Array Sorting Functions787838
+Ref: Array Sorting Functions-Footnote-1791727
+Node: Two-way I/O791923
+Ref: Two-way I/O-Footnote-1796868
+Ref: Two-way I/O-Footnote-2797054
+Node: TCP/IP Networking797136
+Node: Profiling800009
+Node: Advanced Features Summary808286
+Node: Internationalization810219
+Node: I18N and L10N811699
+Node: Explaining gettext812385
+Ref: Explaining gettext-Footnote-1817410
+Ref: Explaining gettext-Footnote-2817594
+Node: Programmer i18n817759
+Ref: Programmer i18n-Footnote-1822625
+Node: Translator i18n822674
+Node: String Extraction823468
+Ref: String Extraction-Footnote-1824599
+Node: Printf Ordering824685
+Ref: Printf Ordering-Footnote-1827471
+Node: I18N Portability827535
+Ref: I18N Portability-Footnote-1829990
+Node: I18N Example830053
+Ref: I18N Example-Footnote-1832856
+Node: Gawk I18N832928
+Node: I18N Summary833566
+Node: Debugger834905
+Node: Debugging835927
+Node: Debugging Concepts836368
+Node: Debugging Terms838221
+Node: Awk Debugging840793
+Node: Sample Debugging Session841687
+Node: Debugger Invocation842207
+Node: Finding The Bug843591
+Node: List of Debugger Commands850066
+Node: Breakpoint Control851399
+Node: Debugger Execution Control855095
+Node: Viewing And Changing Data858459
+Node: Execution Stack861837
+Node: Debugger Info863474
+Node: Miscellaneous Debugger Commands867491
+Node: Readline Support872520
+Node: Limitations873412
+Node: Debugging Summary875526
+Node: Arbitrary Precision Arithmetic876694
+Node: Computer Arithmetic878110
+Ref: table-numeric-ranges881708
+Ref: Computer Arithmetic-Footnote-1882567
+Node: Math Definitions882624
+Ref: table-ieee-formats885912
+Ref: Math Definitions-Footnote-1886516
+Node: MPFR features886621
+Node: FP Math Caution888292
+Ref: FP Math Caution-Footnote-1889342
+Node: Inexactness of computations889711
+Node: Inexact representation890670
+Node: Comparing FP Values892027
+Node: Errors accumulate893109
+Node: Getting Accuracy894542
+Node: Try To Round897204
+Node: Setting precision898103
+Ref: table-predefined-precision-strings898787
+Node: Setting the rounding mode900576
+Ref: table-gawk-rounding-modes900940
+Ref: Setting the rounding mode-Footnote-1904395
+Node: Arbitrary Precision Integers904574
+Ref: Arbitrary Precision Integers-Footnote-1909473
+Node: POSIX Floating Point Problems909622
+Ref: POSIX Floating Point Problems-Footnote-1913495
+Node: Floating point summary913533
+Node: Dynamic Extensions915727
+Node: Extension Intro917279
+Node: Plugin License918545
+Node: Extension Mechanism Outline919342
+Ref: figure-load-extension919770
+Ref: figure-register-new-function921250
+Ref: figure-call-new-function922254
+Node: Extension API Description924240
+Node: Extension API Functions Introduction925690
+Node: General Data Types930514
+Ref: General Data Types-Footnote-1936253
+Node: Memory Allocation Functions936552
+Ref: Memory Allocation Functions-Footnote-1939391
+Node: Constructor Functions939487
+Node: Registration Functions941221
+Node: Extension Functions941906
+Node: Exit Callback Functions944203
+Node: Extension Version String945451
+Node: Input Parsers946116
+Node: Output Wrappers955995
+Node: Two-way processors960510
+Node: Printing Messages962714
+Ref: Printing Messages-Footnote-1963790
+Node: Updating `ERRNO'963942
+Node: Requesting Values964682
+Ref: table-value-types-returned965410
+Node: Accessing Parameters966367
+Node: Symbol Table Access967598
+Node: Symbol table by name968112
+Node: Symbol table by cookie970093
+Ref: Symbol table by cookie-Footnote-1974237
+Node: Cached values974300
+Ref: Cached values-Footnote-1977799
+Node: Array Manipulation977890
+Ref: Array Manipulation-Footnote-1978988
+Node: Array Data Types979025
+Ref: Array Data Types-Footnote-1981680
+Node: Array Functions981772
+Node: Flattening Arrays985626
+Node: Creating Arrays992518
+Node: Extension API Variables997289
+Node: Extension Versioning997925
+Node: Extension API Informational Variables999826
+Node: Extension API Boilerplate1000891
+Node: Finding Extensions1004700
+Node: Extension Example1005260
+Node: Internal File Description1006032
+Node: Internal File Ops1010099
+Ref: Internal File Ops-Footnote-11021769
+Node: Using Internal File Ops1021909
+Ref: Using Internal File Ops-Footnote-11024292
+Node: Extension Samples1024565
+Node: Extension Sample File Functions1026091
+Node: Extension Sample Fnmatch1033729
+Node: Extension Sample Fork1035220
+Node: Extension Sample Inplace1036435
+Node: Extension Sample Ord1038110
+Node: Extension Sample Readdir1038946
+Ref: table-readdir-file-types1039822
+Node: Extension Sample Revout1040633
+Node: Extension Sample Rev2way1041223
+Node: Extension Sample Read write array1041963
+Node: Extension Sample Readfile1043903
+Node: Extension Sample Time1044998
+Node: Extension Sample API Tests1046347
+Node: gawkextlib1046838
+Node: Extension summary1049496
+Node: Extension Exercises1053185
+Node: Language History1053907
+Node: V7/SVR3.11055563
+Node: SVR41057744
+Node: POSIX1059189
+Node: BTL1060578
+Node: POSIX/GNU1061312
+Node: Feature History1066936
+Node: Common Extensions1080034
+Node: Ranges and Locales1081358
+Ref: Ranges and Locales-Footnote-11085976
+Ref: Ranges and Locales-Footnote-21086003
+Ref: Ranges and Locales-Footnote-31086237
+Node: Contributors1086458
+Node: History summary1091999
+Node: Installation1093369
+Node: Gawk Distribution1094315
+Node: Getting1094799
+Node: Extracting1095622
+Node: Distribution contents1097257
+Node: Unix Installation1103322
+Node: Quick Installation1104005
+Node: Shell Startup Files1106416
+Node: Additional Configuration Options1107495
+Node: Configuration Philosophy1109234
+Node: Non-Unix Installation1111603
+Node: PC Installation1112061
+Node: PC Binary Installation1113380
+Node: PC Compiling1115228
+Ref: PC Compiling-Footnote-11118249
+Node: PC Testing1118358
+Node: PC Using1119534
+Node: Cygwin1123649
+Node: MSYS1124472
+Node: VMS Installation1124972
+Node: VMS Compilation1125764
+Ref: VMS Compilation-Footnote-11126986
+Node: VMS Dynamic Extensions1127044
+Node: VMS Installation Details1128728
+Node: VMS Running1130980
+Node: VMS GNV1133816
+Node: VMS Old Gawk1134550
+Node: Bugs1135020
+Node: Other Versions1138903
+Node: Installation summary1145331
+Node: Notes1146387
+Node: Compatibility Mode1147252
+Node: Additions1148034
+Node: Accessing The Source1148959
+Node: Adding Code1150395
+Node: New Ports1156560
+Node: Derived Files1161042
+Ref: Derived Files-Footnote-11166517
+Ref: Derived Files-Footnote-21166551
+Ref: Derived Files-Footnote-31167147
+Node: Future Extensions1167261
+Node: Implementation Limitations1167867
+Node: Extension Design1169115
+Node: Old Extension Problems1170269
+Ref: Old Extension Problems-Footnote-11171786
+Node: Extension New Mechanism Goals1171843
+Ref: Extension New Mechanism Goals-Footnote-11175203
+Node: Extension Other Design Decisions1175392
+Node: Extension Future Growth1177500
+Node: Old Extension Mechanism1178336
+Node: Notes summary1180098
+Node: Basic Concepts1181284
+Node: Basic High Level1181965
+Ref: figure-general-flow1182237
+Ref: figure-process-flow1182836
+Ref: Basic High Level-Footnote-11186065
+Node: Basic Data Typing1186250
+Node: Glossary1189578
+Node: Copying1214736
+Node: GNU Free Documentation License1252292
+Node: Index1277428

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 4b6e68c1..57c37746 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -1270,6 +1270,9 @@ the C/C++ module as a dynamic plug-in.
has all the
details, and as expected, many examples to help you learn the ins and outs.
+I enjoy programming in AWK and had fun (re)reading this book.
+I think you will too.
+
@ifnotdocbook
@cindex Brennan, Michael
@display
@@ -11843,7 +11846,7 @@ The post-increment @samp{foo++} is nearly the same as writing @samp{(foo
not necessarily equal @code{foo}. But the difference is minute as
long as you stick to numbers that are fairly small (less than
@iftex
-@math{10^12}).
+@math{10^{12}}).
@end iftex
@ifnottex
@ifnotdocbook
@@ -40305,6 +40308,39 @@ It was written in @command{awk}
by Brian Kernighan and Jon Bentley, and is available from
@uref{http://netlib.sandia.gov/netlib/typesetting/chem.gz}.
+@item Comparison Expression
+A relation that is either true or false, such as @samp{a < b}.
+Comparison expressions are used in @code{if}, @code{while}, @code{do},
+and @code{for}
+statements, and in patterns to select which input records to process.
+(@xref{Typing and Comparison}.)
+
+@cindex compiled programs
+@item Compiler
+A program that translates human-readable source code into
+machine-executable object code. The object code is then executed
+directly by the computer.
+See also ``Interpreter.''
+
+@item Compound Statement
+A series of @command{awk} statements, enclosed in curly braces. Compound
+statements may be nested.
+(@xref{Statements}.)
+
+@item Concatenation
+Concatenating two strings means sticking them together, one after another,
+producing a new string. For example, the string @samp{foo} concatenated with
+the string @samp{bar} gives the string @samp{foobar}.
+(@xref{Concatenation}.)
+
+@item Conditional Expression
+An expression using the @samp{?:} ternary operator, such as
+@samp{@var{expr1} ? @var{expr2} : @var{expr3}}. The expression
+@var{expr1} is evaluated; if the result is true, the value of the whole
+expression is the value of @var{expr2}; otherwise the value is
+@var{expr3}. In either case, only one of @var{expr2} and @var{expr3}
+is evaluated. (@xref{Conditional Exp}.)
+
@cindex McIlroy, Doug
@cindex cookie
@item Cookie
@@ -40353,39 +40389,6 @@ Doug
@item Coprocess
A subordinate program with which two-way communications is possible.
-@cindex compiled programs
-@item Compiler
-A program that translates human-readable source code into
-machine-executable object code. The object code is then executed
-directly by the computer.
-See also ``Interpreter.''
-
-@item Compound Statement
-A series of @command{awk} statements, enclosed in curly braces. Compound
-statements may be nested.
-(@xref{Statements}.)
-
-@item Concatenation
-Concatenating two strings means sticking them together, one after another,
-producing a new string. For example, the string @samp{foo} concatenated with
-the string @samp{bar} gives the string @samp{foobar}.
-(@xref{Concatenation}.)
-
-@item Conditional Expression
-An expression using the @samp{?:} ternary operator, such as
-@samp{@var{expr1} ? @var{expr2} : @var{expr3}}. The expression
-@var{expr1} is evaluated; if the result is true, the value of the whole
-expression is the value of @var{expr2}; otherwise the value is
-@var{expr3}. In either case, only one of @var{expr2} and @var{expr3}
-is evaluated. (@xref{Conditional Exp}.)
-
-@item Comparison Expression
-A relation that is either true or false, such as @samp{a < b}.
-Comparison expressions are used in @code{if}, @code{while}, @code{do},
-and @code{for}
-statements, and in patterns to select which input records to process.
-(@xref{Typing and Comparison}.)
-
@item Curly Braces
See ``Braces.''
@@ -40431,15 +40434,15 @@ ordinary expression. It could be a string constant, such as
@code{"foo"}, but it may also be an expression whose value can vary.
(@xref{Computed Regexps}.)
+@item Empty String
+See ``Null String.''
+
@item Environment
A collection of strings, of the form @samp{@var{name}=@var{val}}, that each
program has available to it. Users generally place values into the
environment in order to provide information to various programs. Typical
examples are the environment variables @env{HOME} and @env{PATH}.
-@item Empty String
-See ``Null String.''
-
@cindex epoch, definition of
@item Epoch
The date used as the ``beginning of time'' for timestamps.
@@ -40496,15 +40499,6 @@ are controlled by the format strings contained in the predefined variables
This document describes the terms under which this @value{DOCUMENT}
is published and may be copied. (@xref{GNU Free Documentation License}.)
-@item Function
-A specialized group of statements used to encapsulate general
-or program-specific tasks. @command{awk} has a number of built-in
-functions, and also allows you to define your own.
-(@xref{Functions}.)
-
-@item FSF
-See ``Free Software Foundation.''
-
@cindex FSF (Free Software Foundation)
@cindex Free Software Foundation (FSF)
@cindex Stallman, Richard
@@ -40514,6 +40508,15 @@ to the production and distribution of freely distributable software.
It was founded by Richard M.@: Stallman, the author of the original
Emacs editor. GNU Emacs is the most widely used version of Emacs today.
+@item FSF
+See ``Free Software Foundation.''
+
+@item Function
+A specialized group of statements used to encapsulate general
+or program-specific tasks. @command{awk} has a number of built-in
+functions, and also allows you to define your own.
+(@xref{Functions}.)
+
@item @command{gawk}
The GNU implementation of @command{awk}.
@@ -40644,12 +40647,12 @@ This document describes the terms under which binary library archives
or shared objects,
and their source code may be distributed.
-@item Linux
-See ``GNU/Linux.''
-
@item LGPL
See ``Lesser General Public License.''
+@item Linux
+See ``GNU/Linux.''
+
@item Localization
The process of providing the data necessary for an
internationalized program to work in a particular language.
@@ -40787,12 +40790,12 @@ Regular variables are scalars; arrays and functions are not.
In @command{gawk}, a list of directories to search for @command{awk} program source files.
In the shell, a list of directories to search for executable programs.
-@item Seed
-The initial value, or starting point, for a sequence of random numbers.
-
@item @command{sed}
See ``Stream Editor.''
+@item Seed
+The initial value, or starting point, for a sequence of random numbers.
+
@item Shell
The command interpreter for Unix and POSIX-compliant systems.
The shell works both interactively, and as a programming language
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index f330e8e0..b850dd15 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -1265,6 +1265,9 @@ the C/C++ module as a dynamic plug-in.
has all the
details, and as expected, many examples to help you learn the ins and outs.
+I enjoy programming in AWK and had fun (re)reading this book.
+I think you will too.
+
@ifnotdocbook
@cindex Brennan, Michael
@display
@@ -11230,7 +11233,7 @@ The post-increment @samp{foo++} is nearly the same as writing @samp{(foo
not necessarily equal @code{foo}. But the difference is minute as
long as you stick to numbers that are fairly small (less than
@iftex
-@math{10^12}).
+@math{10^{12}}).
@end iftex
@ifnottex
@ifnotdocbook
@@ -39398,6 +39401,39 @@ It was written in @command{awk}
by Brian Kernighan and Jon Bentley, and is available from
@uref{http://netlib.sandia.gov/netlib/typesetting/chem.gz}.
+@item Comparison Expression
+A relation that is either true or false, such as @samp{a < b}.
+Comparison expressions are used in @code{if}, @code{while}, @code{do},
+and @code{for}
+statements, and in patterns to select which input records to process.
+(@xref{Typing and Comparison}.)
+
+@cindex compiled programs
+@item Compiler
+A program that translates human-readable source code into
+machine-executable object code. The object code is then executed
+directly by the computer.
+See also ``Interpreter.''
+
+@item Compound Statement
+A series of @command{awk} statements, enclosed in curly braces. Compound
+statements may be nested.
+(@xref{Statements}.)
+
+@item Concatenation
+Concatenating two strings means sticking them together, one after another,
+producing a new string. For example, the string @samp{foo} concatenated with
+the string @samp{bar} gives the string @samp{foobar}.
+(@xref{Concatenation}.)
+
+@item Conditional Expression
+An expression using the @samp{?:} ternary operator, such as
+@samp{@var{expr1} ? @var{expr2} : @var{expr3}}. The expression
+@var{expr1} is evaluated; if the result is true, the value of the whole
+expression is the value of @var{expr2}; otherwise the value is
+@var{expr3}. In either case, only one of @var{expr2} and @var{expr3}
+is evaluated. (@xref{Conditional Exp}.)
+
@cindex McIlroy, Doug
@cindex cookie
@item Cookie
@@ -39446,39 +39482,6 @@ Doug
@item Coprocess
A subordinate program with which two-way communications is possible.
-@cindex compiled programs
-@item Compiler
-A program that translates human-readable source code into
-machine-executable object code. The object code is then executed
-directly by the computer.
-See also ``Interpreter.''
-
-@item Compound Statement
-A series of @command{awk} statements, enclosed in curly braces. Compound
-statements may be nested.
-(@xref{Statements}.)
-
-@item Concatenation
-Concatenating two strings means sticking them together, one after another,
-producing a new string. For example, the string @samp{foo} concatenated with
-the string @samp{bar} gives the string @samp{foobar}.
-(@xref{Concatenation}.)
-
-@item Conditional Expression
-An expression using the @samp{?:} ternary operator, such as
-@samp{@var{expr1} ? @var{expr2} : @var{expr3}}. The expression
-@var{expr1} is evaluated; if the result is true, the value of the whole
-expression is the value of @var{expr2}; otherwise the value is
-@var{expr3}. In either case, only one of @var{expr2} and @var{expr3}
-is evaluated. (@xref{Conditional Exp}.)
-
-@item Comparison Expression
-A relation that is either true or false, such as @samp{a < b}.
-Comparison expressions are used in @code{if}, @code{while}, @code{do},
-and @code{for}
-statements, and in patterns to select which input records to process.
-(@xref{Typing and Comparison}.)
-
@item Curly Braces
See ``Braces.''
@@ -39524,15 +39527,15 @@ ordinary expression. It could be a string constant, such as
@code{"foo"}, but it may also be an expression whose value can vary.
(@xref{Computed Regexps}.)
+@item Empty String
+See ``Null String.''
+
@item Environment
A collection of strings, of the form @samp{@var{name}=@var{val}}, that each
program has available to it. Users generally place values into the
environment in order to provide information to various programs. Typical
examples are the environment variables @env{HOME} and @env{PATH}.
-@item Empty String
-See ``Null String.''
-
@cindex epoch, definition of
@item Epoch
The date used as the ``beginning of time'' for timestamps.
@@ -39589,15 +39592,6 @@ are controlled by the format strings contained in the predefined variables
This document describes the terms under which this @value{DOCUMENT}
is published and may be copied. (@xref{GNU Free Documentation License}.)
-@item Function
-A specialized group of statements used to encapsulate general
-or program-specific tasks. @command{awk} has a number of built-in
-functions, and also allows you to define your own.
-(@xref{Functions}.)
-
-@item FSF
-See ``Free Software Foundation.''
-
@cindex FSF (Free Software Foundation)
@cindex Free Software Foundation (FSF)
@cindex Stallman, Richard
@@ -39607,6 +39601,15 @@ to the production and distribution of freely distributable software.
It was founded by Richard M.@: Stallman, the author of the original
Emacs editor. GNU Emacs is the most widely used version of Emacs today.
+@item FSF
+See ``Free Software Foundation.''
+
+@item Function
+A specialized group of statements used to encapsulate general
+or program-specific tasks. @command{awk} has a number of built-in
+functions, and also allows you to define your own.
+(@xref{Functions}.)
+
@item @command{gawk}
The GNU implementation of @command{awk}.
@@ -39737,12 +39740,12 @@ This document describes the terms under which binary library archives
or shared objects,
and their source code may be distributed.
-@item Linux
-See ``GNU/Linux.''
-
@item LGPL
See ``Lesser General Public License.''
+@item Linux
+See ``GNU/Linux.''
+
@item Localization
The process of providing the data necessary for an
internationalized program to work in a particular language.
@@ -39880,12 +39883,12 @@ Regular variables are scalars; arrays and functions are not.
In @command{gawk}, a list of directories to search for @command{awk} program source files.
In the shell, a list of directories to search for executable programs.
-@item Seed
-The initial value, or starting point, for a sequence of random numbers.
-
@item @command{sed}
See ``Stream Editor.''
+@item Seed
+The initial value, or starting point, for a sequence of random numbers.
+
@item Shell
The command interpreter for Unix and POSIX-compliant systems.
The shell works both interactively, and as a programming language
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 7506dffb..370d4505 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2014-03-18.17}
+\def\texinfoversion{2014-12-03.16}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -96,7 +96,9 @@
\let\ptexraggedright=\raggedright
\let\ptexrbrace=\}
\let\ptexslash=\/
+\let\ptexsp=\sp
\let\ptexstar=\*
+\let\ptexsup=\sup
\let\ptext=\t
\let\ptextop=\top
{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
@@ -1010,24 +1012,15 @@ where each line of input produces a line of output.}
% paragraph.
%
\gdef\dosuppressfirstparagraphindent{%
- \gdef\indent{%
- \restorefirstparagraphindent
- \indent
- }%
- \gdef\noindent{%
- \restorefirstparagraphindent
- \noindent
- }%
- \global\everypar = {%
- \kern -\parindent
- \restorefirstparagraphindent
- }%
+ \gdef\indent {\restorefirstparagraphindent \indent}%
+ \gdef\noindent{\restorefirstparagraphindent \noindent}%
+ \global\everypar = {\kern -\parindent \restorefirstparagraphindent}%
}
-
+%
\gdef\restorefirstparagraphindent{%
- \global \let \indent = \ptexindent
- \global \let \noindent = \ptexnoindent
- \global \everypar = {}%
+ \global\let\indent = \ptexindent
+ \global\let\noindent = \ptexnoindent
+ \global\everypar = {}%
}
@@ -2090,12 +2083,9 @@ end
\endgroup
}
-
% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families. Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families. We don't
+% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
%
\def\resetmathfonts{%
\textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
@@ -2109,8 +2099,8 @@ end
% \tenSTYLE to set the current font.
%
% Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower). These relative commands are used in
-% the LaTeX logo and acronyms.
+% and \lllsize (three sizes lower). These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
%
% This all needs generalizing, badly.
%
@@ -2146,7 +2136,7 @@ end
\let\tenttsl=\secttsl
\def\curfontsize{sec}%
\def\lsize{subsec}\def\lllsize{reduced}%
- \resetmathfonts \setleading{16pt}}
+ \resetmathfonts \setleading{17pt}}
\def\subsecfonts{%
\let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
@@ -2851,6 +2841,8 @@ end
\let\v=\check
\let\~=\tilde
\let\dotaccent=\dot
+ % have to provide another name for sup operator
+ \let\mathopsup=\sup
$\finishmath
}
\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
@@ -2874,6 +2866,18 @@ end
}
}
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts. This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
+
% ctrl is no longer a Texinfo command, but leave this definition for fun.
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
@@ -5739,13 +5743,16 @@ end
%
% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
% Yappendix, Yomitfromtoc), #3 the chapter number.
+% Not used for @heading series.
%
% To test against our argument.
\def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
\def\Yappendixkeyword{Yappendix}
+\def\Yomitfromtockeyword{Yomitfromtoc}
%
\def\chapmacro#1#2#3{%
+ \checkenv{}% chapters, etc., should not start inside an environment.
+ %
% Insert the first mark before the heading break (see notes for \domark).
\let\prevchapterdefs=\lastchapterdefs
\let\prevsectiondefs=\lastsectiondefs
@@ -5798,6 +5805,7 @@ end
%
{%
\chapfonts \rmisbold
+ \let\footnote=\errfootnoteheading % give better error message
%
% Have to define \lastsection before calling \donoderef, because the
% xref code eventually uses it. On the other hand, it has to be called
@@ -5891,22 +5899,29 @@ end
% Print any size, any type, section title.
%
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
+% #1 is the text of the title,
+% #2 is the section level (sec/subsec/subsubsec),
+% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc),
+% #4 is the section number.
%
\def\seckeyword{sec}
%
\def\sectionheading#1#2#3#4{%
{%
- \checkenv{}% should not be in an environment.
+ \def\sectionlevel{#2}%
+ \def\temptype{#3}%
+ %
+ % It is ok for the @heading series commands to appear inside an
+ % environment (it's been historically allowed, though the logic is
+ % dubious), but not the others.
+ \ifx\temptype\Yomitfromtockeyword\else
+ \checkenv{}% non-@*heading should not be in an environment.
+ \fi
+ \let\footnote=\errfootnoteheading
%
% Switch to the right set of fonts.
\csname #2fonts\endcsname \rmisbold
%
- \def\sectionlevel{#2}%
- \def\temptype{#3}%
- %
% Insert first mark before the heading break (see notes for \domark).
\let\prevsectiondefs=\lastsectiondefs
\ifx\temptype\Ynothingkeyword
@@ -6333,6 +6348,7 @@ end
% other math active characters (just in case), to plain's definitions.
\mathactive
%
+ % Inverse of the list at the beginning of the file.
\let\b=\ptexb
\let\bullet=\ptexbullet
\let\c=\ptexc
@@ -6348,7 +6364,9 @@ end
\let\+=\tabalign
\let\}=\ptexrbrace
\let\/=\ptexslash
+ \let\sp=\ptexsp
\let\*=\ptexstar
+ %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
\let\t=\ptext
\expandafter \let\csname top\endcsname=\ptextop % we've made it outer
\let\frenchspacing=\plainfrenchspacing
@@ -7414,7 +7432,6 @@ end
%
% \anythingelse will almost certainly be an error of some kind.
-
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
% where N is the macro parameter number.
@@ -7523,8 +7540,7 @@ end
% the catcode regime underwhich the body was input).
%
% If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
+% arguments, no macro can have more than 256 arguments (else error).
\def\parsemargdef#1;{%
\paramno=0\def\paramlist{}%
\let\hash\relax
@@ -8359,9 +8375,6 @@ end
%
% Auto-number footnotes. Otherwise like plain.
\gdef\footnote{%
- \let\indent=\ptexindent
- \let\noindent=\ptexnoindent
- %
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
@@ -8388,7 +8401,7 @@ end
%
% Nested footnotes are not supported in TeX, that would take a lot
% more work. (\startsavinginserts does not suffice.)
- \let\footnote=\errfootnote
+ \let\footnote=\errfootnotenest
%
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
@@ -8427,12 +8440,17 @@ end
}
}%end \catcode `\@=11
-\def\errfootnote{%
+\def\errfootnotenest{%
\errhelp=\EMsimple
\errmessage{Nested footnotes not supported in texinfo.tex,
even though they work in makeinfo; sorry}
}
+\def\errfootnoteheading{%
+ \errhelp=\EMsimple
+ \errmessage{Footnotes in chapters, sections, etc., are not supported}
+}
+
% In case a @footnote appears in a vbox, save the footnote text and create
% the real \insert just after the vbox finished. Otherwise, the insertion
% would be lost.
@@ -8856,20 +8874,20 @@ end
{
\catcode`\_ = \active
\globaldefs=1
-\parseargdef\documentlanguage{\begingroup
- \let_=\normalunderscore % normal _ character for filenames
+\parseargdef\documentlanguage{%
\tex % read txi-??.tex file in plain TeX.
% Read the file by the name they passed if it exists.
+ \let_ = \normalunderscore % normal _ character for filename test
\openin 1 txi-#1.tex
\ifeof 1
- \documentlanguagetrywithoutunderscore{#1_\finish}%
+ \documentlanguagetrywithoutunderscore #1_\finish
\else
\globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
\endgroup % end raw TeX
-\endgroup}
+}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
@@ -9279,6 +9297,18 @@ directory should work if nowhere else does.}
\UTFviiiLoop
\endgroup
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+ \expandafter\ifx\csname uni:#1\endcsname \relax
+ \errhelp = \EMsimple
+ \errmessage{Unicode character U+#1 not supported, sorry}%
+ \else
+ \csname uni:#1\endcsname
+ \fi
+}
+
\begingroup
\catcode`\"=12
\catcode`\<=12
@@ -9287,7 +9317,6 @@ directory should work if nowhere else does.}
\catcode`\;=12
\catcode`\!=12
\catcode`\~=13
-
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
%\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
@@ -9302,6 +9331,8 @@ directory should work if nowhere else does.}
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
\gdef\UTFviiiTmp{#2}%
+ % define an additional control sequence for this code point.
+ \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
\endgroup}
\gdef\parseXMLCharref{%
diff --git a/po/it.po b/po/it.po
index a5578723..12305a74 100644
--- a/po/it.po
+++ b/po/it.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU Awk 4.0.73, API: 0.0\n"
-"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2014-04-08 19:23+0300\n"
-"PO-Revision-Date: 2014-06-14 17:50+0100\n"
+"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
+"POT-Creation-Date: 2014-12-14 21:30+0100\n"
+"PO-Revision-Date: 2014-12-14 22:10+0100\n"
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
"Language-Team: Italian <it@li.org>\n"
"Language: it\n"
@@ -34,9 +34,9 @@ msgstr "tentativo di usare il parametro scalare `%s' come un vettore"
msgid "attempt to use scalar `%s' as an array"
msgstr "tentativo di usare scalare '%s' come vettore"
-#: array.c:409 array.c:576 builtin.c:85 builtin.c:1615 builtin.c:1661
-#: builtin.c:1674 builtin.c:2102 builtin.c:2116 eval.c:1122 eval.c:1126
-#: eval.c:1531
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1600 builtin.c:1646
+#: builtin.c:1659 builtin.c:2086 builtin.c:2100 eval.c:1150 eval.c:1154
+#: eval.c:1559
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentativo di usare vettore `%s' in un contesto scalare"
@@ -95,412 +95,412 @@ msgstr ""
"asorti: non consentito un primo argomento che sia un sottovettore del "
"secondo argomento"
-#: array.c:1314
+#: array.c:1313
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "`%s' non è un nome funzione valido"
-#: array.c:1318
+#: array.c:1317
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "funzione di confronto del sort `%s' non definita"
-#: awkgram.y:233
+#: awkgram.y:241
#, c-format
msgid "%s blocks must have an action part"
msgstr "blocchi %s richiedono una `azione'"
-#: awkgram.y:236
+#: awkgram.y:244
msgid "each rule must have a pattern or an action part"
msgstr "ogni regola deve avere una parte `espressione' o una parte `azione'"
-#: awkgram.y:325 awkgram.y:336
+#: awkgram.y:354 awkgram.y:368
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "il vecchio awk non supporta più di una regola `BEGIN' o `END'"
-#: awkgram.y:373
+#: awkgram.y:412
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "`%s' è una funzione interna, non si può ridefinire"
-#: awkgram.y:419
+#: awkgram.y:474
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "espressione regolare costante `//' sembra un commento C++, ma non lo è"
-#: awkgram.y:423
+#: awkgram.y:478
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo è"
-#: awkgram.y:515
+#: awkgram.y:590
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "valori di `case' doppi all'interno di uno `switch': %s"
-#: awkgram.y:536
+#: awkgram.y:611
msgid "duplicate `default' detected in switch body"
msgstr "valori di default doppi all'interno di uno `switch'"
-#: awkgram.y:796 awkgram.y:3723
+#: awkgram.y:871 awkgram.y:3948
msgid "`break' is not allowed outside a loop or switch"
msgstr "`break' non consentito fuori da un ciclo o da uno `switch'"
-#: awkgram.y:805 awkgram.y:3715
+#: awkgram.y:880 awkgram.y:3940
msgid "`continue' is not allowed outside a loop"
msgstr "`continue' non consentito fuori da un un ciclo"
-#: awkgram.y:815
+#: awkgram.y:890
#, c-format
msgid "`next' used in %s action"
msgstr "`next' usato in `azione' %s"
-#: awkgram.y:824
+#: awkgram.y:899
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' usato in `azione' %s"
-#: awkgram.y:848
+#: awkgram.y:923
msgid "`return' used outside function context"
msgstr "`return' usato fuori da una funzione"
-#: awkgram.y:922
+#: awkgram.y:997
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'"
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:1063 awkgram.y:1112
msgid "`delete' is not allowed with SYMTAB"
msgstr "`delete' non consentito in SYMTAB"
-#: awkgram.y:990 awkgram.y:1039
+#: awkgram.y:1065 awkgram.y:1114
msgid "`delete' is not allowed with FUNCTAB"
msgstr "`delete' non consentito in FUNCTAB"
-#: awkgram.y:1024 awkgram.y:1028
+#: awkgram.y:1099 awkgram.y:1103
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' è un'estensione tawk non-portabile"
-#: awkgram.y:1149
+#: awkgram.y:1224
msgid "multistage two-way pipelines don't work"
msgstr "`pipeline' multistadio bidirezionali non funzionano"
-#: awkgram.y:1264
+#: awkgram.y:1339
msgid "regular expression on right of assignment"
msgstr "espressione regolare usata per assegnare un valore"
-#: awkgram.y:1275
+#: awkgram.y:1350
msgid "regular expression on left of `~' or `!~' operator"
msgstr "espressione regolare prima di operatore `~' o `!~'"
-#: awkgram.y:1291 awkgram.y:1442
+#: awkgram.y:1366 awkgram.y:1508
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'"
-#: awkgram.y:1301
+#: awkgram.y:1376
msgid "regular expression on right of comparison"
msgstr "espressione regolare a destra in un confronto"
-#: awkgram.y:1417
+#: awkgram.y:1488
#, c-format
-msgid "`getline var' invalid inside `%s' rule"
-msgstr "`getline var' invalida all'interno della regola `%s'"
+msgid "non-redirected `getline' invalid inside `%s' rule"
+msgstr "`getline' non ridiretta invalida all'interno della regola `%s'"
-#: awkgram.y:1420
-#, c-format
-msgid "`getline' invalid inside `%s' rule"
-msgstr "`getline' invalida all'interno della regola `%s'"
-
-#: awkgram.y:1425
+#: awkgram.y:1491
msgid "non-redirected `getline' undefined inside END action"
msgstr "`getline' non ri-diretta indefinita dentro `azione' END"
-#: awkgram.y:1444
+#: awkgram.y:1510
msgid "old awk does not support multidimensional arrays"
msgstr "il vecchio awk non supporta vettori multidimensionali"
-#: awkgram.y:1541
+#: awkgram.y:1607
msgid "call of `length' without parentheses is not portable"
msgstr "chiamata a `length' senza parentesi non portabile"
-#: awkgram.y:1607
+#: awkgram.y:1673
msgid "indirect function calls are a gawk extension"
msgstr "chiamate a funzione indirette sono un'estensione gawk"
-#: awkgram.y:1620
+#: awkgram.y:1686
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"non riesco a usare la variabile speciale `%s' come parametro indiretto di "
"funzione"
-#: awkgram.y:1698
+#: awkgram.y:1764
msgid "invalid subscript expression"
msgstr "espressione indice invalida"
-#: awkgram.y:2048 awkgram.y:2068 gawkapi.c:206 gawkapi.c:224 msg.c:126
+#: awkgram.y:2111 awkgram.y:2131 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "attenzione: "
-#: awkgram.y:2066 gawkapi.c:192 gawkapi.c:221 msg.c:158
+#: awkgram.y:2129 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "fatale: "
-#: awkgram.y:2116
+#: awkgram.y:2179
msgid "unexpected newline or end of string"
msgstr "carattere 'a capo' o fine stringa non previsti"
-#: awkgram.y:2383 awkgram.y:2459 awkgram.y:2682 debug.c:523 debug.c:539
-#: debug.c:2812 debug.c:5055
+#: awkgram.y:2470 awkgram.y:2546 awkgram.y:2769 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5056
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
-#: awkgram.y:2384 awkgram.y:2509
+#: awkgram.y:2471 awkgram.y:2596
#, c-format
msgid "can't open shared library `%s' for reading (%s)"
msgstr "non riesco ad aprire shared library `%s' in lettura (%s)"
-#: awkgram.y:2386 awkgram.y:2460 awkgram.y:2510 builtin.c:135 debug.c:5206
+#: awkgram.y:2473 awkgram.y:2547 awkgram.y:2597 builtin.c:135 debug.c:5207
msgid "reason unknown"
msgstr "ragione indeterminata"
-#: awkgram.y:2395 awkgram.y:2419
+#: awkgram.y:2482 awkgram.y:2506
#, c-format
msgid "can't include `%s' and use it as a program file"
msgstr "non riesco a includere `%s' per usarlo come file di programma"
-#: awkgram.y:2408
+#: awkgram.y:2495
#, c-format
msgid "already included source file `%s'"
msgstr "file sorgente `%s' già incluso"
-#: awkgram.y:2409
+#: awkgram.y:2496
#, c-format
msgid "already loaded shared library `%s'"
msgstr "shared library `%s' già inclusa"
-#: awkgram.y:2444
+#: awkgram.y:2531
msgid "@include is a gawk extension"
msgstr "@include è un'estensione gawk"
-#: awkgram.y:2450
+#: awkgram.y:2537
msgid "empty filename after @include"
msgstr "nome-file mancante dopo @include"
-#: awkgram.y:2494
+#: awkgram.y:2581
msgid "@load is a gawk extension"
msgstr "@load è un'estensione gawk"
-#: awkgram.y:2500
+#: awkgram.y:2587
msgid "empty filename after @load"
msgstr "nome-file mancante dopo @include"
-#: awkgram.y:2634
+#: awkgram.y:2721
msgid "empty program text on command line"
msgstr "programma nullo sulla riga comandi"
-#: awkgram.y:2749
+#: awkgram.y:2836
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "non riesco a leggere file sorgente `%s' (%s)"
-#: awkgram.y:2760
+#: awkgram.y:2847
#, c-format
msgid "source file `%s' is empty"
msgstr "file sorgente `%s' vuoto"
-#: awkgram.y:2937
+#: awkgram.y:2906
+#, c-format
+msgid "PEBKAC error: invalid character '\\%03o' in source code"
+msgstr "errore PEBKAC: carattere invalido '\\%03o' nel codice sorgente"
+
+#: awkgram.y:3142
msgid "source file does not end in newline"
msgstr "file sorgente non termina con carattere 'a capo'"
-#: awkgram.y:3042
+#: awkgram.y:3247
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "espressione regolare non completata termina con `\\' a fine file"
-#: awkgram.y:3066
+#: awkgram.y:3271
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"%s: %d: modificatore di espressione regolare tawk `/.../%c' non valido in "
"gawk"
-#: awkgram.y:3070
+#: awkgram.y:3275
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "modificatore di espressione regolare tawk `/.../%c' non valido in gawk"
-#: awkgram.y:3077
+#: awkgram.y:3282
msgid "unterminated regexp"
msgstr "espressione regolare non completata"
-#: awkgram.y:3081
+#: awkgram.y:3286
msgid "unterminated regexp at end of file"
msgstr "espressione regolare non completata a fine file"
-#: awkgram.y:3140
+#: awkgram.y:3357
msgid "use of `\\ #...' line continuation is not portable"
msgstr "uso di `\\ #...' continuazione riga non portabile"
-#: awkgram.y:3156
+#: awkgram.y:3377
msgid "backslash not last character on line"
msgstr "'\\' non è l'ultimo carattere della riga"
-#: awkgram.y:3217
+#: awkgram.y:3438
msgid "POSIX does not allow operator `**='"
msgstr "POSIX non permette l'operatore `**='"
-#: awkgram.y:3219
+#: awkgram.y:3440
msgid "old awk does not support operator `**='"
msgstr "il vecchio awk non supporta l'operatore `**='"
-#: awkgram.y:3228
+#: awkgram.y:3449
msgid "POSIX does not allow operator `**'"
msgstr "POSIX non permette l'operatore `**'"
-#: awkgram.y:3230
+#: awkgram.y:3451
msgid "old awk does not support operator `**'"
msgstr "il vecchio awk non supporta l'operatore `**'"
-#: awkgram.y:3265
+#: awkgram.y:3486
msgid "operator `^=' is not supported in old awk"
msgstr "l'operatore `^=' non è supportato nel vecchio awk"
-#: awkgram.y:3273
+#: awkgram.y:3494
msgid "operator `^' is not supported in old awk"
msgstr "l'operatore `^' non è supportato nel vecchio awk"
-#: awkgram.y:3366 awkgram.y:3382 command.y:1178
+#: awkgram.y:3591 awkgram.y:3607 command.y:1180
msgid "unterminated string"
msgstr "stringa non terminata"
-#: awkgram.y:3603
+#: awkgram.y:3828
#, c-format
msgid "invalid char '%c' in expression"
msgstr "carattere '%c' non valido in un'espressione"
-#: awkgram.y:3650
+#: awkgram.y:3875
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' è un'estensione gawk"
-#: awkgram.y:3655
+#: awkgram.y:3880
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX non permette `%s'"
-#: awkgram.y:3663
+#: awkgram.y:3888
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' non è supportato nel vecchio awk"
-#: awkgram.y:3753
+#: awkgram.y:3978
msgid "`goto' considered harmful!\n"
msgstr "`goto' considerato pericoloso!\n"
-#: awkgram.y:3787
+#: awkgram.y:4012
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d non valido come numero di argomenti per %s"
-#: awkgram.y:3822
+#: awkgram.y:4047
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: una stringa come ultimo argomento di `substitute' non ha effetto"
-#: awkgram.y:3827
+#: awkgram.y:4052
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "il terzo parametro di '%s' non è un oggetto modificabile"
-#: awkgram.y:3910 awkgram.y:3913
+#: awkgram.y:4144 awkgram.y:4147
msgid "match: third argument is a gawk extension"
msgstr "match: il terzo argomento è un'estensione gawk"
-#: awkgram.y:3967 awkgram.y:3970
+#: awkgram.y:4201 awkgram.y:4204
msgid "close: second argument is a gawk extension"
msgstr "close: il secondo argomento è un'estensione gawk"
-#: awkgram.y:3982
+#: awkgram.y:4216
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:3997
+#: awkgram.y:4231
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:4016
+#: awkgram.y:4250
msgid "index: regexp constant as second argument is not allowed"
msgstr "index: espressione regolare come secondo argomento non consentita"
-#: awkgram.y:4069
+#: awkgram.y:4303
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
-#: awkgram.y:4126 debug.c:4041 debug.c:4084 debug.c:5204
+#: awkgram.y:4360 debug.c:4042 debug.c:4085 debug.c:5205
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "non riesco ad aprire `%s' in scrittura (%s)"
-#: awkgram.y:4127
+#: awkgram.y:4361
msgid "sending variable list to standard error"
msgstr "mando lista variabili a 'standard error'"
-#: awkgram.y:4135
+#: awkgram.y:4369
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: `close' non riuscita (%s)"
-#: awkgram.y:4160
+#: awkgram.y:4394
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() chiamata due volte!"
-#: awkgram.y:4168
+#: awkgram.y:4402
msgid "there were shadowed variables."
msgstr "c'erano variabili nascoste."
-#: awkgram.y:4239
+#: awkgram.y:4481
#, c-format
msgid "function name `%s' previously defined"
msgstr "funzione di nome `%s' definita in precedenza"
-#: awkgram.y:4285
+#: awkgram.y:4527
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr ""
"funzione `%s': non è possibile usare nome della funzione come nome parametro"
-#: awkgram.y:4288
+#: awkgram.y:4530
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"funzione `%s': non è possibile usare la variabile speciale `%s' come "
"parametro di funzione"
-#: awkgram.y:4296
+#: awkgram.y:4538
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
-#: awkgram.y:4383 awkgram.y:4389
+#: awkgram.y:4625 awkgram.y:4631
#, c-format
msgid "function `%s' called but never defined"
msgstr "funzione `%s' chiamata ma mai definita"
-#: awkgram.y:4393
+#: awkgram.y:4635
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funzione `%s' definita ma mai chiamata direttamente"
-#: awkgram.y:4425
+#: awkgram.y:4667
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
"espressione regolare di valore costante per parametro #%d genera valore "
"booleano"
-#: awkgram.y:4484
+#: awkgram.y:4726
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -509,23 +509,23 @@ msgstr ""
"funzione `%s' chiamata con spazio tra il nome e `(',\n"
"o usata come variabile o vettore"
-#: awkgram.y:4720
+#: awkgram.y:4962
msgid "division by zero attempted"
msgstr "tentativo di dividere per zero"
-#: awkgram.y:4729
+#: awkgram.y:4971
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentativo di dividere per zero in `%%'"
-#: awkgram.y:5049
+#: awkgram.y:5294
msgid ""
"cannot assign a value to the result of a field post-increment expression"
msgstr ""
"impossibile assegnare un valore al risultato di un'espressione di post-"
"incremento di un campo"
-#: awkgram.y:5052
+#: awkgram.y:5297
#, c-format
msgid "invalid target of assignment (opcode %s)"
msgstr "destinazione di assegnazione non valida (codice operativo %s)"
@@ -541,7 +541,7 @@ msgstr "standard output"
#: builtin.c:148
msgid "exp: received non-numeric argument"
-msgstr "exp: argomento non-numerico"
+msgstr "exp: l'argomento ricevuto non è numerico"
#: builtin.c:154
#, c-format
@@ -566,189 +566,198 @@ msgstr ""
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' non è un file aperto, una `pipe' o un co-processo"
-#: builtin.c:362
+#: builtin.c:351
msgid "index: received non-string first argument"
-msgstr "index: il primo argomento non è una stringa"
+msgstr "index: il primo argomento ricevuto non è una stringa"
-#: builtin.c:364
+#: builtin.c:353
msgid "index: received non-string second argument"
-msgstr "index: il secondo argomento non è una stringa"
+msgstr "index: il secondo argomento ricevuto non è una stringa"
-#: builtin.c:488 mpfr.c:757
+#: builtin.c:466 mpfr.c:777
msgid "int: received non-numeric argument"
-msgstr "int: argomento non-numerico"
+msgstr "int: l'argomento ricevuto non è numerico"
-#: builtin.c:525
+#: builtin.c:503
msgid "length: received array argument"
-msgstr "length: l'argomento fornito è un vettore"
+msgstr "length: l'argomento ricevuto è un vettore"
-#: builtin.c:528
+#: builtin.c:506
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' è un'estensione gawk"
-#: builtin.c:544
+#: builtin.c:522
msgid "length: received non-string argument"
-msgstr "length: l'argomento non è una stringa"
+msgstr "length: l'argomento ricevuto non è una stringa"
-#: builtin.c:575
+#: builtin.c:551
msgid "log: received non-numeric argument"
-msgstr "log: argomento non-numerico"
+msgstr "log: l'argomento ricevuto non è numerico"
-#: builtin.c:578
+#: builtin.c:554
#, c-format
msgid "log: received negative argument %g"
-msgstr "log: argomento negativo %g"
+msgstr "log: argomento ricevuto negativo %g"
-#: builtin.c:776 builtin.c:781
+#: builtin.c:752 builtin.c:757
msgid "fatal: must use `count$' on all formats or none"
-msgstr "fatale: `count$' va usato per ogni `format' o per nessuno"
+msgstr "fatale: `count$' va usato per tutti i formati o per nessuno"
-#: builtin.c:851
+#: builtin.c:827
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "larghezza campo ignorata per la specifica `%%'"
-#: builtin.c:853
+#: builtin.c:829
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precisione ignorata per la specifica `%%'"
-#: builtin.c:855
+#: builtin.c:831
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "larghezza campo e precisone ignorate per la specifica `%%'"
-#: builtin.c:906
+#: builtin.c:882
msgid "fatal: `$' is not permitted in awk formats"
-msgstr "fatale: operatore `$' non consentito nei `format' awk"
+msgstr "fatale: operatore `$' non consentito nei formati awk"
-#: builtin.c:915
+#: builtin.c:891
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatale: numero argomenti con `$' dev'essere > 0"
-#: builtin.c:919
+#: builtin.c:895
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "fatale: numero argomenti %ld > del numero totale argomenti specificati"
-#: builtin.c:923
+#: builtin.c:899
msgid "fatal: `$' not permitted after period in format"
-msgstr "fatale: `$' non consentito dopo il punto in un `format'"
+msgstr "fatale: `$' non consentito dopo il punto in un formato"
-#: builtin.c:939
+#: builtin.c:915
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fatale: manca `$' per i campi posizionali larghezza o precisione"
-#: builtin.c:1009
+#: builtin.c:985
msgid "`l' is meaningless in awk formats; ignored"
-msgstr "`l' non ha senso nei `format' awk; ignorato"
+msgstr "`l' non ha senso nei formati awk; ignorato"
-#: builtin.c:1013
+#: builtin.c:989
msgid "fatal: `l' is not permitted in POSIX awk formats"
-msgstr "fatale: `l' non consentito nei `format' POSIX awk"
+msgstr "fatale: `l' non consentito nei formati POSIX awk"
-#: builtin.c:1026
+#: builtin.c:1002
msgid "`L' is meaningless in awk formats; ignored"
-msgstr "`L' non ha senso nei `format' awk; ignorato"
+msgstr "`L' non ha senso nei formati awk; ignorato"
-#: builtin.c:1030
+#: builtin.c:1006
msgid "fatal: `L' is not permitted in POSIX awk formats"
-msgstr "`L' non ha senso nei `format' awk; ignorato"
+msgstr "fatale: `L' non consentito nei formati POSIX awk"
-#: builtin.c:1043
+#: builtin.c:1019
msgid "`h' is meaningless in awk formats; ignored"
-msgstr "`h' non ha senso nei `format' awk; ignorato"
+msgstr "`h' non ha senso nei formati awk; ignorato"
-#: builtin.c:1047
+#: builtin.c:1023
msgid "fatal: `h' is not permitted in POSIX awk formats"
-msgstr "fatale: `h' non consentito nei `format' POSIX awk"
+msgstr "fatale: `h' non consentito nei formati POSIX awk"
+
+#: builtin.c:1049
+#, c-format
+msgid "[s]printf: value %g is too big for %%c format"
+msgstr "[s]printf: valore %g troppo elevato per il formato %%c"
-#: builtin.c:1463
+#: builtin.c:1062
+#, c-format
+msgid "[s]printf: value %g is not a valid wide character"
+msgstr "[s]printf: valore %g non è un carattere multibyte valido "
+
+#: builtin.c:1448
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: valore %g fuori intervallo per il `format' `%%%c'"
+msgstr "[s]printf: valore %g fuori intervallo per il formato `%%%c'"
-#: builtin.c:1561
+#: builtin.c:1546
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"carattere di `format' sconosciuto `%c' ignorato: nessun argomento convertito"
+msgstr "carattere di formato ignoto `%c' ignorato: nessun argomento convertito"
-#: builtin.c:1566
+#: builtin.c:1551
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
"fatale: argomenti in numero minore di quelli richiesti dalla stringa di "
-"`format'"
+"formato"
-#: builtin.c:1568
+#: builtin.c:1553
msgid "^ ran out for this one"
msgstr "^ esauriti a questo punto"
-#: builtin.c:1575
+#: builtin.c:1560
msgid "[s]printf: format specifier does not have control letter"
-msgstr "[s]printf: specifica di `format' senza un carattere di controllo"
+msgstr "[s]printf: specifica di formato senza un carattere di controllo"
-#: builtin.c:1578
+#: builtin.c:1563
msgid "too many arguments supplied for format string"
-msgstr "troppi argomenti specificati per questa stringa di `format'"
+msgstr "troppi argomenti specificati per questa stringa di formato"
-#: builtin.c:1634
+#: builtin.c:1619
msgid "sprintf: no arguments"
msgstr "sprintf: nessun argomento"
-#: builtin.c:1657 builtin.c:1668
+#: builtin.c:1642 builtin.c:1653
msgid "printf: no arguments"
msgstr "printf: nessun argomento"
-#: builtin.c:1711
+#: builtin.c:1696
msgid "sqrt: received non-numeric argument"
-msgstr "sqrt: argomento non-numerico"
+msgstr "sqrt: l'argomento ricevuto non è numerico"
-#: builtin.c:1715
+#: builtin.c:1700
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: chiamata con argomento negativo %g"
-#: builtin.c:1746
+#: builtin.c:1731
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lunghezza %g non >= 1"
-#: builtin.c:1748
+#: builtin.c:1733
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lunghezza %g non >= 0"
-#: builtin.c:1755
+#: builtin.c:1747
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lunghezza non intera %g: sarà troncata"
-#: builtin.c:1760
+#: builtin.c:1752
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: lunghezza %g troppo elevata per indice stringa, tronco a %g"
-#: builtin.c:1772
+#: builtin.c:1764
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: indice di partenza %g non valido, uso 1"
-#: builtin.c:1777
+#: builtin.c:1769
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: indice di partenza non intero %g: sarà troncato"
-#: builtin.c:1802
+#: builtin.c:1792
msgid "substr: source string is zero length"
msgstr "substr: stringa di partenza lunga zero"
-#: builtin.c:1818
+#: builtin.c:1806
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: indice di partenza %g oltre la fine della stringa"
-#: builtin.c:1826
+#: builtin.c:1814
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -756,191 +765,213 @@ msgstr ""
"substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
"argomento (%lu)"
-#: builtin.c:1900
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-"strftime: il valore del `format' in PROCINFO[\"strftime\"] è di tipo numerico"
+"strftime: il valore del formato in PROCINFO[\"strftime\"] è di tipo numerico"
-#: builtin.c:1923
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
-msgstr "strftime: secondo argomento non-numerico"
+msgstr "strftime: il secondo argomento ricevuto non è numerico"
-#: builtin.c:1927
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr "strftime: secondo argomento < 0 o troppo elevato per time_t"
+msgstr "strftime: il secondo argomento è < 0 o troppo elevato per time_t"
-#: builtin.c:1934
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
-msgstr "strftime: il primo argomento non è una stringa"
+msgstr "strftime: il primo argomento ricevuto non è una stringa"
-#: builtin.c:1941
+#: builtin.c:1925
msgid "strftime: received empty format string"
-msgstr "strftime: `format' è una stringa nulla"
+msgstr "strftime: il formato ricevuto è una stringa nulla"
-#: builtin.c:2007
+#: builtin.c:1991
msgid "mktime: received non-string argument"
-msgstr "mktime: l'argomento non è una stringa"
+msgstr "mktime: l'argomento ricevuto non è una stringa"
-#: builtin.c:2024
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: almeno un valore è fuori dall'intervallo di default"
-#: builtin.c:2059
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "funzione 'system' non consentita in modo `sandbox'"
-#: builtin.c:2064
+#: builtin.c:2048
msgid "system: received non-string argument"
-msgstr "system: l'argomento non è una stringa"
+msgstr "system: l'argomento ricevuto non è una stringa"
-#: builtin.c:2184
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "riferimento a variabile non inizializzata `$%d'"
-#: builtin.c:2271
+#: builtin.c:2253
msgid "tolower: received non-string argument"
-msgstr "tolower: l'argomento non è una stringa"
+msgstr "tolower: l'argomento ricevuto non è una stringa"
-#: builtin.c:2305
+#: builtin.c:2284
msgid "toupper: received non-string argument"
-msgstr "toupper: l'argomento non è una stringa"
+msgstr "toupper: l'argomento ricevuto non è una stringa"
-#: builtin.c:2341 mpfr.c:672
+#: builtin.c:2317 mpfr.c:679
msgid "atan2: received non-numeric first argument"
-msgstr "atan2: primo argomento non-numerico"
+msgstr "atan2: il primo argomento ricevuto non è numerico"
-#: builtin.c:2343 mpfr.c:674
+#: builtin.c:2319 mpfr.c:681
msgid "atan2: received non-numeric second argument"
-msgstr "atan2: secondo argomento non-numerico"
+msgstr "atan2: il secondo argomento ricevuto non è numerico"
-#: builtin.c:2362
+#: builtin.c:2338
msgid "sin: received non-numeric argument"
-msgstr "sin: argomento non-numerico"
+msgstr "sin: l'argomento ricevuto non è numerico"
-#: builtin.c:2378
+#: builtin.c:2354
msgid "cos: received non-numeric argument"
-msgstr "cos: argomento non-numerico"
+msgstr "cos: l'argomento ricevuto non è numerico"
-#: builtin.c:2431 mpfr.c:1156
+#: builtin.c:2468 mpfr.c:1176
msgid "srand: received non-numeric argument"
-msgstr "srand: argomento non-numerico"
+msgstr "srand: l'argomento ricevuto non è numerico"
-#: builtin.c:2462
+#: builtin.c:2499
msgid "match: third argument is not an array"
msgstr "match: terzo argomento non-vettoriale"
-#: builtin.c:2734
-msgid "gensub: third argument of 0 treated as 1"
-msgstr "gensub: il terzo argomento è 0, trattato come 1"
+#: builtin.c:2760
+#, c-format
+msgid "gensub: third argument `%.*s' treated as 1"
+msgstr "gensub: il terzo argomento `%.*s' trattato come 1"
+
+#: builtin.c:2775
+#, c-format
+msgid "gensub: third argument %g treated as 1"
+msgstr "gensub: il terzo argomento %g trattato come 1"
-#: builtin.c:3030
+#: builtin.c:3075
msgid "lshift: received non-numeric first argument"
-msgstr "lshift: primo argomento non-numerico"
+msgstr "lshift: il primo argomento ricevuto non è numerico"
-#: builtin.c:3032
+#: builtin.c:3077
msgid "lshift: received non-numeric second argument"
-msgstr "lshift: secondo argomento non-numerico"
+msgstr "lshift: il secondo argomento ricevuto non è numerico"
-#: builtin.c:3038
+#: builtin.c:3083
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): valori negativi daranno risultati strani"
-#: builtin.c:3040
+#: builtin.c:3085
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): valori decimali saranno troncati"
-#: builtin.c:3042
+#: builtin.c:3087
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): valori troppo alti daranno risultati strani"
-#: builtin.c:3067
+#: builtin.c:3112
msgid "rshift: received non-numeric first argument"
-msgstr "rshift: primo argomento ricevuto non-numerico"
+msgstr "rshift: il primo argomento ricevuto non è numerico"
-#: builtin.c:3069
+#: builtin.c:3114
msgid "rshift: received non-numeric second argument"
-msgstr "rshift: secondo argomento non-numerico"
+msgstr "rshift: il secondo argomento ricevuto non è numerico"
-#: builtin.c:3075
+#: builtin.c:3120
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): valori negativi daranno risultati strani"
-#: builtin.c:3077
+#: builtin.c:3122
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): valori decimali saranno troncati"
-#: builtin.c:3079
+#: builtin.c:3124
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): valori troppo alti daranno risultati strani"
-#: builtin.c:3104 mpfr.c:968
+#: builtin.c:3149 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: chiamata con meno di due argomenti"
-#: builtin.c:3109
+#: builtin.c:3154
#, c-format
msgid "and: argument %d is non-numeric"
-msgstr "and: argomento %d non-numerico"
+msgstr "and: l'argomento %d non è numerico"
-#: builtin.c:3113
+#: builtin.c:3158
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3136 mpfr.c:1000
+#: builtin.c:3181 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: chiamata con meno di due argomenti"
-#: builtin.c:3141
+#: builtin.c:3186
#, c-format
msgid "or: argument %d is non-numeric"
-msgstr "or: argomento %d non-numerico"
+msgstr "or: l'argomento %d non è numerico"
-#: builtin.c:3145
+#: builtin.c:3190
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3167 mpfr.c:1031
+#: builtin.c:3212 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: chiamata con meno di due argomenti"
-#: builtin.c:3173
+#: builtin.c:3218
#, c-format
msgid "xor: argument %d is non-numeric"
-msgstr "xor: argomento %d non-numerico"
+msgstr "xor: l'argomento %d non è numerico"
-#: builtin.c:3177
+#: builtin.c:3222
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3202 mpfr.c:787
+#: builtin.c:3247 mpfr.c:807
msgid "compl: received non-numeric argument"
-msgstr "compl: argomento non-numerico"
+msgstr "compl: l'argomento ricevuto non è numerico"
-#: builtin.c:3208
+#: builtin.c:3253
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): valore negativo, darà risultati strani"
-#: builtin.c:3210
+#: builtin.c:3255
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): valori decimali saranno troncati"
-#: builtin.c:3379
+#: builtin.c:3424
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' non è una categoria `locale' valida"
+#: builtin.c:3611 mpfr.c:1209
+msgid "div: third argument is not an array"
+msgstr "div: terzo argomento non-vettoriale"
+
+#: builtin.c:3619 mpfr.c:1217
+msgid "div: received non-numeric first argument"
+msgstr "div: il primo argomento ricevuto non è numerico"
+
+#: builtin.c:3621 mpfr.c:1219
+msgid "div: received non-numeric second argument"
+msgstr "div: il secondo argomento ricevuto non è numerico"
+
+#: builtin.c:3630 mpfr.c:1253
+msgid "div: division by zero attempted"
+msgstr "div: tentativo di dividere per zero"
+
#: command.y:225
#, c-format
msgid "Type (g)awk statement(s). End with the command \"end\"\n"
@@ -1167,7 +1198,7 @@ msgstr "print var [var] - stampa valore di variabile/i o vettore/i."
#: command.y:865
msgid "printf format, [arg], ... - formatted output."
-msgstr "printf format, [arg], ... - output secondo formato specificato."
+msgstr "printf format, [arg], ... - output secondo formato."
#: command.y:867
msgid "quit - exit debugger."
@@ -1228,8 +1259,8 @@ msgid ""
"until [[filename:]N|function] - execute until program reaches a different "
"line or line N within current frame."
msgstr ""
-"until [[nome-file:]N|funzione] - esegui finché il programma arriva una "
-"riga differente, o alla riga N nell'elemento di stack corrente."
+"until [[nome-file:]N|funzione] - esegui finché il programma arriva una riga "
+"differente, o alla riga N nell'elemento di stack corrente."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1243,40 +1274,48 @@ msgstr "up [N] - spostati di N elementi dello stack verso l'alto."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - imposta un watchpoint per una variabile."
-#: command.y:1011 debug.c:401 msg.c:135
+#: command.y:901
+msgid ""
+"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
+"if N < 0) frames."
+msgstr ""
+"dove [N] - (equivalente a backtrace) stampa tracia di tutti gli elementi o "
+"degli N più interni (più esterni se N <0)"
+
+#: command.y:1013 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "errore: "
-#: command.y:1051
+#: command.y:1053
#, c-format
msgid "can't read command (%s)\n"
msgstr "non riesco a leggere comando (%s)\n"
-#: command.y:1065
+#: command.y:1067
#, c-format
msgid "can't read command (%s)"
msgstr "non riesco a leggere comando (%s)"
-#: command.y:1116
+#: command.y:1118
msgid "invalid character in command"
msgstr "carattere non valido nel comando"
-#: command.y:1152
+#: command.y:1154
#, c-format
msgid "unknown command - \"%.*s\", try help"
msgstr "comando sconosciuto - \"%.*s\", vedere help"
-#: command.y:1222
+#: command.y:1224
#, c-format
msgid "%s"
msgstr "%s"
-#: command.y:1284
+#: command.y:1286
msgid "invalid character"
msgstr "carattere non valido"
-#: command.y:1455
+#: command.y:1457
#, c-format
msgid "undefined command: %s\n"
msgstr "comando non definito: %s\n"
@@ -1488,17 +1527,17 @@ msgstr "[\"%s\"] non presente nel vettore `%s\n"
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "`%s[\"%s\"]' non è un vettore\n"
-#: debug.c:1236 debug.c:4964
+#: debug.c:1236 debug.c:4965
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "`%s' non è una variabile scalare"
-#: debug.c:1258 debug.c:4994
+#: debug.c:1258 debug.c:4995
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "tentativo di usare vettore `%s[\"%s\"]' in un contesto scalare"
-#: debug.c:1280 debug.c:5005
+#: debug.c:1280 debug.c:5006
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "tentativo di usare scalare `%s[\"%s\"]' come vettore"
@@ -1776,99 +1815,99 @@ msgstr "'finish' not significativo per salti non-locali '%s'\n"
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "'until' not significativo per salti non-locali '%s'\n"
-#: debug.c:4185
+#: debug.c:4186
msgid "\t------[Enter] to continue or q [Enter] to quit------"
msgstr "\t------[Invio] per continuare o q [Invio] per uscire------"
-#: debug.c:4186
+#: debug.c:4187
msgid "q"
msgstr "q"
-#: debug.c:5001
+#: debug.c:5002
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[\"%s\"] non presente nel vettore `%s'"
-#: debug.c:5207
+#: debug.c:5208
#, c-format
msgid "sending output to stdout\n"
msgstr "output inviato a stdout\n"
-#: debug.c:5247
+#: debug.c:5248
msgid "invalid number"
msgstr "numero non valido"
-#: debug.c:5381
+#: debug.c:5382
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "`%s' non consentito nel contesto corrente; istruzione ignorata"
-#: debug.c:5389
+#: debug.c:5390
msgid "`return' not allowed in current context; statement ignored"
msgstr "`return' non consentito nel contesto corrente; istruzione ignorata"
-#: debug.c:5590
+#: debug.c:5605
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Simbolo `%s' non esiste nel contesto corrente"
-#: dfa.c:1118 dfa.c:1121 dfa.c:1142 dfa.c:1150 dfa.c:1162 dfa.c:1197
-#: dfa.c:1206 dfa.c:1209 dfa.c:1214 dfa.c:1228 dfa.c:1275
+#: dfa.c:1051 dfa.c:1054 dfa.c:1073 dfa.c:1083 dfa.c:1095 dfa.c:1131
+#: dfa.c:1140 dfa.c:1143 dfa.c:1148 dfa.c:1162 dfa.c:1210
msgid "unbalanced ["
msgstr "[ non chiusa"
-#: dfa.c:1174
+#: dfa.c:1107
msgid "invalid character class"
msgstr "character class non valida"
-#: dfa.c:1316
+#: dfa.c:1253
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "sintassi character class è [[:spazio:]], non [:spazio:]"
-#: dfa.c:1366
+#: dfa.c:1315
msgid "unfinished \\ escape"
msgstr "sequenza escape \\ non completa"
-#: dfa.c:1513 regcomp.c:161
-msgid "Invalid content of \\{\\}"
-msgstr "Contenuto di \\{\\} non valido"
+#: dfa.c:1462
+msgid "invalid content of \\{\\}"
+msgstr "contenuto di \\{\\} non valido"
-#: dfa.c:1516 regcomp.c:176
-msgid "Regular expression too big"
-msgstr "Espressione regolare troppo complessa"
+#: dfa.c:1465
+msgid "regular expression too big"
+msgstr "espressione regolare troppo complessa"
-#: dfa.c:1936
+#: dfa.c:1900
msgid "unbalanced ("
msgstr "( non chiusa"
-#: dfa.c:2062
+#: dfa.c:2026
msgid "no syntax specified"
msgstr "nessuna sintassi specificata"
-#: dfa.c:2070
+#: dfa.c:2034
msgid "unbalanced )"
msgstr ") non aperta"
-#: eval.c:394
+#: eval.c:397
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo nodo sconosciuto %d"
-#: eval.c:405 eval.c:419
+#: eval.c:408 eval.c:422
#, c-format
msgid "unknown opcode %d"
msgstr "codice operativo sconosciuto %d"
-#: eval.c:416
+#: eval.c:419
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "codice operativo %s non è un operatore o una parola chiave"
-#: eval.c:472
+#: eval.c:475
msgid "buffer overflow in genflags2str"
msgstr "superamento limiti buffer in 'genflags2str'"
-#: eval.c:675
+#: eval.c:677
#, c-format
msgid ""
"\n"
@@ -1879,216 +1918,216 @@ msgstr ""
"\t# `Stack' (Pila) Chiamate Funzione:\n"
"\n"
-#: eval.c:704
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' è un'estensione gawk"
-#: eval.c:736
+#: eval.c:738
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' è un'estensione gawk"
-#: eval.c:794
+#: eval.c:796
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "valore di BINMODE `%s' non valido, considerato come 3"
-#: eval.c:885
+#: eval.c:913
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "specificazione invalida `%sFMT' `%s'"
-#: eval.c:969
+#: eval.c:997
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
-#: eval.c:1147
+#: eval.c:1175
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "riferimento ad argomento non inizializzato `%s'"
-#: eval.c:1148
+#: eval.c:1176
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "riferimento a variabile non inizializzata `%s'"
-#: eval.c:1166
+#: eval.c:1194
msgid "attempt to field reference from non-numeric value"
msgstr "tentativo di riferimento a un campo da valore non-numerico"
-#: eval.c:1168
+#: eval.c:1196
msgid "attempt to field reference from null string"
msgstr "tentativo di riferimento a un campo da una stringa nulla"
-#: eval.c:1176
+#: eval.c:1204
#, c-format
msgid "attempt to access field %ld"
msgstr "tentativo di accedere al campo %ld"
-#: eval.c:1185
+#: eval.c:1213
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "riferimento a campo non inizializzato `$%ld'"
-#: eval.c:1272
+#: eval.c:1300
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funzione `%s' chiamata con più argomenti di quelli previsti"
-#: eval.c:1473
+#: eval.c:1501
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo non previsto `%s'"
-#: eval.c:1569
+#: eval.c:1597
msgid "division by zero attempted in `/='"
msgstr "divisione per zero tentata in `/='"
-#: eval.c:1576
+#: eval.c:1604
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "divisione per zero tentata in `%%='"
-#: ext.c:89 ext.c:171
+#: ext.c:65 ext.c:147
msgid "extensions are not allowed in sandbox mode"
msgstr "le estensioni non sono consentite in modo `sandbox'"
-#: ext.c:92
+#: ext.c:68
msgid "-l / @load are gawk extensions"
msgstr "-l / @load sono estensioni gawk"
-#: ext.c:95
+#: ext.c:71
msgid "load_ext: received NULL lib_name"
-msgstr "load_ext: nome libreria ricevuto è NULL"
+msgstr "load_ext: il nome libreria ricevuto è NULL"
-#: ext.c:98
+#: ext.c:74
#, c-format
msgid "load_ext: cannot open library `%s' (%s)\n"
msgstr "load_ext: non riesco ad aprire libreria `%s' (%s)\n"
-#: ext.c:104
+#: ext.c:80
#, c-format
msgid ""
"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"load_ext: libreria `%s': non definisce `plugin_is_GPL_compatible' (%s)\n"
-#: ext.c:110
+#: ext.c:86
#, c-format
msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
msgstr "load_ext: libreria `%s': non riesco a chiamare funzione `%s' (%s)\n"
-#: ext.c:114
+#: ext.c:90
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
msgstr ""
"load_ext: libreria `%s' routine di inizializzazione `%s' non riuscita\n"
-#: ext.c:174
+#: ext.c:150
msgid "`extension' is a gawk extension"
msgstr "`extension' è un'estensione gawk"
-#: ext.c:177
+#: ext.c:153
msgid "extension: received NULL lib_name"
-msgstr "extension: nome libreria ricevuto è NULL"
+msgstr "extension: il nome libreria ricevuto è NULL"
-#: ext.c:180
+#: ext.c:156
#, c-format
msgid "extension: cannot open library `%s' (%s)"
msgstr "extension: non riesco ad aprire libreria `%s' (%s)"
-#: ext.c:186
+#: ext.c:162
#, c-format
msgid ""
"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
msgstr ""
"extension: libreria `%s': non definisce `plugin_is_GPL_compatible' (%s)"
-#: ext.c:190
+#: ext.c:166
#, c-format
msgid "extension: library `%s': cannot call function `%s' (%s)"
msgstr "extension: libreria `%s': non riesco a chiamare funzione `%s' (%s)"
-#: ext.c:221
+#: ext.c:197
msgid "make_builtin: missing function name"
msgstr "make_builtin: manca nome di funzione"
-#: ext.c:236
+#: ext.c:212
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: non riesco a ridefinire funzione `%s'"
-#: ext.c:240
+#: ext.c:216
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: funzione `%s' già definita"
-#: ext.c:244
+#: ext.c:220
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: funzione di nome `%s' definita in precedenza"
-#: ext.c:246
+#: ext.c:222
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
msgstr ""
"make_builtin: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: ext.c:249 ext.c:304
+#: ext.c:225 ext.c:280
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: contatore argomenti negativo per la funzione `%s'"
-#: ext.c:276
+#: ext.c:252
msgid "extension: missing function name"
msgstr "extension: manca nome di funzione"
-#: ext.c:279 ext.c:283
+#: ext.c:255 ext.c:259
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: carattere non ammesso `%c' nel nome di funzione `%s'"
-#: ext.c:291
+#: ext.c:267
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: non riesco a ridefinire funzione `%s'"
-#: ext.c:295
+#: ext.c:271
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: funzione `%s' già definita"
-#: ext.c:299
+#: ext.c:275
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: funzione di nome `%s' definita in precedenza"
-#: ext.c:301
+#: ext.c:277
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"extension: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: ext.c:375
+#: ext.c:351
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funzione `%s' definita per avere al massimo %d argomenti(o)"
-#: ext.c:378
+#: ext.c:354
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funzione `%s': manca argomento #%d"
-#: ext.c:395
+#: ext.c:371
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "funzione `%s': argomento #%d: tentativo di usare scalare come vettore"
-#: ext.c:399
+#: ext.c:375
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "funzione `%s': argomento #%d: tentativo di usare vettore come scalare"
-#: ext.c:413
+#: ext.c:389
msgid "dynamic loading of library not supported"
msgstr "caricamento dinamico di libreria non supportato"
@@ -2232,7 +2271,7 @@ msgstr "wait: chiamata con troppi argomenti"
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin: modifica in-place già attiva"
-#: extension/inplace.c:133 extension/inplace.c:207
+#: extension/inplace.c:133 extension/inplace.c:210
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin: 2 argumenti richiesti, ma chiamata con %d"
@@ -2263,56 +2302,56 @@ msgstr "inplace_begin: `%s' non è un file regolare"
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin: mkstemp(`%s') non riuscita (%s)"
-#: extension/inplace.c:178
+#: extension/inplace.c:181
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin: chmod non riuscita (%s)"
-#: extension/inplace.c:185
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin: dup(stdout) non riuscita (%s)"
-#: extension/inplace.c:188
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin: dup2(%d, stdout) non riuscita (%s)"
-#: extension/inplace.c:191
+#: extension/inplace.c:194
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin: close(%d) non riuscita (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:213
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr ""
"inplace_end: non riesco a trovare il 1° argomento come stringa nome-file"
-#: extension/inplace.c:217
+#: extension/inplace.c:220
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end: modifica in-place non attiva"
-#: extension/inplace.c:223
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end: dup2(%d, stdout) non riuscita (%s)"
-#: extension/inplace.c:226
+#: extension/inplace.c:229
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end: close(%d) non riuscita (%s)"
-#: extension/inplace.c:230
+#: extension/inplace.c:233
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end: fsetpos(stdout) non riuscita (%s)"
-#: extension/inplace.c:243
+#: extension/inplace.c:246
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end: link(`%s', `%s') non riuscita (%s)"
-#: extension/inplace.c:253
+#: extension/inplace.c:256
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end: rename(`%s', `%s') non riuscito (%s)"
@@ -2426,90 +2465,90 @@ msgstr "sleep: l'argomento è negativo"
msgid "sleep: not supported on this platform"
msgstr "sleep: non supportato in questa architettura"
-#: field.c:345
+#: field.c:346
msgid "NF set to negative value"
msgstr "NF impostato a un valore negativo"
-#: field.c:971 field.c:978 field.c:982
+#: field.c:958 field.c:965 field.c:969
msgid "split: fourth argument is a gawk extension"
msgstr "split: il quarto argomento è un'estensione gawk"
-#: field.c:975
+#: field.c:962
msgid "split: fourth argument is not an array"
msgstr "split: quarto argomento non-vettoriale"
-#: field.c:989
+#: field.c:976
msgid "split: second argument is not an array"
msgstr "split: secondo argomento non-vettoriale"
-#: field.c:993
+#: field.c:980
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: non si può usare un unico vettore come secondo e quarto argomento"
-#: field.c:998
+#: field.c:985
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: non consentito un quarto argomento che sia un sottovettore del "
"secondo argomento"
-#: field.c:1001
+#: field.c:988
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: non consentito un secondo argomento che sia un sottovettore del "
"quarto argomento"
-#: field.c:1032
+#: field.c:1019
msgid "split: null string for third arg is a gawk extension"
msgstr "split: la stringa nulla come terzo arg. è un'estensione gawk"
-#: field.c:1072
+#: field.c:1059
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: secondo argomento non-vettoriale"
-#: field.c:1077
+#: field.c:1064
msgid "patsplit: second argument is not an array"
msgstr "patsplit: secondo argomento non-vettoriale"
-#: field.c:1083
+#: field.c:1070
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: il terzo argomento non può essere nullo"
-#: field.c:1087
+#: field.c:1074
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: non si può usare un unico vettore come secondo e quarto argomento"
-#: field.c:1092
+#: field.c:1079
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: non consentito un quarto argomento che sia un sottovettore del "
"secondo argomento"
-#: field.c:1095
+#: field.c:1082
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: non consentito un secondo argomento che sia un sottovettore del "
"quarto argomento"
-#: field.c:1133
+#: field.c:1120
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' è un'estensione gawk"
-#: field.c:1197
+#: field.c:1184
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
-#: field.c:1270
+#: field.c:1257
msgid "null string for `FS' is a gawk extension"
msgstr "la stringa nulla usata come `FS' è un'estensione gawk"
-#: field.c:1274
+#: field.c:1261
msgid "old awk does not support regexps as value of `FS'"
msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
-#: field.c:1393
+#: field.c:1380
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' è un'estensione gawk"
@@ -2525,20 +2564,20 @@ msgstr "node_to_awk_value: ricevuto nodo nullo"
msgid "node_to_awk_value: received null val"
msgstr "node_to_awk_value: ricevuto valore nullo"
-#: gawkapi.c:807
+#: gawkapi.c:810
msgid "remove_element: received null array"
msgstr "remove_element: ricevuto vettore nullo"
-#: gawkapi.c:810
+#: gawkapi.c:813
msgid "remove_element: received null subscript"
msgstr "remove_element: ricevuto indice nullo"
-#: gawkapi.c:947
+#: gawkapi.c:950
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array: non sono riuscito a convertire l'indice %d\n"
-#: gawkapi.c:952
+#: gawkapi.c:955
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array: non sono riuscito a convertire il valore %d\n"
@@ -2598,293 +2637,275 @@ msgstr "%s: l'opzione '-W %s' non ammette un argomento\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: l'opzione '-W %s' richiede un argomento\n"
-#: io.c:392
+#: io.c:423
#, c-format
msgid "command line argument `%s' is a directory: skipped"
-msgstr "l'argomento in linea comando `%s' è una directory: saltato"
+msgstr "l'argomento in riga comando `%s' è una directory: ignorata"
-#: io.c:395 io.c:513
+#: io.c:426 io.c:544
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "non riesco ad aprire file `%s' in lettura (%s)"
-#: io.c:640
+#: io.c:671
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "chiusura di fd %d (`%s') non riuscita (%s)"
-#: io.c:716
+#: io.c:749
msgid "redirection not allowed in sandbox mode"
msgstr "ri-direzione non consentita in modo `sandbox'"
-#: io.c:750
+#: io.c:783
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "espressione nella ri-direzione `%s' ha solo un valore numerico"
-#: io.c:756
+#: io.c:789
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "espressione nella ri-direzione `%s' ha per valore la stringa nulla"
-#: io.c:761
+#: io.c:794
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"nome-file `%s' per la ri-direzione `%s' può essere il risultato di una "
"espressione logica"
-#: io.c:809
+#: io.c:842
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
-#: io.c:863
+#: io.c:896
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "non riesco ad aprire `pipe' `%s' in scrittura (%s)"
-#: io.c:873
+#: io.c:906
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "non riesco ad aprire `pipe' `%s' in lettura (%s)"
-#: io.c:904
+#: io.c:937
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
"non riesco ad aprire `pipe' bidirezionale `%s' in lettura/scrittura (%s)"
-#: io.c:986
+#: io.c:1019
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "non riesco a ri-dirigere da `%s' (%s)"
-#: io.c:989
+#: io.c:1022
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "non riesco a ri-dirigere a `%s' (%s)"
-#: io.c:1040
+#: io.c:1073
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"numero massimo consentito di file aperti raggiunto: comincio a riutilizzare "
"i descrittori di file"
-#: io.c:1056
+#: io.c:1089
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "chiusura di `%s' non riuscita (%s)."
-#: io.c:1064
+#: io.c:1097
msgid "too many pipes or input files open"
msgstr "troppe `pipe' o file di input aperti"
-#: io.c:1086
+#: io.c:1119
msgid "close: second argument must be `to' or `from'"
msgstr "close: il secondo argomento deve essere `a' o `da'"
-#: io.c:1103
+#: io.c:1136
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: `%.*s' non è un file aperto, una `pipe' o un co-processo"
-#: io.c:1108
+#: io.c:1141
msgid "close of redirection that was never opened"
msgstr "chiusura di una ri-direzione mai aperta"
-#: io.c:1205
+#: io.c:1238
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr "close: ri-direzione `%s' non aperta con `|&', ignoro secondo argomento"
-#: io.c:1222
+#: io.c:1255
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura della `pipe' `%s' (%s)"
-#: io.c:1225
+#: io.c:1258
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
-#: io.c:1245
+#: io.c:1278
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per `socket' `%s'"
-#: io.c:1248
+#: io.c:1281
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
-#: io.c:1251
+#: io.c:1284
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per `pipe' `%s'"
-#: io.c:1254
+#: io.c:1287
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per file `%s'"
-#: io.c:1284 io.c:1342 main.c:864 main.c:906
+#: io.c:1317 io.c:1375 main.c:615 main.c:657
#, c-format
msgid "error writing standard output (%s)"
msgstr "errore scrivendo 'standard output' (%s)"
-#: io.c:1289 io.c:1348 main.c:866
+#: io.c:1322 io.c:1381 main.c:617
#, c-format
msgid "error writing standard error (%s)"
msgstr "errore scrivendo 'standard error' (%s)"
-#: io.c:1297
+#: io.c:1330
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "scaricamento di `pipe' `%s' non riuscito (%s)."
-#: io.c:1300
+#: io.c:1333
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "scaricamento da co-processo di `pipe' a `%s' non riuscito (%s)."
-#: io.c:1303
+#: io.c:1336
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "scaricamento di file `%s' non riuscito (%s)."
-#: io.c:1420
+#: io.c:1453
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "porta locale %s invalida in `/inet'"
-#: io.c:1438
+#: io.c:1471
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host remoto e informazione di porta (%s, %s) invalidi"
-#: io.c:1590
-#, c-format
-msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "nessuno protocollo (noto) specificato nel filename speciale `%s'"
-
-#: io.c:1604
-#, c-format
-msgid "special file name `%s' is incomplete"
-msgstr "nome-file speciale `%s' incompleto"
-
-#: io.c:1621
-msgid "must supply a remote hostname to `/inet'"
-msgstr "va fornito nome di `host' remoto a `/inet'"
-
-#: io.c:1639
-msgid "must supply a remote port to `/inet'"
-msgstr "va fornita porta remota a `/inet'"
-
-#: io.c:1685
+#: io.c:1673
msgid "TCP/IP communications are not supported"
msgstr "comunicazioni TCP/IP non supportate"
-#: io.c:1867
+#: io.c:1854
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "non riesco ad aprire `%s', modo `%s'"
-#: io.c:1917
+#: io.c:1904
#, c-format
msgid "close of master pty failed (%s)"
msgstr "close di `pty' principale non riuscita (%s)"
-#: io.c:1919 io.c:2105 io.c:2305
+#: io.c:1906 io.c:2092 io.c:2293
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "close di `stdout' nel processo-figlio non riuscita (%s)"
-#: io.c:1922
+#: io.c:1909
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"trasferimento di `pty' secondaria a `stdout' nel processo-figlio non "
"riuscita (dup: %s)"
-#: io.c:1924 io.c:2110
+#: io.c:1911 io.c:2097
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "close di `stdin' nel processo-figlio non riuscita (%s)"
-#: io.c:1927
+#: io.c:1914
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio non riuscito "
"(dup: %s)"
-#: io.c:1929 io.c:1951
+#: io.c:1916 io.c:1938
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "close di 'pty' secondaria non riuscita (%s)"
-#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
+#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"passaggio di `pipe' a `stdout' nel processo-figlio non riuscito (dup: %s)"
-#: io.c:2047 io.c:2113
+#: io.c:2034 io.c:2100
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"passaggio di pipe a `stdin' nel processo-figlio non riuscito (dup: %s)"
-#: io.c:2073 io.c:2298
+#: io.c:2060 io.c:2286
msgid "restoring stdout in parent process failed\n"
msgstr "ripristino di `stdout' nel processo-padre non riuscito\n"
-#: io.c:2081
+#: io.c:2068
msgid "restoring stdin in parent process failed\n"
msgstr "ripristino di `stdin' nel processo-padre non riuscito\n"
-#: io.c:2116 io.c:2310 io.c:2324
+#: io.c:2103 io.c:2298 io.c:2313
#, c-format
msgid "close of pipe failed (%s)"
msgstr "close di 'pipe' non riuscita (%s)"
-#: io.c:2174
+#: io.c:2162
msgid "`|&' not supported"
msgstr "`|&' non supportato"
-#: io.c:2261
+#: io.c:2249
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "non riesco ad aprire `pipe' `%s' (%s)"
-#: io.c:2318
+#: io.c:2307
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
-#: io.c:2790
+#: io.c:2734
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: ricevuto puntatore NULL"
-#: io.c:2818
+#: io.c:2762
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr ""
"input parser `%s' in conflitto con l'input parser `%s' installato in "
"precedenza"
-#: io.c:2825
+#: io.c:2769
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "l'input parser `%s' non è riuscito ad aprire `%s'"
-#: io.c:2845
+#: io.c:2789
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: ricevuto puntatore NULL"
-#: io.c:2873
+#: io.c:2817
#, c-format
msgid ""
"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
@@ -2892,16 +2913,16 @@ msgstr ""
"output wrapper `%s' in conflitto con l'output wrapper `%s' installato in "
"precedenza"
-#: io.c:2880
+#: io.c:2824
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "l'output wrapper `%s' non è riuscito ad aprire `%s'"
-#: io.c:2901
+#: io.c:2845
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: ricevuto puntatore NULL"
-#: io.c:2930
+#: io.c:2874
#, c-format
msgid ""
"two-way processor `%s' conflicts with previously installed two-way processor "
@@ -2910,209 +2931,195 @@ msgstr ""
"processore doppio `%s' in conflitto con il processore doppio installato in "
"precedenza `%s'"
-#: io.c:2939
+#: io.c:2883
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "il processore doppio `%s' non è riuscito ad aprire `%s'"
-#: io.c:3064
+#: io.c:3008
#, c-format
msgid "data file `%s' is empty"
msgstr "file dati `%s' vuoto"
-#: io.c:3106 io.c:3114
+#: io.c:3050 io.c:3058
msgid "could not allocate more input memory"
msgstr "non riesco ad allocare ulteriore memoria per l'input"
-#: io.c:3682
+#: io.c:3636
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "valore multicarattere per `RS' è un'estensione gawk"
-#: io.c:3771
+#: io.c:3783
msgid "IPv6 communication is not supported"
msgstr "comunicazioni IPv6 non supportate"
-#: main.c:405
-msgid "empty argument to `-e/--source' ignored"
-msgstr "argomento di `-e/--source' nullo, ignorato"
-
-#: main.c:495
-#, c-format
-msgid "%s: option `-W %s' unrecognized, ignored\n"
-msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
-
-#: main.c:541
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
-
-#: main.c:562
+#: main.c:309
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
-#: main.c:568
+#: main.c:315
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' annulla `--traditional'"
-#: main.c:579
+#: main.c:326
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
-#: main.c:583
+#: main.c:330
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "eseguire %s con `setuid' root può essere un rischio per la sicurezza"
-#: main.c:588
+#: main.c:334
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "`--posix' annulla `--characters-as-bytes'"
-#: main.c:647
+#: main.c:392
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "non è possibile impostare modalità binaria su `stdin'(%s)"
-#: main.c:650
+#: main.c:395
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "non è possibile impostare modalità binaria su `stdout'(%s)"
-#: main.c:652
+#: main.c:397
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "non è possibile impostare modalità binaria su `stderr'(%s)"
-#: main.c:710
+#: main.c:457
msgid "no program text at all!"
msgstr "manca del tutto il testo del programma!"
-#: main.c:799
+#: main.c:550
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f file-prog. [--] file ...\n"
-#: main.c:801
+#: main.c:552
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n"
-#: main.c:806
+#: main.c:557
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n"
-#: main.c:807
+#: main.c:558
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fileprog\t\t--file=file-prog.\n"
-#: main.c:808
+#: main.c:559
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:809
+#: main.c:560
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valore\t\t--assign=var=valore\n"
-#: main.c:810
+#: main.c:561
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n"
-#: main.c:811
+#: main.c:562
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:812
+#: main.c:563
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:813
+#: main.c:564
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:814
+#: main.c:565
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[file]\t\t--dump-variables[=file]\n"
-#: main.c:815
+#: main.c:566
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[file]\t\t--debug[=file]\n"
-#: main.c:816
+#: main.c:567
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n"
-#: main.c:817
+#: main.c:568
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:818
+#: main.c:569
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:819
+#: main.c:570
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:820
+#: main.c:571
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i include_file\t\t--include=include_file\n"
-#: main.c:821
+#: main.c:572
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l libreria\t\t--load=libreria\n"
-#: main.c:822
-msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
-msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-
-#: main.c:823
-msgid "\t-n\t\t\t--non-decimal-data\n"
-msgstr "\t-n\t\t\t--non-decimal-data\n"
+#: main.c:573
+msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
+msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:824
+#: main.c:574
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:825
+#: main.c:575
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:826
+#: main.c:576
+msgid "\t-n\t\t\t--non-decimal-data\n"
+msgstr "\t-n\t\t\t--non-decimal-data\n"
+
+#: main.c:577
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[file]\t\t--pretty-print[=file]\n"
-#: main.c:827
+#: main.c:578
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:828
+#: main.c:579
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[file]\t\t--profile[=file]\n"
-#: main.c:829
+#: main.c:580
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:830
+#: main.c:581
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:831
+#: main.c:582
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:832
+#: main.c:583
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:833
+#: main.c:584
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:835
+#: main.c:586
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:838
+#: main.c:589
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3121,7 +3128,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:847
+#: main.c:598
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3134,7 +3141,7 @@ msgstr ""
"Problemi di traduzione, segnalare ad: azc100@gmail.com.\n"
"\n"
-#: main.c:851
+#: main.c:602
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3144,7 +3151,7 @@ msgstr ""
"Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
"\n"
-#: main.c:855
+#: main.c:606
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3154,7 +3161,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:880
+#: main.c:631
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3173,7 +3180,7 @@ msgstr ""
"Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
"\n"
-#: main.c:888
+#: main.c:639
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3187,7 +3194,7 @@ msgstr ""
"Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
"\n"
-#: main.c:894
+#: main.c:645
msgid ""
"You should have received a copy of the GNU General Public License\n"
"along with this program. If not, see http://www.gnu.org/licenses/.\n"
@@ -3196,16 +3203,16 @@ msgstr ""
"assieme a questo programma; se non è così, vedi http://www.gnu.org/"
"licenses/.\n"
-#: main.c:931
+#: main.c:682
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft non imposta FS a `tab' nell'awk POSIX"
-#: main.c:1208
+#: main.c:973
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valore non noto per specifica campo: %d\n"
-#: main.c:1306
+#: main.c:1071
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3214,98 +3221,116 @@ msgstr ""
"%s: `%s' argomento di `-v' non in forma `var=valore'\n"
"\n"
-#: main.c:1332
+#: main.c:1097
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' non è un nome di variabile ammesso"
-#: main.c:1335
+#: main.c:1100
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' non è un nome di variabile, cerco il file `%s=%s'"
-#: main.c:1339
+#: main.c:1104
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "nome funzione interna gawk `%s' non ammesso come nome variabile"
-#: main.c:1344
+#: main.c:1109
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "non è possibile usare nome di funzione `%s' come nome di variabile"
-#: main.c:1397
+#: main.c:1162
msgid "floating point exception"
msgstr "eccezione floating point"
-#: main.c:1404
+#: main.c:1169
msgid "fatal error: internal error"
msgstr "errore fatale: errore interno"
-#: main.c:1419
+#: main.c:1184
msgid "fatal error: internal error: segfault"
msgstr "errore fatale: errore interno: segfault"
-#: main.c:1431
+#: main.c:1196
msgid "fatal error: internal error: stack overflow"
msgstr "errore fatale: errore interno: stack overflow"
-#: main.c:1490
+#: main.c:1255
#, c-format
msgid "no pre-opened fd %d"
msgstr "manca `fd' pre-aperta %d"
-#: main.c:1497
+#: main.c:1262
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "non riesco a pre-aprire /dev/null per `fd' %d"
-#: mpfr.c:550
+#: main.c:1476
+msgid "empty argument to `-e/--source' ignored"
+msgstr "argomento di `-e/--source' nullo, ignorato"
+
+#: main.c:1547
+msgid "-M ignored: MPFR/GMP support not compiled in"
+msgstr "-M ignorato: supporto per MPFR/GMP non generato"
+
+#: main.c:1568
+#, c-format
+msgid "%s: option `-W %s' unrecognized, ignored\n"
+msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
+
+#: main.c:1621
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opzione richiede un argomento -- %c\n"
+
+#: mpfr.c:557
#, c-format
msgid "PREC value `%.*s' is invalid"
msgstr "valore PREC `%.*s' non valido"
-#: mpfr.c:608
+#: mpfr.c:615
#, c-format
msgid "RNDMODE value `%.*s' is invalid"
msgstr "valore di RNDMODE `%.*s' non valido"
-#: mpfr.c:698
+#: mpfr.c:711
#, c-format
msgid "%s: received non-numeric argument"
-msgstr "%s: ricevuto argomento non-numerico"
+msgstr "%s: l'argomento ricevuto non è numerico"
-#: mpfr.c:800
+#: mpfr.c:820
msgid "compl(%Rg): negative value will give strange results"
msgstr "compl(%Rg): valore negativo, darà risultati strani"
-#: mpfr.c:804
+#: mpfr.c:824
msgid "comp(%Rg): fractional value will be truncated"
msgstr "comp(%Rg): valore decimale sarà troncato"
-#: mpfr.c:816
+#: mpfr.c:836
#, c-format
msgid "cmpl(%Zd): negative values will give strange results"
msgstr "cmpl(%Zd): valori negativi, daranno risultati strani"
-#: mpfr.c:835
+#: mpfr.c:855
#, c-format
msgid "%s: received non-numeric argument #%d"
-msgstr "%s:ricevuto argomento non-numerico #%d"
+msgstr "%s: l'argomento ricevuto non è numerico #%d"
-#: mpfr.c:845
+#: mpfr.c:865
msgid "%s: argument #%d has invalid value %Rg, using 0"
msgstr "%s: argomento #%d con valore non valido %Rg, uso 0"
-#: mpfr.c:857
+#: mpfr.c:877
msgid "%s: argument #%d negative value %Rg will give strange results"
msgstr "%s: argomento #%d con valore negativo %Rg, darà risultati strani"
-#: mpfr.c:863
+#: mpfr.c:883
msgid "%s: argument #%d fractional value %Rg will be truncated"
msgstr "%s: argomento #%d, valore decimale sarà troncato"
-#: mpfr.c:878
+#: mpfr.c:898
#, c-format
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%s: argomento #%d con valore negativo %Zd, darà risultati strani"
@@ -3315,24 +3340,24 @@ msgstr "%s: argomento #%d con valore negativo %Zd, darà risultati strani"
msgid "cmd. line:"
msgstr "riga com.:"
-#: node.c:421
+#: node.c:409
msgid "backslash at end of string"
msgstr "'\\' a fine stringa"
-#: node.c:500
+#: node.c:488
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "il vecchio awk non supporta la sequenza di escape '\\%c'"
-#: node.c:551
+#: node.c:539
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX non permette escape `\\x'"
-#: node.c:557
+#: node.c:545
msgid "no hex digits in `\\x' escape sequence"
msgstr "niente cifre esadecimali nella sequenza di escape `\\x'"
-#: node.c:579
+#: node.c:566
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -3341,12 +3366,12 @@ msgstr ""
"sequenza di escape esadec.\\x%.*s di %d caratteri probabilmente non "
"interpretata nel modo previsto"
-#: node.c:594
+#: node.c:581
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "sequenza di escape `\\%c' considerata come semplice `%c'"
-#: node.c:739
+#: node.c:725
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -3365,25 +3390,25 @@ msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr ""
"%s %s `%s': non riesco a impostare 'close-on-exec': (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:73
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "non riesco ad aprire `%s' in scrittura: %s"
-#: profile.c:73
+#: profile.c:75
msgid "sending profile to standard error"
msgstr "mando profilo a 'standard error'"
-#: profile.c:193
+#: profile.c:220
#, c-format
msgid ""
-"\t# %s block(s)\n"
+"\t# %s rule(s)\n"
"\n"
msgstr ""
-"\t# blocco(hi) %s\n"
+"\t# %s regola(e)\n"
"\n"
-#: profile.c:198
+#: profile.c:227
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3392,16 +3417,16 @@ msgstr ""
"\t# Regola(e)\n"
"\n"
-#: profile.c:272
+#: profile.c:308
#, c-format
msgid "internal error: %s with null vname"
msgstr "errore interno: %s con `vname' nullo"
-#: profile.c:537
+#: profile.c:574
msgid "internal error: builtin with null fname"
msgstr "errore interno: funzione interna con `fname' nullo"
-#: profile.c:949
+#: profile.c:1016
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3410,12 +3435,12 @@ msgstr ""
"\t# Estensioni caricate (-l e/o @load)\n"
"\n"
-#: profile.c:972
+#: profile.c:1065
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profilo gawk, creato %s\n"
-#: profile.c:1475
+#: profile.c:1607
#, c-format
msgid ""
"\n"
@@ -3424,7 +3449,7 @@ msgstr ""
"\n"
"\t# Funzioni, in ordine alfabetico\n"
-#: profile.c:1513
+#: profile.c:1658
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tipo di ri-direzione non noto %d"
@@ -3464,8 +3489,8 @@ msgid "Invalid back reference"
msgstr "Riferimento indietro non valido"
#: regcomp.c:152
-msgid "Unmatched [ or [^"
-msgstr "[ o [^ non chiusa"
+msgid "Unmatched [, [^, [:, [., or [="
+msgstr "[, [^, [:, [. o [= non chiusa"
#: regcomp.c:155
msgid "Unmatched ( or \\("
@@ -3475,6 +3500,10 @@ msgstr "( o \\( non chiusa"
msgid "Unmatched \\{"
msgstr "\\{ non chiusa"
+#: regcomp.c:161
+msgid "Invalid content of \\{\\}"
+msgstr "Contenuto di \\{\\} non valido"
+
#: regcomp.c:164
msgid "Invalid range end"
msgstr "Fine di intervallo non valido"
@@ -3491,6 +3520,10 @@ msgstr "Espressione regolare precedente invalida"
msgid "Premature end of regular expression"
msgstr "Fine di espressione regolare inaspettata"
+#: regcomp.c:176
+msgid "Regular expression too big"
+msgstr "Espressione regolare troppo complessa"
+
#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") o \\) non aperta"
@@ -3499,7 +3532,6 @@ msgstr ") o \\) non aperta"
msgid "No previous regular expression"
msgstr "Nessuna espressione regolare precedente"
-#: symbol.c:741
+#: symbol.c:749
msgid "can not pop main context"
msgstr "non posso salire più in alto nello stack"
-
diff --git a/profile.c b/profile.c
index ad879a3c..233bca0f 100644
--- a/profile.c
+++ b/profile.c
@@ -246,6 +246,7 @@ pprint(INSTRUCTION *startp, INSTRUCTION *endp, bool in_for_header)
} else {
fprintf(prof_fp, "{\n");
ip1 = (pc + 1)->firsti;
+ ip2 = (pc + 1)->lasti;
}
ip1 = ip1->nexti;
}
diff --git a/test/ChangeLog b/test/ChangeLog
index 5e6b2c13..7ff3e422 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,14 @@
+2014-12-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (badbuild): New test.
+ * badbuild.awk, badbuild.in, badbuild.ok: New files.
+
+2014-12-24 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * Makefile.am (check): If tests don't pass, run 'make diffout'
+ and exit 1. Should help distros to notice when they have built
+ gawk incorrectly. (Can you say "Fedora", boys and girls?)
+
2014-12-12 Arnold D. Robbins <arnold@skeeve.com>
* profile5.ok: Updated after code changes.
diff --git a/test/Makefile.am b/test/Makefile.am
index a00e011e..7335da32 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -123,6 +123,9 @@ EXTRA_DIST = \
badargs.ok \
badassign1.awk \
badassign1.ok \
+ badbuild.awk \
+ badbuild.in \
+ badbuild.ok \
beginfile1.awk \
beginfile1.ok \
beginfile2.in \
@@ -976,7 +979,7 @@ BASIC_TESTS = \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
aryprm8 arysubnm asgext awkpath \
- back89 backgsub badassign1 \
+ back89 backgsub badassign1 badbuild \
childin clobber closebad clsflnam compare compare2 concat1 concat2 \
concat3 concat4 convfmt \
datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \
@@ -1102,7 +1105,7 @@ check: msg \
charset-msg-start charset-tests charset-msg-end \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end
- @$(MAKE) pass-fail
+ @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
diff --git a/test/Makefile.in b/test/Makefile.in
index 93a989b5..fa86fc7f 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -370,6 +370,9 @@ EXTRA_DIST = \
badargs.ok \
badassign1.awk \
badassign1.ok \
+ badbuild.awk \
+ badbuild.in \
+ badbuild.ok \
beginfile1.awk \
beginfile1.ok \
beginfile2.in \
@@ -1222,7 +1225,7 @@ BASIC_TESTS = \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
aryprm8 arysubnm asgext awkpath \
- back89 backgsub badassign1 \
+ back89 backgsub badassign1 badbuild \
childin clobber closebad clsflnam compare compare2 concat1 concat2 \
concat3 concat4 convfmt \
datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \
@@ -1530,7 +1533,7 @@ check: msg \
charset-msg-start charset-tests charset-msg-end \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end
- @$(MAKE) pass-fail
+ @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -2553,6 +2556,11 @@ badassign1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+badbuild:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
childin:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 85c13d5d..e1b92bf9 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -125,6 +125,11 @@ badassign1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+badbuild:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
childin:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/badbuild.awk b/test/badbuild.awk
new file mode 100644
index 00000000..12a6caeb
--- /dev/null
+++ b/test/badbuild.awk
@@ -0,0 +1,6 @@
+$1 == $2 == $3 {
+ print "Gawk was built incorrectly."
+ print "Use bison, not byacc or something else!"
+ print "(Really, why aren't you using the awkgram.c in the distribution?)"
+ exit 42
+}
diff --git a/test/badbuild.in b/test/badbuild.in
new file mode 100644
index 00000000..560711d4
--- /dev/null
+++ b/test/badbuild.in
@@ -0,0 +1 @@
+a a 1
diff --git a/test/badbuild.ok b/test/badbuild.ok
new file mode 100644
index 00000000..6d60f5a9
--- /dev/null
+++ b/test/badbuild.ok
@@ -0,0 +1,3 @@
+gawk: badbuild.awk:1: $1 == $2 == $3 {
+gawk: badbuild.awk:1: ^ syntax error
+EXIT CODE: 1