aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info170
1 files changed, 92 insertions, 78 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index d6aea49f..6cb2abdb 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -26121,12 +26121,26 @@ File: gawk.info, Node: Extension Exercises, Prev: Extension summary, Up: Dyna
`chmod()', and `umask()' to the file operations extension
presented in *note Internal File Ops::.
- 2. (Hard.) How would you provide namespaces in `gawk', so that the
+ 2. Write an input parser that prints a prompt if the input is a from
+ a "terminal" device. You can use the `isatty()' function to tell
+ if the input file is a terminal. (Hint: this function is usually
+ expensive to call; try to call it just once.) The content of the
+ prompt should come from a variable settable by `awk'-level code.
+ You can write the prompt to stanard error. However, for best
+ results, open a new file descriptor (or file pointer) on
+ `/dev/tty' and print the prompt there, in case standard error has
+ been redirected.
+
+ Why is standard error a better choice than standard output for
+ writing the prompt? Which reading mechanism should you replace,
+ the one to get a record, or the one to read raw bytes?
+
+ 3. (Hard.) How would you provide namespaces in `gawk', so that the
names of functions in different extensions don't conflict with
each other? If you come up with a really good scheme, contact the
`gawk' maintainer to tell him about it.
- 3. Write a wrapper script that provides an interface similar to `sed
+ 4. Write a wrapper script that provides an interface similar to `sed
-i' for the "inplace" extension presented in *note Extension
Sample Inplace::.
@@ -33416,7 +33430,7 @@ Index
* messages from extensions: Printing Messages. (line 6)
* metacharacters in regular expressions: Regexp Operators. (line 6)
* metacharacters, escape sequences for: Escape Sequences. (line 136)
-* minimum precision supported by MPFR library: Auto-set. (line 224)
+* minimum precision required by MPFR library: Auto-set. (line 224)
* mktime: Time Functions. (line 25)
* modifiers, in format specifiers: Format Modifiers. (line 6)
* monetary information, localization: Explaining gettext. (line 104)
@@ -33756,7 +33770,7 @@ Index
* printing, unduplicated lines of text: Uniq Program. (line 6)
* printing, user information: Id Program. (line 6)
* private variables: Library Names. (line 11)
-* process group idIDof gawk process: Auto-set. (line 183)
+* process group ID of gawk process: Auto-set. (line 183)
* process ID of gawk process: Auto-set. (line 186)
* processes, two-way communications with: Two-way I/O. (line 6)
* processing data: Basic High Level. (line 6)
@@ -34976,79 +34990,79 @@ Node: Extension Sample API Tests1043960
Node: gawkextlib1044451
Node: Extension summary1047129
Node: Extension Exercises1050818
-Node: Language History1051540
-Node: V7/SVR3.11053196
-Node: SVR41055349
-Node: POSIX1056783
-Node: BTL1058164
-Node: POSIX/GNU1058895
-Node: Feature History1064416
-Node: Common Extensions1077514
-Node: Ranges and Locales1078886
-Ref: Ranges and Locales-Footnote-11083505
-Ref: Ranges and Locales-Footnote-21083532
-Ref: Ranges and Locales-Footnote-31083767
-Node: Contributors1083988
-Node: History summary1089528
-Node: Installation1090907
-Node: Gawk Distribution1091853
-Node: Getting1092337
-Node: Extracting1093160
-Node: Distribution contents1094797
-Node: Unix Installation1100551
-Node: Quick Installation1101168
-Node: Additional Configuration Options1103592
-Node: Configuration Philosophy1105395
-Node: Non-Unix Installation1107764
-Node: PC Installation1108222
-Node: PC Binary Installation1109542
-Node: PC Compiling1111390
-Ref: PC Compiling-Footnote-11114411
-Node: PC Testing1114520
-Node: PC Using1115696
-Node: Cygwin1119811
-Node: MSYS1120581
-Node: VMS Installation1121082
-Node: VMS Compilation1121874
-Ref: VMS Compilation-Footnote-11123103
-Node: VMS Dynamic Extensions1123161
-Node: VMS Installation Details1124845
-Node: VMS Running1127096
-Node: VMS GNV1129936
-Node: VMS Old Gawk1130671
-Node: Bugs1131141
-Node: Other Versions1135030
-Node: Installation summary1141464
-Node: Notes1142523
-Node: Compatibility Mode1143388
-Node: Additions1144170
-Node: Accessing The Source1145095
-Node: Adding Code1146530
-Node: New Ports1152687
-Node: Derived Files1157169
-Ref: Derived Files-Footnote-11162644
-Ref: Derived Files-Footnote-21162678
-Ref: Derived Files-Footnote-31163274
-Node: Future Extensions1163388
-Node: Implementation Limitations1163994
-Node: Extension Design1165242
-Node: Old Extension Problems1166396
-Ref: Old Extension Problems-Footnote-11167913
-Node: Extension New Mechanism Goals1167970
-Ref: Extension New Mechanism Goals-Footnote-11171330
-Node: Extension Other Design Decisions1171519
-Node: Extension Future Growth1173627
-Node: Old Extension Mechanism1174463
-Node: Notes summary1176225
-Node: Basic Concepts1177411
-Node: Basic High Level1178092
-Ref: figure-general-flow1178364
-Ref: figure-process-flow1178963
-Ref: Basic High Level-Footnote-11182192
-Node: Basic Data Typing1182377
-Node: Glossary1185705
-Node: Copying1217634
-Node: GNU Free Documentation License1255190
-Node: Index1280326
+Node: Language History1052314
+Node: V7/SVR3.11053970
+Node: SVR41056123
+Node: POSIX1057557
+Node: BTL1058938
+Node: POSIX/GNU1059669
+Node: Feature History1065190
+Node: Common Extensions1078288
+Node: Ranges and Locales1079660
+Ref: Ranges and Locales-Footnote-11084279
+Ref: Ranges and Locales-Footnote-21084306
+Ref: Ranges and Locales-Footnote-31084541
+Node: Contributors1084762
+Node: History summary1090302
+Node: Installation1091681
+Node: Gawk Distribution1092627
+Node: Getting1093111
+Node: Extracting1093934
+Node: Distribution contents1095571
+Node: Unix Installation1101325
+Node: Quick Installation1101942
+Node: Additional Configuration Options1104366
+Node: Configuration Philosophy1106169
+Node: Non-Unix Installation1108538
+Node: PC Installation1108996
+Node: PC Binary Installation1110316
+Node: PC Compiling1112164
+Ref: PC Compiling-Footnote-11115185
+Node: PC Testing1115294
+Node: PC Using1116470
+Node: Cygwin1120585
+Node: MSYS1121355
+Node: VMS Installation1121856
+Node: VMS Compilation1122648
+Ref: VMS Compilation-Footnote-11123877
+Node: VMS Dynamic Extensions1123935
+Node: VMS Installation Details1125619
+Node: VMS Running1127870
+Node: VMS GNV1130710
+Node: VMS Old Gawk1131445
+Node: Bugs1131915
+Node: Other Versions1135804
+Node: Installation summary1142238
+Node: Notes1143297
+Node: Compatibility Mode1144162
+Node: Additions1144944
+Node: Accessing The Source1145869
+Node: Adding Code1147304
+Node: New Ports1153461
+Node: Derived Files1157943
+Ref: Derived Files-Footnote-11163418
+Ref: Derived Files-Footnote-21163452
+Ref: Derived Files-Footnote-31164048
+Node: Future Extensions1164162
+Node: Implementation Limitations1164768
+Node: Extension Design1166016
+Node: Old Extension Problems1167170
+Ref: Old Extension Problems-Footnote-11168687
+Node: Extension New Mechanism Goals1168744
+Ref: Extension New Mechanism Goals-Footnote-11172104
+Node: Extension Other Design Decisions1172293
+Node: Extension Future Growth1174401
+Node: Old Extension Mechanism1175237
+Node: Notes summary1176999
+Node: Basic Concepts1178185
+Node: Basic High Level1178866
+Ref: figure-general-flow1179138
+Ref: figure-process-flow1179737
+Ref: Basic High Level-Footnote-11182966
+Node: Basic Data Typing1183151
+Node: Glossary1186479
+Node: Copying1218408
+Node: GNU Free Documentation License1255964
+Node: Index1281100

End Tag Table