diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 8 | ||||
-rw-r--r-- | doc/gawk.info | 981 | ||||
-rw-r--r-- | doc/gawk.texi | 8 | ||||
-rw-r--r-- | doc/gawktexi.in | 8 |
4 files changed, 515 insertions, 490 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 78c54e74..3ed04bb4 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,11 @@ +2019-02-15 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Fix wording for %f. + Thanks to Dan Liddell <dan_liddell@mentor.com> for the catch. + (Viewing And Changing Data): Note that eval has problems calling + user-defined functions that return a value. Thanks to + Lothar Langer <lotharla@gmail.com> for the report. + 2019-02-11 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Don't use `\global\usebracesinindexestrue' as it's diff --git a/doc/gawk.info b/doc/gawk.info index 891685aa..a91a2c63 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -6716,8 +6716,8 @@ width. Here is a list of the format-control letters: printf "%4.3f", 1950 - prints '1950.000', with a total of four significant figures, three - of which follow the decimal point. (The '4.3' represents two + prints '1950.000', with a minimum of four significant figures, + three of which follow the decimal point. (The '4.3' represents two modifiers, discussed in the next node.) On systems supporting IEEE 754 floating-point format, values @@ -22342,6 +22342,11 @@ The commands for viewing and changing variables inside of 'gawk' are: can do anything that an 'awk' program would do: assign values to variables, call functions, and so on. + NOTE: Do to implementation constraintss, using 'eval' to call + a user-defined function that returns a value does not work, + generating an error message. We hope to one day remove this + constraint. + 'eval' PARAM, ... AWK STATEMENTS 'end' @@ -33974,7 +33979,7 @@ Index * assert() user-defined function: Assert Function. (line 28) * assertions: Assert Function. (line 6) * assign values to variables, in debugger: Viewing And Changing Data. - (line 58) + (line 63) * assignment operators: Assignment Ops. (line 6) * assignment operators, evaluation order: Assignment Ops. (line 110) * assignment operators, lvalues/rvalues: Assignment Ops. (line 31) @@ -34567,11 +34572,11 @@ Index * debugger commands, o (option): Debugger Info. (line 57) * debugger commands, option: Debugger Info. (line 57) * debugger commands, p (print): Viewing And Changing Data. - (line 35) + (line 40) * debugger commands, print: Viewing And Changing Data. - (line 35) + (line 40) * debugger commands, printf: Viewing And Changing Data. - (line 53) + (line 58) * debugger commands, q (quit): Miscellaneous Debugger Commands. (line 100) * debugger commands, quit: Miscellaneous Debugger Commands. @@ -34585,7 +34590,7 @@ Index * debugger commands, s (step): Debugger Execution Control. (line 68) * debugger commands, set: Viewing And Changing Data. - (line 58) + (line 63) * debugger commands, si (stepi): Debugger Execution Control. (line 75) * debugger commands, silent: Debugger Execution Control. @@ -34601,16 +34606,16 @@ Index * debugger commands, u (until): Debugger Execution Control. (line 82) * debugger commands, undisplay: Viewing And Changing Data. - (line 79) + (line 84) * debugger commands, until: Debugger Execution Control. (line 82) * debugger commands, unwatch: Viewing And Changing Data. - (line 83) + (line 88) * debugger commands, up: Execution Stack. (line 36) * debugger commands, w (watch): Viewing And Changing Data. - (line 66) + (line 71) * debugger commands, watch: Viewing And Changing Data. - (line 66) + (line 71) * debugger commands, where (backtrace): Execution Stack. (line 13) * debugger, b command: Finding The Bug. (line 32) * debugger, backtrace command: Finding The Bug. (line 52) @@ -34660,7 +34665,7 @@ Index * delete debugger command: Breakpoint Control. (line 64) * delete statement: Delete. (line 6) * delete watchpoint: Viewing And Changing Data. - (line 83) + (line 88) * deleting elements in arrays: Delete. (line 6) * deleting entire arrays: Delete. (line 39) * Demaille, Akim: Acknowledgments. (line 60) @@ -35884,7 +35889,7 @@ Index * output, records: Output Separators. (line 20) * output, standard: Special FD. (line 6) * p debugger command (alias for print): Viewing And Changing Data. - (line 35) + (line 40) * package, definition of: Global Namespace. (line 18) * Papadopoulos, Panos: Contributors. (line 131) * parent process ID of gawk process: Auto-set. (line 251) @@ -36028,7 +36033,7 @@ Index * pretty printing <1>: Profiling. (line 222) * pretty-printing, profiling, difference with: Profiling. (line 229) * print debugger command: Viewing And Changing Data. - (line 35) + (line 40) * print statement: Printing. (line 16) * print statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 15) * print statement, commas, omitting: Print Examples. (line 30) @@ -36039,9 +36044,9 @@ Index (line 17) * print statement, sprintf() function and: Round Function. (line 6) * print variables, in debugger: Viewing And Changing Data. - (line 35) + (line 40) * printf debugger command: Viewing And Changing Data. - (line 53) + (line 58) * printf statement: Printing. (line 16) * printf statement <1>: Printf. (line 6) * printf statement, columns, aligning: Print Examples. (line 69) @@ -36342,10 +36347,10 @@ Index * separators, subscript: User-modified. (line 149) * set breakpoint: Breakpoint Control. (line 11) * set debugger command: Viewing And Changing Data. - (line 58) + (line 63) * set directory of message catalogs: I18N Functions. (line 11) * set watchpoint: Viewing And Changing Data. - (line 66) + (line 71) * shadowing of variable values: Definition Syntax. (line 77) * shell quoting, rules for: Quoting. (line 6) * shells, piping commands into: Redirection. (line 136) @@ -36504,7 +36509,7 @@ Index * stepi debugger command: Debugger Execution Control. (line 75) * stop automatic display, in debugger: Viewing And Changing Data. - (line 79) + (line 84) * stream editors: Full Line Fields. (line 22) * stream editors <1>: Simple Sed. (line 6) * strftime: Time Functions. (line 50) @@ -36674,7 +36679,7 @@ Index (line 29) * underscore (_), translatable string: Programmer i18n. (line 69) * undisplay debugger command: Viewing And Changing Data. - (line 79) + (line 84) * undocumented features: Undocumented. (line 6) * Unicode: Ordinal Functions. (line 45) * Unicode <1>: Ranges and Locales. (line 61) @@ -36695,7 +36700,7 @@ Index * until debugger command: Debugger Execution Control. (line 82) * unwatch debugger command: Viewing And Changing Data. - (line 83) + (line 88) * up debugger command: Execution Stack. (line 36) * uppercase names, namespace for: Default Namespace. (line 10) * user database, reading: Passwd Functions. (line 6) @@ -36756,7 +36761,7 @@ Index * vertical bar (|), || operator <1>: Precedence. (line 88) * Vinschen, Corinna: Acknowledgments. (line 60) * w debugger command (alias for watch): Viewing And Changing Data. - (line 66) + (line 71) * w utility: Fixed width data. (line 17) * wait() extension function: Extension Sample Fork. (line 22) @@ -36768,7 +36773,7 @@ Index * Wallin, Anders: Contributors. (line 106) * warnings, issuing: Options. (line 210) * watch debugger command: Viewing And Changing Data. - (line 66) + (line 71) * watchpoint (debugger): Debugging Terms. (line 42) * wc utility: Wc Program. (line 6) * wc.awk program: Wc Program. (line 46) @@ -36937,470 +36942,470 @@ Node: OFMT291244 Node: Printf292600 Node: Basic Printf293385 Node: Control Letters294959 -Node: Format Modifiers300121 -Node: Printf Examples306136 -Node: Redirection308622 -Node: Special FD315463 -Ref: Special FD-Footnote-1318631 -Node: Special Files318705 -Node: Other Inherited Files319322 -Node: Special Network320323 -Node: Special Caveats321183 -Node: Close Files And Pipes322132 -Ref: table-close-pipe-return-values329039 -Ref: Close Files And Pipes-Footnote-1329852 -Ref: Close Files And Pipes-Footnote-2330000 -Node: Nonfatal330152 -Node: Output Summary332490 -Node: Output Exercises333712 -Node: Expressions334391 -Node: Values335579 -Node: Constants336257 -Node: Scalar Constants336948 -Ref: Scalar Constants-Footnote-1339472 -Node: Nondecimal-numbers339722 -Node: Regexp Constants342723 -Node: Using Constant Regexps343249 -Node: Standard Regexp Constants343871 -Node: Strong Regexp Constants347059 -Node: Variables350017 -Node: Using Variables350674 -Node: Assignment Options352584 -Node: Conversion355051 -Node: Strings And Numbers355575 -Ref: Strings And Numbers-Footnote-1358638 -Node: Locale influences conversions358747 -Ref: table-locale-affects361505 -Node: All Operators362123 -Node: Arithmetic Ops362752 -Node: Concatenation365258 -Ref: Concatenation-Footnote-1368105 -Node: Assignment Ops368212 -Ref: table-assign-ops373203 -Node: Increment Ops374516 -Node: Truth Values and Conditions377976 -Node: Truth Values379050 -Node: Typing and Comparison380098 -Node: Variable Typing380918 -Ref: Variable Typing-Footnote-1387381 -Ref: Variable Typing-Footnote-2387453 -Node: Comparison Operators387530 -Ref: table-relational-ops387949 -Node: POSIX String Comparison391444 -Ref: POSIX String Comparison-Footnote-1393139 -Ref: POSIX String Comparison-Footnote-2393278 -Node: Boolean Ops393362 -Ref: Boolean Ops-Footnote-1397844 -Node: Conditional Exp397936 -Node: Function Calls399672 -Node: Precedence403549 -Node: Locales407208 -Node: Expressions Summary408840 -Node: Patterns and Actions411413 -Node: Pattern Overview412533 -Node: Regexp Patterns414210 -Node: Expression Patterns414752 -Node: Ranges418533 -Node: BEGIN/END421641 -Node: Using BEGIN/END422402 -Ref: Using BEGIN/END-Footnote-1425138 -Node: I/O And BEGIN/END425244 -Node: BEGINFILE/ENDFILE427558 -Node: Empty430471 -Node: Using Shell Variables430788 -Node: Action Overview433062 -Node: Statements435387 -Node: If Statement437235 -Node: While Statement438730 -Node: Do Statement440758 -Node: For Statement441906 -Node: Switch Statement445077 -Node: Break Statement447463 -Node: Continue Statement449555 -Node: Next Statement451382 -Node: Nextfile Statement453765 -Node: Exit Statement456417 -Node: Built-in Variables458820 -Node: User-modified459953 -Node: Auto-set467720 -Ref: Auto-set-Footnote-1484527 -Ref: Auto-set-Footnote-2484733 -Node: ARGC and ARGV484789 -Node: Pattern Action Summary489002 -Node: Arrays491432 -Node: Array Basics492761 -Node: Array Intro493605 -Ref: figure-array-elements495580 -Ref: Array Intro-Footnote-1498284 -Node: Reference to Elements498412 -Node: Assigning Elements500876 -Node: Array Example501367 -Node: Scanning an Array503126 -Node: Controlling Scanning506148 -Ref: Controlling Scanning-Footnote-1511547 -Node: Numeric Array Subscripts511863 -Node: Uninitialized Subscripts514047 -Node: Delete515666 -Ref: Delete-Footnote-1518418 -Node: Multidimensional518475 -Node: Multiscanning521570 -Node: Arrays of Arrays523161 -Node: Arrays Summary527929 -Node: Functions530022 -Node: Built-in531060 -Node: Calling Built-in532141 -Node: Numeric Functions534137 -Ref: Numeric Functions-Footnote-1538165 -Ref: Numeric Functions-Footnote-2538810 -Ref: Numeric Functions-Footnote-3538858 -Node: String Functions539130 -Ref: String Functions-Footnote-1562988 -Ref: String Functions-Footnote-2563116 -Ref: String Functions-Footnote-3563364 -Node: Gory Details563451 -Ref: table-sub-escapes565242 -Ref: table-sub-proposed566761 -Ref: table-posix-sub568124 -Ref: table-gensub-escapes569665 -Ref: Gory Details-Footnote-1570488 -Node: I/O Functions570642 -Ref: table-system-return-values577110 -Ref: I/O Functions-Footnote-1579190 -Ref: I/O Functions-Footnote-2579338 -Node: Time Functions579458 -Ref: Time Functions-Footnote-1590129 -Ref: Time Functions-Footnote-2590197 -Ref: Time Functions-Footnote-3590355 -Ref: Time Functions-Footnote-4590466 -Ref: Time Functions-Footnote-5590578 -Ref: Time Functions-Footnote-6590805 -Node: Bitwise Functions591071 -Ref: table-bitwise-ops591665 -Ref: Bitwise Functions-Footnote-1597728 -Ref: Bitwise Functions-Footnote-2597901 -Node: Type Functions598092 -Node: I18N Functions600843 -Node: User-defined602494 -Node: Definition Syntax603306 -Ref: Definition Syntax-Footnote-1608993 -Node: Function Example609064 -Ref: Function Example-Footnote-1611986 -Node: Function Calling612008 -Node: Calling A Function612596 -Node: Variable Scope613554 -Node: Pass By Value/Reference616548 -Node: Function Caveats619192 -Ref: Function Caveats-Footnote-1621239 -Node: Return Statement621359 -Node: Dynamic Typing624338 -Node: Indirect Calls625268 -Ref: Indirect Calls-Footnote-1635520 -Node: Functions Summary635648 -Node: Library Functions638353 -Ref: Library Functions-Footnote-1641960 -Ref: Library Functions-Footnote-2642103 -Node: Library Names642274 -Ref: Library Names-Footnote-1645941 -Ref: Library Names-Footnote-2646164 -Node: General Functions646250 -Node: Strtonum Function647353 -Node: Assert Function650375 -Node: Round Function653701 -Node: Cliff Random Function655241 -Node: Ordinal Functions656257 -Ref: Ordinal Functions-Footnote-1659320 -Ref: Ordinal Functions-Footnote-2659572 -Node: Join Function659782 -Ref: Join Function-Footnote-1661552 -Node: Getlocaltime Function661752 -Node: Readfile Function665494 -Node: Shell Quoting667471 -Node: Data File Management668872 -Node: Filetrans Function669504 -Node: Rewind Function673600 -Node: File Checking675509 -Ref: File Checking-Footnote-1676843 -Node: Empty Files677044 -Node: Ignoring Assigns679023 -Node: Getopt Function680573 -Ref: Getopt Function-Footnote-1692042 -Node: Passwd Functions692242 -Ref: Passwd Functions-Footnote-1701081 -Node: Group Functions701169 -Ref: Group Functions-Footnote-1709067 -Node: Walking Arrays709274 -Node: Library Functions Summary712282 -Node: Library Exercises713688 -Node: Sample Programs714153 -Node: Running Examples714923 -Node: Clones715651 -Node: Cut Program716875 -Node: Egrep Program726804 -Ref: Egrep Program-Footnote-1734316 -Node: Id Program734426 -Node: Split Program738106 -Ref: Split Program-Footnote-1741564 -Node: Tee Program741693 -Node: Uniq Program744483 -Node: Wc Program752104 -Ref: Wc Program-Footnote-1756359 -Node: Miscellaneous Programs756453 -Node: Dupword Program757666 -Node: Alarm Program759696 -Node: Translate Program764551 -Ref: Translate Program-Footnote-1769116 -Node: Labels Program769386 -Ref: Labels Program-Footnote-1772737 -Node: Word Sorting772821 -Node: History Sorting776893 -Node: Extract Program778728 -Node: Simple Sed786782 -Node: Igawk Program789856 -Ref: Igawk Program-Footnote-1804187 -Ref: Igawk Program-Footnote-2804389 -Ref: Igawk Program-Footnote-3804511 -Node: Anagram Program804626 -Node: Signature Program807688 -Node: Programs Summary808935 -Node: Programs Exercises810149 -Ref: Programs Exercises-Footnote-1814278 -Node: Advanced Features814369 -Node: Nondecimal Data816359 -Node: Array Sorting817950 -Node: Controlling Array Traversal818650 -Ref: Controlling Array Traversal-Footnote-1827018 -Node: Array Sorting Functions827136 -Ref: Array Sorting Functions-Footnote-1832227 -Node: Two-way I/O832423 -Ref: Two-way I/O-Footnote-1840144 -Ref: Two-way I/O-Footnote-2840331 -Node: TCP/IP Networking840413 -Node: Profiling843531 -Node: Advanced Features Summary852549 -Node: Internationalization854393 -Node: I18N and L10N855873 -Node: Explaining gettext856560 -Ref: Explaining gettext-Footnote-1862452 -Ref: Explaining gettext-Footnote-2862637 -Node: Programmer i18n862802 -Ref: Programmer i18n-Footnote-1867751 -Node: Translator i18n867800 -Node: String Extraction868594 -Ref: String Extraction-Footnote-1869726 -Node: Printf Ordering869812 -Ref: Printf Ordering-Footnote-1872598 -Node: I18N Portability872662 -Ref: I18N Portability-Footnote-1875118 -Node: I18N Example875181 -Ref: I18N Example-Footnote-1878456 -Ref: I18N Example-Footnote-2878529 -Node: Gawk I18N878638 -Node: I18N Summary879283 -Node: Debugger880624 -Node: Debugging881624 -Node: Debugging Concepts882065 -Node: Debugging Terms883874 -Node: Awk Debugging886449 -Ref: Awk Debugging-Footnote-1887394 -Node: Sample Debugging Session887526 -Node: Debugger Invocation888060 -Node: Finding The Bug889446 -Node: List of Debugger Commands895920 -Node: Breakpoint Control897253 -Node: Debugger Execution Control900947 -Node: Viewing And Changing Data904309 -Node: Execution Stack907683 -Node: Debugger Info909320 -Node: Miscellaneous Debugger Commands913391 -Node: Readline Support918453 -Node: Limitations919349 -Node: Debugging Summary921458 -Node: Namespaces922737 -Node: Global Namespace923816 -Node: Qualified Names925214 -Node: Default Namespace926213 -Node: Changing The Namespace926954 -Node: Naming Rules928568 -Node: Internal Name Management930416 -Node: Namespace Example931458 -Node: Namespace And Features934020 -Node: Namespace Summary935455 -Node: Arbitrary Precision Arithmetic936932 -Node: Computer Arithmetic938419 -Ref: table-numeric-ranges942185 -Ref: table-floating-point-ranges942678 -Ref: Computer Arithmetic-Footnote-1943336 -Node: Math Definitions943393 -Ref: table-ieee-formats946709 -Ref: Math Definitions-Footnote-1947312 -Node: MPFR features947417 -Node: FP Math Caution949135 -Ref: FP Math Caution-Footnote-1950207 -Node: Inexactness of computations950576 -Node: Inexact representation951536 -Node: Comparing FP Values952896 -Node: Errors accumulate954137 -Node: Getting Accuracy955570 -Node: Try To Round958280 -Node: Setting precision959179 -Ref: table-predefined-precision-strings959876 -Node: Setting the rounding mode961706 -Ref: table-gawk-rounding-modes962080 -Ref: Setting the rounding mode-Footnote-1966011 -Node: Arbitrary Precision Integers966190 -Ref: Arbitrary Precision Integers-Footnote-1969365 -Node: Checking for MPFR969514 -Node: POSIX Floating Point Problems970988 -Ref: POSIX Floating Point Problems-Footnote-1975273 -Node: Floating point summary975311 -Node: Dynamic Extensions977501 -Node: Extension Intro979054 -Node: Plugin License980320 -Node: Extension Mechanism Outline981117 -Ref: figure-load-extension981556 -Ref: figure-register-new-function983121 -Ref: figure-call-new-function984213 -Node: Extension API Description986275 -Node: Extension API Functions Introduction987917 -Ref: table-api-std-headers989753 -Node: General Data Types993618 -Ref: General Data Types-Footnote-11001979 -Node: Memory Allocation Functions1002278 -Ref: Memory Allocation Functions-Footnote-11006488 -Node: Constructor Functions1006587 -Node: Registration Functions1010173 -Node: Extension Functions1010858 -Node: Exit Callback Functions1016180 -Node: Extension Version String1017430 -Node: Input Parsers1018093 -Node: Output Wrappers1030814 -Node: Two-way processors1035326 -Node: Printing Messages1037591 -Ref: Printing Messages-Footnote-11038762 -Node: Updating ERRNO1038915 -Node: Requesting Values1039654 -Ref: table-value-types-returned1040391 -Node: Accessing Parameters1041327 -Node: Symbol Table Access1042562 -Node: Symbol table by name1043074 -Ref: Symbol table by name-Footnote-11046098 -Node: Symbol table by cookie1046226 -Ref: Symbol table by cookie-Footnote-11050411 -Node: Cached values1050475 -Ref: Cached values-Footnote-11054011 -Node: Array Manipulation1054164 -Ref: Array Manipulation-Footnote-11055255 -Node: Array Data Types1055292 -Ref: Array Data Types-Footnote-11057950 -Node: Array Functions1058042 -Node: Flattening Arrays1062540 -Node: Creating Arrays1069516 -Node: Redirection API1074283 -Node: Extension API Variables1077116 -Node: Extension Versioning1077827 -Ref: gawk-api-version1078256 -Node: Extension GMP/MPFR Versioning1079987 -Node: Extension API Informational Variables1081615 -Node: Extension API Boilerplate1082688 -Node: Changes from API V11086662 -Node: Finding Extensions1088234 -Node: Extension Example1088793 -Node: Internal File Description1089591 -Node: Internal File Ops1093671 -Ref: Internal File Ops-Footnote-11105021 -Node: Using Internal File Ops1105161 -Ref: Using Internal File Ops-Footnote-11107544 -Node: Extension Samples1107818 -Node: Extension Sample File Functions1109347 -Node: Extension Sample Fnmatch1116996 -Node: Extension Sample Fork1118483 -Node: Extension Sample Inplace1119701 -Node: Extension Sample Ord1123005 -Node: Extension Sample Readdir1123841 -Ref: table-readdir-file-types1124730 -Node: Extension Sample Revout1125535 -Node: Extension Sample Rev2way1126124 -Node: Extension Sample Read write array1126864 -Node: Extension Sample Readfile1128806 -Node: Extension Sample Time1129901 -Node: Extension Sample API Tests1131249 -Node: gawkextlib1131741 -Node: Extension summary1134659 -Node: Extension Exercises1138361 -Node: Language History1139603 -Node: V7/SVR3.11141259 -Node: SVR41143411 -Node: POSIX1144845 -Node: BTL1146225 -Node: POSIX/GNU1146954 -Node: Feature History1152732 -Node: Common Extensions1168778 -Node: Ranges and Locales1170061 -Ref: Ranges and Locales-Footnote-11174677 -Ref: Ranges and Locales-Footnote-21174704 -Ref: Ranges and Locales-Footnote-31174939 -Node: Contributors1175160 -Node: History summary1181105 -Node: Installation1182485 -Node: Gawk Distribution1183429 -Node: Getting1183913 -Node: Extracting1184876 -Node: Distribution contents1186514 -Node: Unix Installation1192994 -Node: Quick Installation1193676 -Node: Shell Startup Files1196090 -Node: Additional Configuration Options1197179 -Node: Configuration Philosophy1199344 -Node: Non-Unix Installation1201713 -Node: PC Installation1202173 -Node: PC Binary Installation1203011 -Node: PC Compiling1203446 -Node: PC Using1204563 -Node: Cygwin1208116 -Node: MSYS1209215 -Node: VMS Installation1209716 -Node: VMS Compilation1210507 -Ref: VMS Compilation-Footnote-11211736 -Node: VMS Dynamic Extensions1211794 -Node: VMS Installation Details1213479 -Node: VMS Running1215732 -Node: VMS GNV1220011 -Node: VMS Old Gawk1220746 -Node: Bugs1221217 -Node: Bug address1221880 -Node: Usenet1224862 -Node: Maintainers1225866 -Node: Other Versions1227127 -Node: Installation summary1234041 -Node: Notes1235243 -Node: Compatibility Mode1236037 -Node: Additions1236819 -Node: Accessing The Source1237744 -Node: Adding Code1239181 -Node: New Ports1245400 -Node: Derived Files1249888 -Ref: Derived Files-Footnote-11255534 -Ref: Derived Files-Footnote-21255569 -Ref: Derived Files-Footnote-31256167 -Node: Future Extensions1256281 -Node: Implementation Limitations1256939 -Node: Extension Design1258122 -Node: Old Extension Problems1259266 -Ref: Old Extension Problems-Footnote-11260784 -Node: Extension New Mechanism Goals1260841 -Ref: Extension New Mechanism Goals-Footnote-11264205 -Node: Extension Other Design Decisions1264394 -Node: Extension Future Growth1266507 -Node: Notes summary1267343 -Node: Basic Concepts1268518 -Node: Basic High Level1269199 -Ref: figure-general-flow1269481 -Ref: figure-process-flow1270166 -Ref: Basic High Level-Footnote-11273467 -Node: Basic Data Typing1273652 -Node: Glossary1276980 -Node: Copying1308818 -Node: GNU Free Documentation License1346361 -Node: Index1371481 +Node: Format Modifiers300123 +Node: Printf Examples306138 +Node: Redirection308624 +Node: Special FD315465 +Ref: Special FD-Footnote-1318633 +Node: Special Files318707 +Node: Other Inherited Files319324 +Node: Special Network320325 +Node: Special Caveats321185 +Node: Close Files And Pipes322134 +Ref: table-close-pipe-return-values329041 +Ref: Close Files And Pipes-Footnote-1329854 +Ref: Close Files And Pipes-Footnote-2330002 +Node: Nonfatal330154 +Node: Output Summary332492 +Node: Output Exercises333714 +Node: Expressions334393 +Node: Values335581 +Node: Constants336259 +Node: Scalar Constants336950 +Ref: Scalar Constants-Footnote-1339474 +Node: Nondecimal-numbers339724 +Node: Regexp Constants342725 +Node: Using Constant Regexps343251 +Node: Standard Regexp Constants343873 +Node: Strong Regexp Constants347061 +Node: Variables350019 +Node: Using Variables350676 +Node: Assignment Options352586 +Node: Conversion355053 +Node: Strings And Numbers355577 +Ref: Strings And Numbers-Footnote-1358640 +Node: Locale influences conversions358749 +Ref: table-locale-affects361507 +Node: All Operators362125 +Node: Arithmetic Ops362754 +Node: Concatenation365260 +Ref: Concatenation-Footnote-1368107 +Node: Assignment Ops368214 +Ref: table-assign-ops373205 +Node: Increment Ops374518 +Node: Truth Values and Conditions377978 +Node: Truth Values379052 +Node: Typing and Comparison380100 +Node: Variable Typing380920 +Ref: Variable Typing-Footnote-1387383 +Ref: Variable Typing-Footnote-2387455 +Node: Comparison Operators387532 +Ref: table-relational-ops387951 +Node: POSIX String Comparison391446 +Ref: POSIX String Comparison-Footnote-1393141 +Ref: POSIX String Comparison-Footnote-2393280 +Node: Boolean Ops393364 +Ref: Boolean Ops-Footnote-1397846 +Node: Conditional Exp397938 +Node: Function Calls399674 +Node: Precedence403551 +Node: Locales407210 +Node: Expressions Summary408842 +Node: Patterns and Actions411415 +Node: Pattern Overview412535 +Node: Regexp Patterns414212 +Node: Expression Patterns414754 +Node: Ranges418535 +Node: BEGIN/END421643 +Node: Using BEGIN/END422404 +Ref: Using BEGIN/END-Footnote-1425140 +Node: I/O And BEGIN/END425246 +Node: BEGINFILE/ENDFILE427560 +Node: Empty430473 +Node: Using Shell Variables430790 +Node: Action Overview433064 +Node: Statements435389 +Node: If Statement437237 +Node: While Statement438732 +Node: Do Statement440760 +Node: For Statement441908 +Node: Switch Statement445079 +Node: Break Statement447465 +Node: Continue Statement449557 +Node: Next Statement451384 +Node: Nextfile Statement453767 +Node: Exit Statement456419 +Node: Built-in Variables458822 +Node: User-modified459955 +Node: Auto-set467722 +Ref: Auto-set-Footnote-1484529 +Ref: Auto-set-Footnote-2484735 +Node: ARGC and ARGV484791 +Node: Pattern Action Summary489004 +Node: Arrays491434 +Node: Array Basics492763 +Node: Array Intro493607 +Ref: figure-array-elements495582 +Ref: Array Intro-Footnote-1498286 +Node: Reference to Elements498414 +Node: Assigning Elements500878 +Node: Array Example501369 +Node: Scanning an Array503128 +Node: Controlling Scanning506150 +Ref: Controlling Scanning-Footnote-1511549 +Node: Numeric Array Subscripts511865 +Node: Uninitialized Subscripts514049 +Node: Delete515668 +Ref: Delete-Footnote-1518420 +Node: Multidimensional518477 +Node: Multiscanning521572 +Node: Arrays of Arrays523163 +Node: Arrays Summary527931 +Node: Functions530024 +Node: Built-in531062 +Node: Calling Built-in532143 +Node: Numeric Functions534139 +Ref: Numeric Functions-Footnote-1538167 +Ref: Numeric Functions-Footnote-2538812 +Ref: Numeric Functions-Footnote-3538860 +Node: String Functions539132 +Ref: String Functions-Footnote-1562990 +Ref: String Functions-Footnote-2563118 +Ref: String Functions-Footnote-3563366 +Node: Gory Details563453 +Ref: table-sub-escapes565244 +Ref: table-sub-proposed566763 +Ref: table-posix-sub568126 +Ref: table-gensub-escapes569667 +Ref: Gory Details-Footnote-1570490 +Node: I/O Functions570644 +Ref: table-system-return-values577112 +Ref: I/O Functions-Footnote-1579192 +Ref: I/O Functions-Footnote-2579340 +Node: Time Functions579460 +Ref: Time Functions-Footnote-1590131 +Ref: Time Functions-Footnote-2590199 +Ref: Time Functions-Footnote-3590357 +Ref: Time Functions-Footnote-4590468 +Ref: Time Functions-Footnote-5590580 +Ref: Time Functions-Footnote-6590807 +Node: Bitwise Functions591073 +Ref: table-bitwise-ops591667 +Ref: Bitwise Functions-Footnote-1597730 +Ref: Bitwise Functions-Footnote-2597903 +Node: Type Functions598094 +Node: I18N Functions600845 +Node: User-defined602496 +Node: Definition Syntax603308 +Ref: Definition Syntax-Footnote-1608995 +Node: Function Example609066 +Ref: Function Example-Footnote-1611988 +Node: Function Calling612010 +Node: Calling A Function612598 +Node: Variable Scope613556 +Node: Pass By Value/Reference616550 +Node: Function Caveats619194 +Ref: Function Caveats-Footnote-1621241 +Node: Return Statement621361 +Node: Dynamic Typing624340 +Node: Indirect Calls625270 +Ref: Indirect Calls-Footnote-1635522 +Node: Functions Summary635650 +Node: Library Functions638355 +Ref: Library Functions-Footnote-1641962 +Ref: Library Functions-Footnote-2642105 +Node: Library Names642276 +Ref: Library Names-Footnote-1645943 +Ref: Library Names-Footnote-2646166 +Node: General Functions646252 +Node: Strtonum Function647355 +Node: Assert Function650377 +Node: Round Function653703 +Node: Cliff Random Function655243 +Node: Ordinal Functions656259 +Ref: Ordinal Functions-Footnote-1659322 +Ref: Ordinal Functions-Footnote-2659574 +Node: Join Function659784 +Ref: Join Function-Footnote-1661554 +Node: Getlocaltime Function661754 +Node: Readfile Function665496 +Node: Shell Quoting667473 +Node: Data File Management668874 +Node: Filetrans Function669506 +Node: Rewind Function673602 +Node: File Checking675511 +Ref: File Checking-Footnote-1676845 +Node: Empty Files677046 +Node: Ignoring Assigns679025 +Node: Getopt Function680575 +Ref: Getopt Function-Footnote-1692044 +Node: Passwd Functions692244 +Ref: Passwd Functions-Footnote-1701083 +Node: Group Functions701171 +Ref: Group Functions-Footnote-1709069 +Node: Walking Arrays709276 +Node: Library Functions Summary712284 +Node: Library Exercises713690 +Node: Sample Programs714155 +Node: Running Examples714925 +Node: Clones715653 +Node: Cut Program716877 +Node: Egrep Program726806 +Ref: Egrep Program-Footnote-1734318 +Node: Id Program734428 +Node: Split Program738108 +Ref: Split Program-Footnote-1741566 +Node: Tee Program741695 +Node: Uniq Program744485 +Node: Wc Program752106 +Ref: Wc Program-Footnote-1756361 +Node: Miscellaneous Programs756455 +Node: Dupword Program757668 +Node: Alarm Program759698 +Node: Translate Program764553 +Ref: Translate Program-Footnote-1769118 +Node: Labels Program769388 +Ref: Labels Program-Footnote-1772739 +Node: Word Sorting772823 +Node: History Sorting776895 +Node: Extract Program778730 +Node: Simple Sed786784 +Node: Igawk Program789858 +Ref: Igawk Program-Footnote-1804189 +Ref: Igawk Program-Footnote-2804391 +Ref: Igawk Program-Footnote-3804513 +Node: Anagram Program804628 +Node: Signature Program807690 +Node: Programs Summary808937 +Node: Programs Exercises810151 +Ref: Programs Exercises-Footnote-1814280 +Node: Advanced Features814371 +Node: Nondecimal Data816361 +Node: Array Sorting817952 +Node: Controlling Array Traversal818652 +Ref: Controlling Array Traversal-Footnote-1827020 +Node: Array Sorting Functions827138 +Ref: Array Sorting Functions-Footnote-1832229 +Node: Two-way I/O832425 +Ref: Two-way I/O-Footnote-1840146 +Ref: Two-way I/O-Footnote-2840333 +Node: TCP/IP Networking840415 +Node: Profiling843533 +Node: Advanced Features Summary852551 +Node: Internationalization854395 +Node: I18N and L10N855875 +Node: Explaining gettext856562 +Ref: Explaining gettext-Footnote-1862454 +Ref: Explaining gettext-Footnote-2862639 +Node: Programmer i18n862804 +Ref: Programmer i18n-Footnote-1867753 +Node: Translator i18n867802 +Node: String Extraction868596 +Ref: String Extraction-Footnote-1869728 +Node: Printf Ordering869814 +Ref: Printf Ordering-Footnote-1872600 +Node: I18N Portability872664 +Ref: I18N Portability-Footnote-1875120 +Node: I18N Example875183 +Ref: I18N Example-Footnote-1878458 +Ref: I18N Example-Footnote-2878531 +Node: Gawk I18N878640 +Node: I18N Summary879285 +Node: Debugger880626 +Node: Debugging881626 +Node: Debugging Concepts882067 +Node: Debugging Terms883876 +Node: Awk Debugging886451 +Ref: Awk Debugging-Footnote-1887396 +Node: Sample Debugging Session887528 +Node: Debugger Invocation888062 +Node: Finding The Bug889448 +Node: List of Debugger Commands895922 +Node: Breakpoint Control897255 +Node: Debugger Execution Control900949 +Node: Viewing And Changing Data904311 +Node: Execution Stack907921 +Node: Debugger Info909558 +Node: Miscellaneous Debugger Commands913629 +Node: Readline Support918691 +Node: Limitations919587 +Node: Debugging Summary921696 +Node: Namespaces922975 +Node: Global Namespace924054 +Node: Qualified Names925452 +Node: Default Namespace926451 +Node: Changing The Namespace927192 +Node: Naming Rules928806 +Node: Internal Name Management930654 +Node: Namespace Example931696 +Node: Namespace And Features934258 +Node: Namespace Summary935693 +Node: Arbitrary Precision Arithmetic937170 +Node: Computer Arithmetic938657 +Ref: table-numeric-ranges942423 +Ref: table-floating-point-ranges942916 +Ref: Computer Arithmetic-Footnote-1943574 +Node: Math Definitions943631 +Ref: table-ieee-formats946947 +Ref: Math Definitions-Footnote-1947550 +Node: MPFR features947655 +Node: FP Math Caution949373 +Ref: FP Math Caution-Footnote-1950445 +Node: Inexactness of computations950814 +Node: Inexact representation951774 +Node: Comparing FP Values953134 +Node: Errors accumulate954375 +Node: Getting Accuracy955808 +Node: Try To Round958518 +Node: Setting precision959417 +Ref: table-predefined-precision-strings960114 +Node: Setting the rounding mode961944 +Ref: table-gawk-rounding-modes962318 +Ref: Setting the rounding mode-Footnote-1966249 +Node: Arbitrary Precision Integers966428 +Ref: Arbitrary Precision Integers-Footnote-1969603 +Node: Checking for MPFR969752 +Node: POSIX Floating Point Problems971226 +Ref: POSIX Floating Point Problems-Footnote-1975511 +Node: Floating point summary975549 +Node: Dynamic Extensions977739 +Node: Extension Intro979292 +Node: Plugin License980558 +Node: Extension Mechanism Outline981355 +Ref: figure-load-extension981794 +Ref: figure-register-new-function983359 +Ref: figure-call-new-function984451 +Node: Extension API Description986513 +Node: Extension API Functions Introduction988155 +Ref: table-api-std-headers989991 +Node: General Data Types993856 +Ref: General Data Types-Footnote-11002217 +Node: Memory Allocation Functions1002516 +Ref: Memory Allocation Functions-Footnote-11006726 +Node: Constructor Functions1006825 +Node: Registration Functions1010411 +Node: Extension Functions1011096 +Node: Exit Callback Functions1016418 +Node: Extension Version String1017668 +Node: Input Parsers1018331 +Node: Output Wrappers1031052 +Node: Two-way processors1035564 +Node: Printing Messages1037829 +Ref: Printing Messages-Footnote-11039000 +Node: Updating ERRNO1039153 +Node: Requesting Values1039892 +Ref: table-value-types-returned1040629 +Node: Accessing Parameters1041565 +Node: Symbol Table Access1042800 +Node: Symbol table by name1043312 +Ref: Symbol table by name-Footnote-11046336 +Node: Symbol table by cookie1046464 +Ref: Symbol table by cookie-Footnote-11050649 +Node: Cached values1050713 +Ref: Cached values-Footnote-11054249 +Node: Array Manipulation1054402 +Ref: Array Manipulation-Footnote-11055493 +Node: Array Data Types1055530 +Ref: Array Data Types-Footnote-11058188 +Node: Array Functions1058280 +Node: Flattening Arrays1062778 +Node: Creating Arrays1069754 +Node: Redirection API1074521 +Node: Extension API Variables1077354 +Node: Extension Versioning1078065 +Ref: gawk-api-version1078494 +Node: Extension GMP/MPFR Versioning1080225 +Node: Extension API Informational Variables1081853 +Node: Extension API Boilerplate1082926 +Node: Changes from API V11086900 +Node: Finding Extensions1088472 +Node: Extension Example1089031 +Node: Internal File Description1089829 +Node: Internal File Ops1093909 +Ref: Internal File Ops-Footnote-11105259 +Node: Using Internal File Ops1105399 +Ref: Using Internal File Ops-Footnote-11107782 +Node: Extension Samples1108056 +Node: Extension Sample File Functions1109585 +Node: Extension Sample Fnmatch1117234 +Node: Extension Sample Fork1118721 +Node: Extension Sample Inplace1119939 +Node: Extension Sample Ord1123243 +Node: Extension Sample Readdir1124079 +Ref: table-readdir-file-types1124968 +Node: Extension Sample Revout1125773 +Node: Extension Sample Rev2way1126362 +Node: Extension Sample Read write array1127102 +Node: Extension Sample Readfile1129044 +Node: Extension Sample Time1130139 +Node: Extension Sample API Tests1131487 +Node: gawkextlib1131979 +Node: Extension summary1134897 +Node: Extension Exercises1138599 +Node: Language History1139841 +Node: V7/SVR3.11141497 +Node: SVR41143649 +Node: POSIX1145083 +Node: BTL1146463 +Node: POSIX/GNU1147192 +Node: Feature History1152970 +Node: Common Extensions1169016 +Node: Ranges and Locales1170299 +Ref: Ranges and Locales-Footnote-11174915 +Ref: Ranges and Locales-Footnote-21174942 +Ref: Ranges and Locales-Footnote-31175177 +Node: Contributors1175398 +Node: History summary1181343 +Node: Installation1182723 +Node: Gawk Distribution1183667 +Node: Getting1184151 +Node: Extracting1185114 +Node: Distribution contents1186752 +Node: Unix Installation1193232 +Node: Quick Installation1193914 +Node: Shell Startup Files1196328 +Node: Additional Configuration Options1197417 +Node: Configuration Philosophy1199582 +Node: Non-Unix Installation1201951 +Node: PC Installation1202411 +Node: PC Binary Installation1203249 +Node: PC Compiling1203684 +Node: PC Using1204801 +Node: Cygwin1208354 +Node: MSYS1209453 +Node: VMS Installation1209954 +Node: VMS Compilation1210745 +Ref: VMS Compilation-Footnote-11211974 +Node: VMS Dynamic Extensions1212032 +Node: VMS Installation Details1213717 +Node: VMS Running1215970 +Node: VMS GNV1220249 +Node: VMS Old Gawk1220984 +Node: Bugs1221455 +Node: Bug address1222118 +Node: Usenet1225100 +Node: Maintainers1226104 +Node: Other Versions1227365 +Node: Installation summary1234279 +Node: Notes1235481 +Node: Compatibility Mode1236275 +Node: Additions1237057 +Node: Accessing The Source1237982 +Node: Adding Code1239419 +Node: New Ports1245638 +Node: Derived Files1250126 +Ref: Derived Files-Footnote-11255772 +Ref: Derived Files-Footnote-21255807 +Ref: Derived Files-Footnote-31256405 +Node: Future Extensions1256519 +Node: Implementation Limitations1257177 +Node: Extension Design1258360 +Node: Old Extension Problems1259504 +Ref: Old Extension Problems-Footnote-11261022 +Node: Extension New Mechanism Goals1261079 +Ref: Extension New Mechanism Goals-Footnote-11264443 +Node: Extension Other Design Decisions1264632 +Node: Extension Future Growth1266745 +Node: Notes summary1267581 +Node: Basic Concepts1268756 +Node: Basic High Level1269437 +Ref: figure-general-flow1269719 +Ref: figure-process-flow1270404 +Ref: Basic High Level-Footnote-11273705 +Node: Basic Data Typing1273890 +Node: Glossary1277218 +Node: Copying1309056 +Node: GNU Free Documentation License1346599 +Node: Index1371719 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 7eb90db2..b0b4d3d0 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -9705,7 +9705,7 @@ printf "%4.3f", 1950 @end example @noindent -prints @samp{1950.000}, with a total of four significant figures, three of +prints @samp{1950.000}, with a minimum of four significant figures, three of which follow the decimal point. (The @samp{4.3} represents two modifiers, discussed in the next @value{SUBSECTION}.) @@ -31131,6 +31131,12 @@ Evaluate @var{awk statements} in the context of the running program. You can do anything that an @command{awk} program would do: assign values to variables, call functions, and so on. +@quotation NOTE +Do to implementation constraintss, using @code{eval} to call a +user-defined function that returns a value does not work, generating +an error message. We hope to one day remove this constraint. +@end quotation + @item @code{eval} @var{param}, @dots{} @itemx @var{awk statements} @itemx @code{end} diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 49bb7ca0..3f514c82 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -9303,7 +9303,7 @@ printf "%4.3f", 1950 @end example @noindent -prints @samp{1950.000}, with a total of four significant figures, three of +prints @samp{1950.000}, with a minimum of four significant figures, three of which follow the decimal point. (The @samp{4.3} represents two modifiers, discussed in the next @value{SUBSECTION}.) @@ -30143,6 +30143,12 @@ Evaluate @var{awk statements} in the context of the running program. You can do anything that an @command{awk} program would do: assign values to variables, call functions, and so on. +@quotation NOTE +Do to implementation constraintss, using @code{eval} to call a +user-defined function that returns a value does not work, generating +an error message. We hope to one day remove this constraint. +@end quotation + @item @code{eval} @var{param}, @dots{} @itemx @var{awk statements} @itemx @code{end} |