diff options
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 905 | ||||
-rw-r--r-- | doc/gawk.texi | 11 | ||||
-rw-r--r-- | doc/gawktexi.in | 11 |
5 files changed, 491 insertions, 450 deletions
@@ -54,10 +54,14 @@ Changes from 5.1.0 to 5.1.1 14. The manual has been updated with much more information about what is and is not a bug, and the changes in the gawk mailing lists. -15. Similar to item #4 above, division by zero is now fatal in MPFR +15. The behavior of strongly-typed regexp constants when passed as the + third argument to sub() or gsub() has been clarified in the code and + in the manual. + +16. Similar to item #4 above, division by zero is now fatal in MPFR mode, as it is in regular mode. -16. There have been numerous minor code cleanups and bug fixes. See the +17. There have been numerous minor code cleanups and bug fixes. See the ChangeLog for details. Changes from 5.0.1 to 5.1.0 diff --git a/doc/ChangeLog b/doc/ChangeLog index d92ebbd5..8d15d5a6 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2021-09-23 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Strong Regexp Constants): Document that they + can be assigned with -v. Thanks to J Naman <jnaman2@gmail.com> + for the report. + 2021-09-22 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Compiling from Git): New node. diff --git a/doc/gawk.info b/doc/gawk.info index 74856755..8aa0d9c2 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -8264,6 +8264,15 @@ more confusing. Instead, you may use them only in certain contexts: one of the built-in functions listed above, or passed as a parameter to a user-defined function. + You may use the '-v' option (*note Options::) to assign a +strongly-typed regexp constant to a variable on the command line, like +so: + + gawk -v pattern='@/something(interesting)+/' ... + +You may also make such assignments as regular command-line arguments +(*note Other Arguments::). + You may use the 'typeof()' built-in function (*note Type Functions::) to determine if a variable or function parameter is a regexp variable. @@ -38601,454 +38610,454 @@ Node: Regexp Constants352518 Node: Using Constant Regexps353044 Node: Standard Regexp Constants353666 Node: Strong Regexp Constants356854 -Node: Variables360278 -Node: Using Variables360935 -Node: Assignment Options362845 -Node: Conversion365316 -Node: Strings And Numbers365840 -Ref: Strings And Numbers-Footnote-1368903 -Node: Locale influences conversions369012 -Ref: table-locale-affects371770 -Node: All Operators372388 -Node: Arithmetic Ops373017 -Node: Concatenation375733 -Ref: Concatenation-Footnote-1378580 -Node: Assignment Ops378687 -Ref: table-assign-ops383678 -Node: Increment Ops384991 -Node: Truth Values and Conditions388451 -Node: Truth Values389525 -Node: Typing and Comparison390573 -Node: Variable Typing391393 -Ref: Variable Typing-Footnote-1397856 -Ref: Variable Typing-Footnote-2397928 -Node: Comparison Operators398005 -Ref: table-relational-ops398424 -Node: POSIX String Comparison401919 -Ref: POSIX String Comparison-Footnote-1403614 -Ref: POSIX String Comparison-Footnote-2403753 -Node: Boolean Ops403837 -Ref: Boolean Ops-Footnote-1408319 -Node: Conditional Exp408411 -Node: Function Calls410147 -Node: Precedence414024 -Node: Locales417683 -Node: Expressions Summary419315 -Node: Patterns and Actions421888 -Node: Pattern Overview423008 -Node: Regexp Patterns424685 -Node: Expression Patterns425227 -Node: Ranges429008 -Node: BEGIN/END432116 -Node: Using BEGIN/END432877 -Ref: Using BEGIN/END-Footnote-1435631 -Node: I/O And BEGIN/END435737 -Node: BEGINFILE/ENDFILE438050 -Node: Empty441281 -Node: Using Shell Variables441598 -Node: Action Overview443872 -Node: Statements446197 -Node: If Statement448045 -Node: While Statement449540 -Node: Do Statement451568 -Node: For Statement452716 -Node: Switch Statement455887 -Node: Break Statement458328 -Node: Continue Statement460420 -Node: Next Statement462247 -Node: Nextfile Statement464630 -Node: Exit Statement467319 -Node: Built-in Variables469722 -Node: User-modified470855 -Node: Auto-set478622 -Ref: Auto-set-Footnote-1495429 -Ref: Auto-set-Footnote-2495635 -Node: ARGC and ARGV495691 -Node: Pattern Action Summary499904 -Node: Arrays502334 -Node: Array Basics503663 -Node: Array Intro504507 -Ref: figure-array-elements506482 -Ref: Array Intro-Footnote-1509186 -Node: Reference to Elements509314 -Node: Assigning Elements511778 -Node: Array Example512269 -Node: Scanning an Array514028 -Node: Controlling Scanning517050 -Ref: Controlling Scanning-Footnote-1523506 -Node: Numeric Array Subscripts523822 -Node: Uninitialized Subscripts526006 -Node: Delete527625 -Ref: Delete-Footnote-1530377 -Node: Multidimensional530434 -Node: Multiscanning533529 -Node: Arrays of Arrays535120 -Node: Arrays Summary539888 -Node: Functions541981 -Node: Built-in543019 -Node: Calling Built-in544100 -Node: Numeric Functions546096 -Ref: Numeric Functions-Footnote-1550124 -Ref: Numeric Functions-Footnote-2550772 -Ref: Numeric Functions-Footnote-3550820 -Node: String Functions551092 -Ref: String Functions-Footnote-1575607 -Ref: String Functions-Footnote-2575735 -Ref: String Functions-Footnote-3575983 -Node: Gory Details576070 -Ref: table-sub-escapes577861 -Ref: table-sub-proposed579380 -Ref: table-posix-sub580743 -Ref: table-gensub-escapes582284 -Ref: Gory Details-Footnote-1583107 -Node: I/O Functions583261 -Ref: table-system-return-values589715 -Ref: I/O Functions-Footnote-1591795 -Ref: I/O Functions-Footnote-2591943 -Node: Time Functions592063 -Ref: Time Functions-Footnote-1602734 -Ref: Time Functions-Footnote-2602802 -Ref: Time Functions-Footnote-3602960 -Ref: Time Functions-Footnote-4603071 -Ref: Time Functions-Footnote-5603183 -Ref: Time Functions-Footnote-6603410 -Node: Bitwise Functions603676 -Ref: table-bitwise-ops604270 -Ref: Bitwise Functions-Footnote-1610333 -Ref: Bitwise Functions-Footnote-2610506 -Node: Type Functions610697 -Node: I18N Functions613560 -Node: User-defined615211 -Node: Definition Syntax616023 -Ref: Definition Syntax-Footnote-1621717 -Node: Function Example621788 -Ref: Function Example-Footnote-1624710 -Node: Function Calling624732 -Node: Calling A Function625320 -Node: Variable Scope626278 -Node: Pass By Value/Reference629272 -Node: Function Caveats631916 -Ref: Function Caveats-Footnote-1633963 -Node: Return Statement634083 -Node: Dynamic Typing637062 -Node: Indirect Calls637992 -Ref: Indirect Calls-Footnote-1648244 -Node: Functions Summary648372 -Node: Library Functions651077 -Ref: Library Functions-Footnote-1654684 -Ref: Library Functions-Footnote-2654827 -Node: Library Names654998 -Ref: Library Names-Footnote-1658665 -Ref: Library Names-Footnote-2658888 -Node: General Functions658974 -Node: Strtonum Function660156 -Node: Assert Function663178 -Node: Round Function666504 -Node: Cliff Random Function668044 -Node: Ordinal Functions669060 -Ref: Ordinal Functions-Footnote-1672123 -Ref: Ordinal Functions-Footnote-2672375 -Node: Join Function672585 -Ref: Join Function-Footnote-1674355 -Node: Getlocaltime Function674555 -Node: Readfile Function678297 -Node: Shell Quoting680274 -Node: Isnumeric Function681702 -Node: Data File Management683090 -Node: Filetrans Function683722 -Node: Rewind Function687818 -Node: File Checking689727 -Ref: File Checking-Footnote-1691061 -Node: Empty Files691262 -Node: Ignoring Assigns693241 -Node: Getopt Function694791 -Ref: Getopt Function-Footnote-1710014 -Node: Passwd Functions710214 -Ref: Passwd Functions-Footnote-1719053 -Node: Group Functions719141 -Ref: Group Functions-Footnote-1727039 -Node: Walking Arrays727246 -Node: Library Functions Summary730254 -Node: Library Exercises731660 -Node: Sample Programs732125 -Node: Running Examples732895 -Node: Clones733623 -Node: Cut Program734847 -Node: Egrep Program744987 -Node: Id Program753988 -Node: Split Program763935 -Ref: Split Program-Footnote-1773828 -Node: Tee Program774001 -Node: Uniq Program776791 -Node: Wc Program784379 -Node: Bytes vs. Characters784766 -Node: Using extensions786314 -Node: wc program787068 -Node: Miscellaneous Programs791933 -Node: Dupword Program793146 -Node: Alarm Program795176 -Node: Translate Program800031 -Ref: Translate Program-Footnote-1804596 -Node: Labels Program804866 -Ref: Labels Program-Footnote-1808217 -Node: Word Sorting808301 -Node: History Sorting812373 -Node: Extract Program814598 -Node: Simple Sed822652 -Node: Igawk Program825726 -Ref: Igawk Program-Footnote-1840057 -Ref: Igawk Program-Footnote-2840259 -Ref: Igawk Program-Footnote-3840381 -Node: Anagram Program840496 -Node: Signature Program843558 -Node: Programs Summary844805 -Node: Programs Exercises846019 -Ref: Programs Exercises-Footnote-1850149 -Node: Advanced Features850235 -Node: Nondecimal Data852302 -Node: Array Sorting853893 -Node: Controlling Array Traversal854593 -Ref: Controlling Array Traversal-Footnote-1862961 -Node: Array Sorting Functions863079 -Ref: Array Sorting Functions-Footnote-1868453 -Node: Two-way I/O868649 -Ref: Two-way I/O-Footnote-1876375 -Ref: Two-way I/O-Footnote-2876562 -Node: TCP/IP Networking876644 -Node: Profiling879762 -Node: Extension Philosophy889071 -Node: Advanced Features Summary890550 -Node: Internationalization892565 -Node: I18N and L10N894239 -Node: Explaining gettext894926 -Ref: Explaining gettext-Footnote-1900818 -Ref: Explaining gettext-Footnote-2901003 -Node: Programmer i18n901168 -Ref: Programmer i18n-Footnote-1906117 -Node: Translator i18n906166 -Node: String Extraction906960 -Ref: String Extraction-Footnote-1908092 -Node: Printf Ordering908178 -Ref: Printf Ordering-Footnote-1910964 -Node: I18N Portability911028 -Ref: I18N Portability-Footnote-1913484 -Node: I18N Example913547 -Ref: I18N Example-Footnote-1916822 -Ref: I18N Example-Footnote-2916895 -Node: Gawk I18N917004 -Node: I18N Summary917653 -Node: Debugger918994 -Node: Debugging919994 -Node: Debugging Concepts920435 -Node: Debugging Terms922244 -Node: Awk Debugging924819 -Ref: Awk Debugging-Footnote-1925764 -Node: Sample Debugging Session925896 -Node: Debugger Invocation926430 -Node: Finding The Bug927816 -Node: List of Debugger Commands934290 -Node: Breakpoint Control935623 -Node: Debugger Execution Control939317 -Node: Viewing And Changing Data942679 -Node: Execution Stack946220 -Node: Debugger Info947857 -Node: Miscellaneous Debugger Commands951928 -Node: Readline Support956990 -Node: Limitations957886 -Node: Debugging Summary960440 -Node: Namespaces961719 -Node: Global Namespace962830 -Node: Qualified Names964228 -Node: Default Namespace965227 -Node: Changing The Namespace965968 -Node: Naming Rules967582 -Node: Internal Name Management969430 -Node: Namespace Example970472 -Node: Namespace And Features973034 -Node: Namespace Summary974469 -Node: Arbitrary Precision Arithmetic975946 -Node: Computer Arithmetic977433 -Ref: table-numeric-ranges981199 -Ref: table-floating-point-ranges981692 -Ref: Computer Arithmetic-Footnote-1982350 -Node: Math Definitions982407 -Ref: table-ieee-formats985723 -Ref: Math Definitions-Footnote-1986326 -Node: MPFR features986431 -Node: FP Math Caution988149 -Ref: FP Math Caution-Footnote-1989221 -Node: Inexactness of computations989590 -Node: Inexact representation990550 -Node: Comparing FP Values991910 -Node: Errors accumulate993151 -Node: Getting Accuracy994584 -Node: Try To Round997294 -Node: Setting precision998193 -Ref: table-predefined-precision-strings998890 -Node: Setting the rounding mode1000720 -Ref: table-gawk-rounding-modes1001094 -Ref: Setting the rounding mode-Footnote-11005025 -Node: Arbitrary Precision Integers1005204 -Ref: Arbitrary Precision Integers-Footnote-11008379 -Node: Checking for MPFR1008528 -Node: POSIX Floating Point Problems1010002 -Ref: POSIX Floating Point Problems-Footnote-11014287 -Node: Floating point summary1014325 -Node: Dynamic Extensions1016515 -Node: Extension Intro1018068 -Node: Plugin License1019334 -Node: Extension Mechanism Outline1020131 -Ref: figure-load-extension1020570 -Ref: figure-register-new-function1022135 -Ref: figure-call-new-function1023227 -Node: Extension API Description1025289 -Node: Extension API Functions Introduction1027002 -Ref: table-api-std-headers1028838 -Node: General Data Types1033087 -Ref: General Data Types-Footnote-11041717 -Node: Memory Allocation Functions1042016 -Ref: Memory Allocation Functions-Footnote-11046517 -Node: Constructor Functions1046616 -Node: API Ownership of MPFR and GMP Values1050082 -Node: Registration Functions1051395 -Node: Extension Functions1052095 -Node: Exit Callback Functions1057417 -Node: Extension Version String1058667 -Node: Input Parsers1059330 -Node: Output Wrappers1072051 -Node: Two-way processors1076563 -Node: Printing Messages1078828 -Ref: Printing Messages-Footnote-11079999 -Node: Updating ERRNO1080152 -Node: Requesting Values1080891 -Ref: table-value-types-returned1081628 -Node: Accessing Parameters1082564 -Node: Symbol Table Access1083801 -Node: Symbol table by name1084313 -Ref: Symbol table by name-Footnote-11087337 -Node: Symbol table by cookie1087465 -Ref: Symbol table by cookie-Footnote-11091650 -Node: Cached values1091714 -Ref: Cached values-Footnote-11095250 -Node: Array Manipulation1095403 -Ref: Array Manipulation-Footnote-11096494 -Node: Array Data Types1096531 -Ref: Array Data Types-Footnote-11099189 -Node: Array Functions1099281 -Node: Flattening Arrays1103779 -Node: Creating Arrays1110755 -Node: Redirection API1115522 -Node: Extension API Variables1118355 -Node: Extension Versioning1119066 -Ref: gawk-api-version1119495 -Node: Extension GMP/MPFR Versioning1121226 -Node: Extension API Informational Variables1122854 -Node: Extension API Boilerplate1123927 -Node: Changes from API V11127901 -Node: Finding Extensions1129473 -Node: Extension Example1130032 -Node: Internal File Description1130830 -Node: Internal File Ops1134910 -Ref: Internal File Ops-Footnote-11146260 -Node: Using Internal File Ops1146400 -Ref: Using Internal File Ops-Footnote-11148783 -Node: Extension Samples1149057 -Node: Extension Sample File Functions1150586 -Node: Extension Sample Fnmatch1158235 -Node: Extension Sample Fork1159722 -Node: Extension Sample Inplace1160940 -Node: Extension Sample Ord1164566 -Node: Extension Sample Readdir1165402 -Ref: table-readdir-file-types1166291 -Node: Extension Sample Revout1167358 -Node: Extension Sample Rev2way1167947 -Node: Extension Sample Read write array1168687 -Node: Extension Sample Readfile1170629 -Node: Extension Sample Time1171724 -Node: Extension Sample API Tests1173476 -Node: gawkextlib1173968 -Node: Extension summary1176886 -Node: Extension Exercises1180588 -Node: Language History1181830 -Node: V7/SVR3.11183486 -Node: SVR41185638 -Node: POSIX1187072 -Node: BTL1188453 -Node: POSIX/GNU1189182 -Node: Feature History1194960 -Node: Common Extensions1212135 -Node: Ranges and Locales1213418 -Ref: Ranges and Locales-Footnote-11218034 -Ref: Ranges and Locales-Footnote-21218061 -Ref: Ranges and Locales-Footnote-31218296 -Node: Contributors1218519 -Node: History summary1224516 -Node: Installation1225896 -Node: Gawk Distribution1226840 -Node: Getting1227324 -Node: Extracting1228287 -Node: Distribution contents1229925 -Node: Unix Installation1236405 -Node: Quick Installation1237209 -Node: Compiling with MPFR1239685 -Node: Shell Startup Files1240377 -Node: Additional Configuration Options1241466 -Node: Configuration Philosophy1243781 -Node: Compiling from Git1246177 -Node: Building the Documentation1246732 -Node: Non-Unix Installation1247654 -Node: PC Installation1248114 -Node: PC Binary Installation1248952 -Node: PC Compiling1249387 -Node: PC Using1250504 -Node: Cygwin1254057 -Node: MSYS1255281 -Node: VMS Installation1255883 -Node: VMS Compilation1256602 -Ref: VMS Compilation-Footnote-11257831 -Node: VMS Dynamic Extensions1257889 -Node: VMS Installation Details1259574 -Node: VMS Running1261836 -Node: VMS GNV1266115 -Node: Bugs1266829 -Node: Bug definition1267741 -Node: Bug address1270245 -Node: Usenet1273633 -Node: Performance bugs1274642 -Node: Asking for help1277563 -Node: Maintainers1279525 -Node: Other Versions1280719 -Node: Installation summary1288571 -Node: Notes1289935 -Node: Compatibility Mode1290729 -Node: Additions1291511 -Node: Accessing The Source1292436 -Node: Adding Code1293873 -Node: New Ports1300092 -Node: Derived Files1304467 -Ref: Derived Files-Footnote-11310127 -Ref: Derived Files-Footnote-21310162 -Ref: Derived Files-Footnote-31310760 -Node: Future Extensions1310874 -Node: Implementation Limitations1311532 -Node: Extension Design1312742 -Node: Old Extension Problems1313886 -Ref: Old Extension Problems-Footnote-11315404 -Node: Extension New Mechanism Goals1315461 -Ref: Extension New Mechanism Goals-Footnote-11318825 -Node: Extension Other Design Decisions1319014 -Node: Extension Future Growth1321127 -Node: Notes summary1321733 -Node: Basic Concepts1322891 -Node: Basic High Level1323572 -Ref: figure-general-flow1323854 -Ref: figure-process-flow1324539 -Ref: Basic High Level-Footnote-11327840 -Node: Basic Data Typing1328025 -Node: Glossary1331353 -Node: Copying1363238 -Node: GNU Free Documentation License1400781 -Node: Index1425901 +Node: Variables360567 +Node: Using Variables361224 +Node: Assignment Options363134 +Node: Conversion365605 +Node: Strings And Numbers366129 +Ref: Strings And Numbers-Footnote-1369192 +Node: Locale influences conversions369301 +Ref: table-locale-affects372059 +Node: All Operators372677 +Node: Arithmetic Ops373306 +Node: Concatenation376022 +Ref: Concatenation-Footnote-1378869 +Node: Assignment Ops378976 +Ref: table-assign-ops383967 +Node: Increment Ops385280 +Node: Truth Values and Conditions388740 +Node: Truth Values389814 +Node: Typing and Comparison390862 +Node: Variable Typing391682 +Ref: Variable Typing-Footnote-1398145 +Ref: Variable Typing-Footnote-2398217 +Node: Comparison Operators398294 +Ref: table-relational-ops398713 +Node: POSIX String Comparison402208 +Ref: POSIX String Comparison-Footnote-1403903 +Ref: POSIX String Comparison-Footnote-2404042 +Node: Boolean Ops404126 +Ref: Boolean Ops-Footnote-1408608 +Node: Conditional Exp408700 +Node: Function Calls410436 +Node: Precedence414313 +Node: Locales417972 +Node: Expressions Summary419604 +Node: Patterns and Actions422177 +Node: Pattern Overview423297 +Node: Regexp Patterns424974 +Node: Expression Patterns425516 +Node: Ranges429297 +Node: BEGIN/END432405 +Node: Using BEGIN/END433166 +Ref: Using BEGIN/END-Footnote-1435920 +Node: I/O And BEGIN/END436026 +Node: BEGINFILE/ENDFILE438339 +Node: Empty441570 +Node: Using Shell Variables441887 +Node: Action Overview444161 +Node: Statements446486 +Node: If Statement448334 +Node: While Statement449829 +Node: Do Statement451857 +Node: For Statement453005 +Node: Switch Statement456176 +Node: Break Statement458617 +Node: Continue Statement460709 +Node: Next Statement462536 +Node: Nextfile Statement464919 +Node: Exit Statement467608 +Node: Built-in Variables470011 +Node: User-modified471144 +Node: Auto-set478911 +Ref: Auto-set-Footnote-1495718 +Ref: Auto-set-Footnote-2495924 +Node: ARGC and ARGV495980 +Node: Pattern Action Summary500193 +Node: Arrays502623 +Node: Array Basics503952 +Node: Array Intro504796 +Ref: figure-array-elements506771 +Ref: Array Intro-Footnote-1509475 +Node: Reference to Elements509603 +Node: Assigning Elements512067 +Node: Array Example512558 +Node: Scanning an Array514317 +Node: Controlling Scanning517339 +Ref: Controlling Scanning-Footnote-1523795 +Node: Numeric Array Subscripts524111 +Node: Uninitialized Subscripts526295 +Node: Delete527914 +Ref: Delete-Footnote-1530666 +Node: Multidimensional530723 +Node: Multiscanning533818 +Node: Arrays of Arrays535409 +Node: Arrays Summary540177 +Node: Functions542270 +Node: Built-in543308 +Node: Calling Built-in544389 +Node: Numeric Functions546385 +Ref: Numeric Functions-Footnote-1550413 +Ref: Numeric Functions-Footnote-2551061 +Ref: Numeric Functions-Footnote-3551109 +Node: String Functions551381 +Ref: String Functions-Footnote-1575896 +Ref: String Functions-Footnote-2576024 +Ref: String Functions-Footnote-3576272 +Node: Gory Details576359 +Ref: table-sub-escapes578150 +Ref: table-sub-proposed579669 +Ref: table-posix-sub581032 +Ref: table-gensub-escapes582573 +Ref: Gory Details-Footnote-1583396 +Node: I/O Functions583550 +Ref: table-system-return-values590004 +Ref: I/O Functions-Footnote-1592084 +Ref: I/O Functions-Footnote-2592232 +Node: Time Functions592352 +Ref: Time Functions-Footnote-1603023 +Ref: Time Functions-Footnote-2603091 +Ref: Time Functions-Footnote-3603249 +Ref: Time Functions-Footnote-4603360 +Ref: Time Functions-Footnote-5603472 +Ref: Time Functions-Footnote-6603699 +Node: Bitwise Functions603965 +Ref: table-bitwise-ops604559 +Ref: Bitwise Functions-Footnote-1610622 +Ref: Bitwise Functions-Footnote-2610795 +Node: Type Functions610986 +Node: I18N Functions613849 +Node: User-defined615500 +Node: Definition Syntax616312 +Ref: Definition Syntax-Footnote-1622006 +Node: Function Example622077 +Ref: Function Example-Footnote-1624999 +Node: Function Calling625021 +Node: Calling A Function625609 +Node: Variable Scope626567 +Node: Pass By Value/Reference629561 +Node: Function Caveats632205 +Ref: Function Caveats-Footnote-1634252 +Node: Return Statement634372 +Node: Dynamic Typing637351 +Node: Indirect Calls638281 +Ref: Indirect Calls-Footnote-1648533 +Node: Functions Summary648661 +Node: Library Functions651366 +Ref: Library Functions-Footnote-1654973 +Ref: Library Functions-Footnote-2655116 +Node: Library Names655287 +Ref: Library Names-Footnote-1658954 +Ref: Library Names-Footnote-2659177 +Node: General Functions659263 +Node: Strtonum Function660445 +Node: Assert Function663467 +Node: Round Function666793 +Node: Cliff Random Function668333 +Node: Ordinal Functions669349 +Ref: Ordinal Functions-Footnote-1672412 +Ref: Ordinal Functions-Footnote-2672664 +Node: Join Function672874 +Ref: Join Function-Footnote-1674644 +Node: Getlocaltime Function674844 +Node: Readfile Function678586 +Node: Shell Quoting680563 +Node: Isnumeric Function681991 +Node: Data File Management683379 +Node: Filetrans Function684011 +Node: Rewind Function688107 +Node: File Checking690016 +Ref: File Checking-Footnote-1691350 +Node: Empty Files691551 +Node: Ignoring Assigns693530 +Node: Getopt Function695080 +Ref: Getopt Function-Footnote-1710303 +Node: Passwd Functions710503 +Ref: Passwd Functions-Footnote-1719342 +Node: Group Functions719430 +Ref: Group Functions-Footnote-1727328 +Node: Walking Arrays727535 +Node: Library Functions Summary730543 +Node: Library Exercises731949 +Node: Sample Programs732414 +Node: Running Examples733184 +Node: Clones733912 +Node: Cut Program735136 +Node: Egrep Program745276 +Node: Id Program754277 +Node: Split Program764224 +Ref: Split Program-Footnote-1774117 +Node: Tee Program774290 +Node: Uniq Program777080 +Node: Wc Program784668 +Node: Bytes vs. Characters785055 +Node: Using extensions786603 +Node: wc program787357 +Node: Miscellaneous Programs792222 +Node: Dupword Program793435 +Node: Alarm Program795465 +Node: Translate Program800320 +Ref: Translate Program-Footnote-1804885 +Node: Labels Program805155 +Ref: Labels Program-Footnote-1808506 +Node: Word Sorting808590 +Node: History Sorting812662 +Node: Extract Program814887 +Node: Simple Sed822941 +Node: Igawk Program826015 +Ref: Igawk Program-Footnote-1840346 +Ref: Igawk Program-Footnote-2840548 +Ref: Igawk Program-Footnote-3840670 +Node: Anagram Program840785 +Node: Signature Program843847 +Node: Programs Summary845094 +Node: Programs Exercises846308 +Ref: Programs Exercises-Footnote-1850438 +Node: Advanced Features850524 +Node: Nondecimal Data852591 +Node: Array Sorting854182 +Node: Controlling Array Traversal854882 +Ref: Controlling Array Traversal-Footnote-1863250 +Node: Array Sorting Functions863368 +Ref: Array Sorting Functions-Footnote-1868742 +Node: Two-way I/O868938 +Ref: Two-way I/O-Footnote-1876664 +Ref: Two-way I/O-Footnote-2876851 +Node: TCP/IP Networking876933 +Node: Profiling880051 +Node: Extension Philosophy889360 +Node: Advanced Features Summary890839 +Node: Internationalization892854 +Node: I18N and L10N894528 +Node: Explaining gettext895215 +Ref: Explaining gettext-Footnote-1901107 +Ref: Explaining gettext-Footnote-2901292 +Node: Programmer i18n901457 +Ref: Programmer i18n-Footnote-1906406 +Node: Translator i18n906455 +Node: String Extraction907249 +Ref: String Extraction-Footnote-1908381 +Node: Printf Ordering908467 +Ref: Printf Ordering-Footnote-1911253 +Node: I18N Portability911317 +Ref: I18N Portability-Footnote-1913773 +Node: I18N Example913836 +Ref: I18N Example-Footnote-1917111 +Ref: I18N Example-Footnote-2917184 +Node: Gawk I18N917293 +Node: I18N Summary917942 +Node: Debugger919283 +Node: Debugging920283 +Node: Debugging Concepts920724 +Node: Debugging Terms922533 +Node: Awk Debugging925108 +Ref: Awk Debugging-Footnote-1926053 +Node: Sample Debugging Session926185 +Node: Debugger Invocation926719 +Node: Finding The Bug928105 +Node: List of Debugger Commands934579 +Node: Breakpoint Control935912 +Node: Debugger Execution Control939606 +Node: Viewing And Changing Data942968 +Node: Execution Stack946509 +Node: Debugger Info948146 +Node: Miscellaneous Debugger Commands952217 +Node: Readline Support957279 +Node: Limitations958175 +Node: Debugging Summary960729 +Node: Namespaces962008 +Node: Global Namespace963119 +Node: Qualified Names964517 +Node: Default Namespace965516 +Node: Changing The Namespace966257 +Node: Naming Rules967871 +Node: Internal Name Management969719 +Node: Namespace Example970761 +Node: Namespace And Features973323 +Node: Namespace Summary974758 +Node: Arbitrary Precision Arithmetic976235 +Node: Computer Arithmetic977722 +Ref: table-numeric-ranges981488 +Ref: table-floating-point-ranges981981 +Ref: Computer Arithmetic-Footnote-1982639 +Node: Math Definitions982696 +Ref: table-ieee-formats986012 +Ref: Math Definitions-Footnote-1986615 +Node: MPFR features986720 +Node: FP Math Caution988438 +Ref: FP Math Caution-Footnote-1989510 +Node: Inexactness of computations989879 +Node: Inexact representation990839 +Node: Comparing FP Values992199 +Node: Errors accumulate993440 +Node: Getting Accuracy994873 +Node: Try To Round997583 +Node: Setting precision998482 +Ref: table-predefined-precision-strings999179 +Node: Setting the rounding mode1001009 +Ref: table-gawk-rounding-modes1001383 +Ref: Setting the rounding mode-Footnote-11005314 +Node: Arbitrary Precision Integers1005493 +Ref: Arbitrary Precision Integers-Footnote-11008668 +Node: Checking for MPFR1008817 +Node: POSIX Floating Point Problems1010291 +Ref: POSIX Floating Point Problems-Footnote-11014576 +Node: Floating point summary1014614 +Node: Dynamic Extensions1016804 +Node: Extension Intro1018357 +Node: Plugin License1019623 +Node: Extension Mechanism Outline1020420 +Ref: figure-load-extension1020859 +Ref: figure-register-new-function1022424 +Ref: figure-call-new-function1023516 +Node: Extension API Description1025578 +Node: Extension API Functions Introduction1027291 +Ref: table-api-std-headers1029127 +Node: General Data Types1033376 +Ref: General Data Types-Footnote-11042006 +Node: Memory Allocation Functions1042305 +Ref: Memory Allocation Functions-Footnote-11046806 +Node: Constructor Functions1046905 +Node: API Ownership of MPFR and GMP Values1050371 +Node: Registration Functions1051684 +Node: Extension Functions1052384 +Node: Exit Callback Functions1057706 +Node: Extension Version String1058956 +Node: Input Parsers1059619 +Node: Output Wrappers1072340 +Node: Two-way processors1076852 +Node: Printing Messages1079117 +Ref: Printing Messages-Footnote-11080288 +Node: Updating ERRNO1080441 +Node: Requesting Values1081180 +Ref: table-value-types-returned1081917 +Node: Accessing Parameters1082853 +Node: Symbol Table Access1084090 +Node: Symbol table by name1084602 +Ref: Symbol table by name-Footnote-11087626 +Node: Symbol table by cookie1087754 +Ref: Symbol table by cookie-Footnote-11091939 +Node: Cached values1092003 +Ref: Cached values-Footnote-11095539 +Node: Array Manipulation1095692 +Ref: Array Manipulation-Footnote-11096783 +Node: Array Data Types1096820 +Ref: Array Data Types-Footnote-11099478 +Node: Array Functions1099570 +Node: Flattening Arrays1104068 +Node: Creating Arrays1111044 +Node: Redirection API1115811 +Node: Extension API Variables1118644 +Node: Extension Versioning1119355 +Ref: gawk-api-version1119784 +Node: Extension GMP/MPFR Versioning1121515 +Node: Extension API Informational Variables1123143 +Node: Extension API Boilerplate1124216 +Node: Changes from API V11128190 +Node: Finding Extensions1129762 +Node: Extension Example1130321 +Node: Internal File Description1131119 +Node: Internal File Ops1135199 +Ref: Internal File Ops-Footnote-11146549 +Node: Using Internal File Ops1146689 +Ref: Using Internal File Ops-Footnote-11149072 +Node: Extension Samples1149346 +Node: Extension Sample File Functions1150875 +Node: Extension Sample Fnmatch1158524 +Node: Extension Sample Fork1160011 +Node: Extension Sample Inplace1161229 +Node: Extension Sample Ord1164855 +Node: Extension Sample Readdir1165691 +Ref: table-readdir-file-types1166580 +Node: Extension Sample Revout1167647 +Node: Extension Sample Rev2way1168236 +Node: Extension Sample Read write array1168976 +Node: Extension Sample Readfile1170918 +Node: Extension Sample Time1172013 +Node: Extension Sample API Tests1173765 +Node: gawkextlib1174257 +Node: Extension summary1177175 +Node: Extension Exercises1180877 +Node: Language History1182119 +Node: V7/SVR3.11183775 +Node: SVR41185927 +Node: POSIX1187361 +Node: BTL1188742 +Node: POSIX/GNU1189471 +Node: Feature History1195249 +Node: Common Extensions1212424 +Node: Ranges and Locales1213707 +Ref: Ranges and Locales-Footnote-11218323 +Ref: Ranges and Locales-Footnote-21218350 +Ref: Ranges and Locales-Footnote-31218585 +Node: Contributors1218808 +Node: History summary1224805 +Node: Installation1226185 +Node: Gawk Distribution1227129 +Node: Getting1227613 +Node: Extracting1228576 +Node: Distribution contents1230214 +Node: Unix Installation1236694 +Node: Quick Installation1237498 +Node: Compiling with MPFR1239974 +Node: Shell Startup Files1240666 +Node: Additional Configuration Options1241755 +Node: Configuration Philosophy1244070 +Node: Compiling from Git1246466 +Node: Building the Documentation1247021 +Node: Non-Unix Installation1247943 +Node: PC Installation1248403 +Node: PC Binary Installation1249241 +Node: PC Compiling1249676 +Node: PC Using1250793 +Node: Cygwin1254346 +Node: MSYS1255570 +Node: VMS Installation1256172 +Node: VMS Compilation1256891 +Ref: VMS Compilation-Footnote-11258120 +Node: VMS Dynamic Extensions1258178 +Node: VMS Installation Details1259863 +Node: VMS Running1262125 +Node: VMS GNV1266404 +Node: Bugs1267118 +Node: Bug definition1268030 +Node: Bug address1270534 +Node: Usenet1273922 +Node: Performance bugs1274931 +Node: Asking for help1277852 +Node: Maintainers1279814 +Node: Other Versions1281008 +Node: Installation summary1288860 +Node: Notes1290224 +Node: Compatibility Mode1291018 +Node: Additions1291800 +Node: Accessing The Source1292725 +Node: Adding Code1294162 +Node: New Ports1300381 +Node: Derived Files1304756 +Ref: Derived Files-Footnote-11310416 +Ref: Derived Files-Footnote-21310451 +Ref: Derived Files-Footnote-31311049 +Node: Future Extensions1311163 +Node: Implementation Limitations1311821 +Node: Extension Design1313031 +Node: Old Extension Problems1314175 +Ref: Old Extension Problems-Footnote-11315693 +Node: Extension New Mechanism Goals1315750 +Ref: Extension New Mechanism Goals-Footnote-11319114 +Node: Extension Other Design Decisions1319303 +Node: Extension Future Growth1321416 +Node: Notes summary1322022 +Node: Basic Concepts1323180 +Node: Basic High Level1323861 +Ref: figure-general-flow1324143 +Ref: figure-process-flow1324828 +Ref: Basic High Level-Footnote-11328129 +Node: Basic Data Typing1328314 +Node: Glossary1331642 +Node: Copying1363527 +Node: GNU Free Documentation License1401070 +Node: Index1426190 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index a3745eba..5e2ec5dd 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -11997,6 +11997,17 @@ can be used with @samp{~} and @samp{!~}, passed to one of the built-in functions listed above, or passed as a parameter to a user-defined function. @end itemize +You may use the @option{-v} option (@pxref{Options}) to assign a +strongly-typed regexp constant to a variable on the command line, like so: + +@example +gawk -v pattern='@@/something(interesting)+/' @dots{} +@end example + +@noindent +You may also make such assignments as regular command-line arguments +(@pxref{Other Arguments}). + You may use the @code{typeof()} built-in function (@pxref{Type Functions}) to determine if a variable or function parameter is diff --git a/doc/gawktexi.in b/doc/gawktexi.in index d915efd5..b5ce6cd3 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -11323,6 +11323,17 @@ can be used with @samp{~} and @samp{!~}, passed to one of the built-in functions listed above, or passed as a parameter to a user-defined function. @end itemize +You may use the @option{-v} option (@pxref{Options}) to assign a +strongly-typed regexp constant to a variable on the command line, like so: + +@example +gawk -v pattern='@@/something(interesting)+/' @dots{} +@end example + +@noindent +You may also make such assignments as regular command-line arguments +(@pxref{Other Arguments}). + You may use the @code{typeof()} built-in function (@pxref{Type Functions}) to determine if a variable or function parameter is |