From 5580bd4357d9d498e495cacadef0837d1ec9b9fb Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 27 Apr 2023 13:03:50 +0300 Subject: Documentation updates. --- doc/ChangeLog | 7 + doc/awkcard.in | 14 +- doc/gawk.info | 493 +++++++++++++++++++++++++++++--------------------------- doc/gawk.texi | 19 ++- doc/gawktexi.in | 19 ++- 5 files changed, 298 insertions(+), 254 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 4a04aca6..6959d516 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2023-04-27 Arnold D. Robbins + + * awkcard.in: Update copyright year, gawk version, + download information. + * gawktexi.in (Persistent Memory): Add a note about memory + leaks that happen over time. + 2023-04-14 Arnold D. Robbins * Makefile.am, gawkinet.texi: Update copyright year. diff --git a/doc/awkcard.in b/doc/awkcard.in index 9ece92e6..619b3ac5 100644 --- a/doc/awkcard.in +++ b/doc/awkcard.in @@ -2,7 +2,7 @@ .\" .\" Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, .\" 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -.\" 2019, 2020, 2021, 2022 +.\" 2019, 2020, 2021, 2022, 2023 .\" Free Software Foundation, Inc. .\" .\" Permission is granted to make and distribute verbatim copies of @@ -100,7 +100,7 @@ Variables 5\*(CX \*(CD .SL .nf -\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2022 +\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2023 Free Software Foundation, Inc. .nf .BT @@ -1979,18 +1979,18 @@ The default for \*(FIcat\*(FR is \*(FC"LC_MESSAGES"\*(FR.\*(CB .in -.2i .EB "\s+2\f(HBINTERNATIONALIZATION (\*(GK\f(HB)\*(FR\s0" .sp .5 -.\" --- FTP/HTTP/GIT Information +.\" --- FTP/HTTPS/GIT Information .ES .nf \*(CDHost: \*(FCftp.gnu.org\*(FR -File: \*(FC/gnu/gawk/gawk-5.2.1.tar.gz\fP +File: \*(FC/gnu/gawk/gawk-5.2.2.tar.gz\fP .in +.2i .fi GNU \*(AK (\*(GK). There may be a later version. .in -.2i .nf .sp .4 -\*(FCgit clone git://github.com/onetrueawk/awk\fP +\*(FCgit clone https://github.com/onetrueawk/awk\fP .in +.2i .fi \*(NK. This version requires an ANSI C compiler; @@ -2005,13 +2005,13 @@ File: \*(FC/mawk/mawk.tar.gz\fP Michael Brennan's \*(MK. Thomas Dickey now maintains it.\*(CX .in -.2i -.EB "\s+2\f(HBFTP/HTTP/GIT INFORMATION\*(FR\s0" +.EB "\s+2\f(HBFTP/HTTPS/GIT INFORMATION\*(FR\s0" .sp .5 .\" --- Copying Permissions .ES .fi \*(CDCopyright \(co 1996\(en2005, -2007, 2009\(en2022 Free Software Foundation, Inc. +2007, 2009\(en2023 Free Software Foundation, Inc. .sp .5 Permission is granted to make and distribute verbatim copies of this reference card provided the copyright notice and this permission notice diff --git a/doc/gawk.info b/doc/gawk.info index 309eb15e..82af1e98 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -22233,8 +22233,8 @@ use the same ‘gawk’ executable from run to run. so: $ gawk --version - ⊣ GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) - ⊣ Copyright (C) 1989, 1991-2022 Free Software Foundation. + ⊣ GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) + ⊣ Copyright (C) 1989, 1991-2023 Free Software Foundation. ... If you see the ‘PMA’ with a version indicator, then it’s supported. @@ -22329,6 +22329,17 @@ the different verbosity levels are. “leaking” into the backing file and being recovered later by an attacker. + • Over time, the backing file will be filled with memory “leaked” by + ‘gawk’ as it runs. Most notably this is the memory used to compile + your program into an internal form before running it, which happens + each time, but there are other leakages as well. (For an extreme + example of this, see this thread + (https://lists.gnu.org/archive/html/bug-gawk/2023-04/msg00025.html) + in the mailing list archives.) It is up to you + to use ‘du -sh PMAFILE’ occasionally to monitor how full the file + is, and arrange to dump any data you may need before the backing + file becomes full. + Terence Kelly has provided a separate ‘Persistent-Memory ‘gawk’ User Manual’ document, which is included in the ‘gawk’ distribution. It is worth reading. *Note General Introduction: (pm-gawk)Top. @@ -37941,7 +37952,7 @@ Index * Kahrs, Jürgen <1>: Contributors. (line 71) * Kasal, Stepan: Acknowledgments. (line 60) * Kelly, Terence: Persistent Memory. (line 76) -* Kelly, Terence <1>: Persistent Memory. (line 127) +* Kelly, Terence <1>: Persistent Memory. (line 138) * Kelly, Terence <2>: Feature History. (line 510) * Kenobi, Obi-Wan: Undocumented. (line 6) * Kernighan, Brian: History. (line 17) @@ -39740,244 +39751,244 @@ Ref: Two-way I/O-Footnote-2919086 Node: TCP/IP Networking919168 Node: Profiling922348 Node: Persistent Memory932058 -Ref: Persistent Memory-Footnote-1941016 -Node: Extension Philosophy941147 -Node: Advanced Features Summary942682 -Node: Internationalization944952 -Node: I18N and L10N946658 -Node: Explaining gettext947353 -Ref: Explaining gettext-Footnote-1953506 -Ref: Explaining gettext-Footnote-2953701 -Node: Programmer i18n953866 -Ref: Programmer i18n-Footnote-1958979 -Node: Translator i18n959028 -Node: String Extraction959864 -Ref: String Extraction-Footnote-1961042 -Node: Printf Ordering961140 -Ref: Printf Ordering-Footnote-1964002 -Node: I18N Portability964070 -Ref: I18N Portability-Footnote-1966644 -Node: I18N Example966715 -Ref: I18N Example-Footnote-1970115 -Ref: I18N Example-Footnote-2970191 -Node: Gawk I18N970308 -Node: I18N Summary970964 -Node: Debugger972365 -Node: Debugging973389 -Node: Debugging Concepts973838 -Node: Debugging Terms975664 -Node: Awk Debugging978277 -Ref: Awk Debugging-Footnote-1979254 -Node: Sample Debugging Session979394 -Node: Debugger Invocation979946 -Node: Finding The Bug981575 -Node: List of Debugger Commands988261 -Node: Breakpoint Control989638 -Node: Debugger Execution Control993470 -Node: Viewing And Changing Data996950 -Node: Execution Stack1000688 -Node: Debugger Info1002369 -Node: Miscellaneous Debugger Commands1006668 -Node: Readline Support1011921 -Node: Limitations1012867 -Node: Debugging Summary1015511 -Node: Namespaces1016814 -Node: Global Namespace1017941 -Node: Qualified Names1019386 -Node: Default Namespace1020421 -Node: Changing The Namespace1021196 -Node: Naming Rules1022890 -Node: Internal Name Management1024805 -Node: Namespace Example1025875 -Node: Namespace And Features1028458 -Node: Namespace Summary1029915 -Node: Arbitrary Precision Arithmetic1031428 -Node: Computer Arithmetic1032947 -Ref: table-numeric-ranges1036764 -Ref: table-floating-point-ranges1037262 -Ref: Computer Arithmetic-Footnote-11037921 -Node: Math Definitions1037980 -Ref: table-ieee-formats1041025 -Node: MPFR features1041599 -Node: MPFR On Parole1042052 -Ref: MPFR On Parole-Footnote-11042896 -Node: MPFR Intro1043055 -Node: FP Math Caution1044745 -Ref: FP Math Caution-Footnote-11045819 -Node: Inexactness of computations1046196 -Node: Inexact representation1047227 -Node: Comparing FP Values1048610 -Node: Errors accumulate1049868 -Node: Strange values1051335 -Ref: Strange values-Footnote-11054001 -Node: Getting Accuracy1054106 -Node: Try To Round1056843 -Node: Setting precision1057750 -Ref: table-predefined-precision-strings1058455 -Node: Setting the rounding mode1060340 -Ref: table-gawk-rounding-modes1060722 -Ref: Setting the rounding mode-Footnote-11064780 -Node: Arbitrary Precision Integers1064963 -Ref: Arbitrary Precision Integers-Footnote-11068175 -Node: Checking for MPFR1068331 -Node: POSIX Floating Point Problems1069821 -Ref: POSIX Floating Point Problems-Footnote-11074685 -Node: Floating point summary1074723 -Node: Dynamic Extensions1076987 -Node: Extension Intro1078586 -Node: Plugin License1079894 -Node: Extension Mechanism Outline1080707 -Ref: figure-load-extension1081158 -Ref: figure-register-new-function1082743 -Ref: figure-call-new-function1083853 -Node: Extension API Description1085977 -Node: Extension API Functions Introduction1087706 -Ref: table-api-std-headers1089604 -Node: General Data Types1094068 -Ref: General Data Types-Footnote-11103236 -Node: Memory Allocation Functions1103551 -Ref: Memory Allocation Functions-Footnote-11108276 -Node: Constructor Functions1108375 -Node: API Ownership of MPFR and GMP Values1112280 -Node: Registration Functions1113841 -Node: Extension Functions1114545 -Node: Exit Callback Functions1120121 -Node: Extension Version String1121440 -Node: Input Parsers1122135 -Node: Output Wrappers1136779 -Node: Two-way processors1141627 -Node: Printing Messages1143988 -Ref: Printing Messages-Footnote-11145202 -Node: Updating ERRNO1145357 -Node: Requesting Values1146156 -Ref: table-value-types-returned1146909 -Node: Accessing Parameters1148018 -Node: Symbol Table Access1149302 -Node: Symbol table by name1149818 -Ref: Symbol table by name-Footnote-11153029 -Node: Symbol table by cookie1153161 -Ref: Symbol table by cookie-Footnote-11157442 -Node: Cached values1157506 -Ref: Cached values-Footnote-11161150 -Node: Array Manipulation1161307 -Ref: Array Manipulation-Footnote-11162410 -Node: Array Data Types1162447 -Ref: Array Data Types-Footnote-11165269 -Node: Array Functions1165369 -Node: Flattening Arrays1170398 -Node: Creating Arrays1177450 -Node: Redirection API1182300 -Node: Extension API Variables1185321 -Node: Extension Versioning1186046 -Ref: gawk-api-version1186483 -Node: Extension GMP/MPFR Versioning1188271 -Node: Extension API Informational Variables1189977 -Node: Extension API Boilerplate1191138 -Node: Changes from API V11195274 -Node: Finding Extensions1196908 -Node: Extension Example1197483 -Node: Internal File Description1198307 -Node: Internal File Ops1202631 -Ref: Internal File Ops-Footnote-11214189 -Node: Using Internal File Ops1214337 -Ref: Using Internal File Ops-Footnote-11216768 -Node: Extension Samples1217046 -Node: Extension Sample File Functions1218615 -Node: Extension Sample Fnmatch1226753 -Node: Extension Sample Fork1228348 -Node: Extension Sample Inplace1229624 -Node: Extension Sample Ord1233296 -Node: Extension Sample Readdir1234172 -Ref: table-readdir-file-types1235069 -Node: Extension Sample Revout1236207 -Node: Extension Sample Rev2way1236804 -Node: Extension Sample Read write array1237556 -Node: Extension Sample Readfile1240830 -Node: Extension Sample Time1241961 -Node: Extension Sample API Tests1244251 -Node: gawkextlib1244759 -Node: Extension summary1247795 -Node: Extension Exercises1251653 -Node: Language History1252931 -Node: V7/SVR3.11254645 -Node: SVR41256995 -Node: POSIX1258527 -Node: BTL1259952 -Node: POSIX/GNU1260721 -Node: Feature History1267252 -Node: Common Extensions1286370 -Node: Ranges and Locales1287739 -Ref: Ranges and Locales-Footnote-11292540 -Ref: Ranges and Locales-Footnote-21292567 -Ref: Ranges and Locales-Footnote-31292806 -Node: Contributors1293029 -Node: History summary1299234 -Node: Installation1300680 -Node: Gawk Distribution1301644 -Node: Getting1302136 -Node: Extracting1303135 -Node: Distribution contents1304847 -Node: Unix Installation1312927 -Node: Quick Installation1313749 -Node: Compiling with MPFR1316295 -Node: Shell Startup Files1317001 -Node: Additional Configuration Options1318158 -Node: Configuration Philosophy1320545 -Node: Compiling from Git1323047 -Node: Building the Documentation1323606 -Node: Non-Unix Installation1325018 -Node: PC Installation1325494 -Node: PC Binary Installation1326367 -Node: PC Compiling1327272 -Node: PC Using1328450 -Node: Cygwin1332178 -Node: MSYS1333434 -Node: OpenVMS Installation1334066 -Node: OpenVMS Compilation1334747 -Ref: OpenVMS Compilation-Footnote-11336230 -Node: OpenVMS Dynamic Extensions1336292 -Node: OpenVMS Installation Details1337928 -Node: OpenVMS Running1340363 -Node: OpenVMS GNV1344500 -Node: Bugs1345255 -Node: Bug definition1346179 -Node: Bug address1349830 -Node: Usenet1353421 -Node: Performance bugs1354652 -Node: Asking for help1357670 -Node: Maintainers1359661 -Node: Other Versions1360688 -Node: Installation summary1369620 -Node: Notes1371004 -Node: Compatibility Mode1371814 -Node: Additions1372636 -Node: Accessing The Source1373581 -Node: Adding Code1375116 -Node: New Ports1382252 -Node: Derived Files1386762 -Ref: Derived Files-Footnote-11392609 -Ref: Derived Files-Footnote-21392644 -Ref: Derived Files-Footnote-31393261 -Node: Future Extensions1393375 -Node: Implementation Limitations1394047 -Node: Extension Design1395289 -Node: Old Extension Problems1396453 -Ref: Old Extension Problems-Footnote-11398029 -Node: Extension New Mechanism Goals1398090 -Ref: Extension New Mechanism Goals-Footnote-11401586 -Node: Extension Other Design Decisions1401787 -Node: Extension Future Growth1403986 -Node: Notes summary1404610 -Node: Basic Concepts1405823 -Node: Basic High Level1406508 -Ref: figure-general-flow1406790 -Ref: figure-process-flow1407497 -Ref: Basic High Level-Footnote-11410898 -Node: Basic Data Typing1411087 -Node: Glossary1414505 -Node: Copying1447627 -Node: GNU Free Documentation License1485388 -Node: Index1510711 +Ref: Persistent Memory-Footnote-1941668 +Node: Extension Philosophy941799 +Node: Advanced Features Summary943334 +Node: Internationalization945604 +Node: I18N and L10N947310 +Node: Explaining gettext948005 +Ref: Explaining gettext-Footnote-1954158 +Ref: Explaining gettext-Footnote-2954353 +Node: Programmer i18n954518 +Ref: Programmer i18n-Footnote-1959631 +Node: Translator i18n959680 +Node: String Extraction960516 +Ref: String Extraction-Footnote-1961694 +Node: Printf Ordering961792 +Ref: Printf Ordering-Footnote-1964654 +Node: I18N Portability964722 +Ref: I18N Portability-Footnote-1967296 +Node: I18N Example967367 +Ref: I18N Example-Footnote-1970767 +Ref: I18N Example-Footnote-2970843 +Node: Gawk I18N970960 +Node: I18N Summary971616 +Node: Debugger973017 +Node: Debugging974041 +Node: Debugging Concepts974490 +Node: Debugging Terms976316 +Node: Awk Debugging978929 +Ref: Awk Debugging-Footnote-1979906 +Node: Sample Debugging Session980046 +Node: Debugger Invocation980598 +Node: Finding The Bug982227 +Node: List of Debugger Commands988913 +Node: Breakpoint Control990290 +Node: Debugger Execution Control994122 +Node: Viewing And Changing Data997602 +Node: Execution Stack1001340 +Node: Debugger Info1003021 +Node: Miscellaneous Debugger Commands1007320 +Node: Readline Support1012573 +Node: Limitations1013519 +Node: Debugging Summary1016163 +Node: Namespaces1017466 +Node: Global Namespace1018593 +Node: Qualified Names1020038 +Node: Default Namespace1021073 +Node: Changing The Namespace1021848 +Node: Naming Rules1023542 +Node: Internal Name Management1025457 +Node: Namespace Example1026527 +Node: Namespace And Features1029110 +Node: Namespace Summary1030567 +Node: Arbitrary Precision Arithmetic1032080 +Node: Computer Arithmetic1033599 +Ref: table-numeric-ranges1037416 +Ref: table-floating-point-ranges1037914 +Ref: Computer Arithmetic-Footnote-11038573 +Node: Math Definitions1038632 +Ref: table-ieee-formats1041677 +Node: MPFR features1042251 +Node: MPFR On Parole1042704 +Ref: MPFR On Parole-Footnote-11043548 +Node: MPFR Intro1043707 +Node: FP Math Caution1045397 +Ref: FP Math Caution-Footnote-11046471 +Node: Inexactness of computations1046848 +Node: Inexact representation1047879 +Node: Comparing FP Values1049262 +Node: Errors accumulate1050520 +Node: Strange values1051987 +Ref: Strange values-Footnote-11054653 +Node: Getting Accuracy1054758 +Node: Try To Round1057495 +Node: Setting precision1058402 +Ref: table-predefined-precision-strings1059107 +Node: Setting the rounding mode1060992 +Ref: table-gawk-rounding-modes1061374 +Ref: Setting the rounding mode-Footnote-11065432 +Node: Arbitrary Precision Integers1065615 +Ref: Arbitrary Precision Integers-Footnote-11068827 +Node: Checking for MPFR1068983 +Node: POSIX Floating Point Problems1070473 +Ref: POSIX Floating Point Problems-Footnote-11075337 +Node: Floating point summary1075375 +Node: Dynamic Extensions1077639 +Node: Extension Intro1079238 +Node: Plugin License1080546 +Node: Extension Mechanism Outline1081359 +Ref: figure-load-extension1081810 +Ref: figure-register-new-function1083395 +Ref: figure-call-new-function1084505 +Node: Extension API Description1086629 +Node: Extension API Functions Introduction1088358 +Ref: table-api-std-headers1090256 +Node: General Data Types1094720 +Ref: General Data Types-Footnote-11103888 +Node: Memory Allocation Functions1104203 +Ref: Memory Allocation Functions-Footnote-11108928 +Node: Constructor Functions1109027 +Node: API Ownership of MPFR and GMP Values1112932 +Node: Registration Functions1114493 +Node: Extension Functions1115197 +Node: Exit Callback Functions1120773 +Node: Extension Version String1122092 +Node: Input Parsers1122787 +Node: Output Wrappers1137431 +Node: Two-way processors1142279 +Node: Printing Messages1144640 +Ref: Printing Messages-Footnote-11145854 +Node: Updating ERRNO1146009 +Node: Requesting Values1146808 +Ref: table-value-types-returned1147561 +Node: Accessing Parameters1148670 +Node: Symbol Table Access1149954 +Node: Symbol table by name1150470 +Ref: Symbol table by name-Footnote-11153681 +Node: Symbol table by cookie1153813 +Ref: Symbol table by cookie-Footnote-11158094 +Node: Cached values1158158 +Ref: Cached values-Footnote-11161802 +Node: Array Manipulation1161959 +Ref: Array Manipulation-Footnote-11163062 +Node: Array Data Types1163099 +Ref: Array Data Types-Footnote-11165921 +Node: Array Functions1166021 +Node: Flattening Arrays1171050 +Node: Creating Arrays1178102 +Node: Redirection API1182952 +Node: Extension API Variables1185973 +Node: Extension Versioning1186698 +Ref: gawk-api-version1187135 +Node: Extension GMP/MPFR Versioning1188923 +Node: Extension API Informational Variables1190629 +Node: Extension API Boilerplate1191790 +Node: Changes from API V11195926 +Node: Finding Extensions1197560 +Node: Extension Example1198135 +Node: Internal File Description1198959 +Node: Internal File Ops1203283 +Ref: Internal File Ops-Footnote-11214841 +Node: Using Internal File Ops1214989 +Ref: Using Internal File Ops-Footnote-11217420 +Node: Extension Samples1217698 +Node: Extension Sample File Functions1219267 +Node: Extension Sample Fnmatch1227405 +Node: Extension Sample Fork1229000 +Node: Extension Sample Inplace1230276 +Node: Extension Sample Ord1233948 +Node: Extension Sample Readdir1234824 +Ref: table-readdir-file-types1235721 +Node: Extension Sample Revout1236859 +Node: Extension Sample Rev2way1237456 +Node: Extension Sample Read write array1238208 +Node: Extension Sample Readfile1241482 +Node: Extension Sample Time1242613 +Node: Extension Sample API Tests1244903 +Node: gawkextlib1245411 +Node: Extension summary1248447 +Node: Extension Exercises1252305 +Node: Language History1253583 +Node: V7/SVR3.11255297 +Node: SVR41257647 +Node: POSIX1259179 +Node: BTL1260604 +Node: POSIX/GNU1261373 +Node: Feature History1267904 +Node: Common Extensions1287022 +Node: Ranges and Locales1288391 +Ref: Ranges and Locales-Footnote-11293192 +Ref: Ranges and Locales-Footnote-21293219 +Ref: Ranges and Locales-Footnote-31293458 +Node: Contributors1293681 +Node: History summary1299886 +Node: Installation1301332 +Node: Gawk Distribution1302296 +Node: Getting1302788 +Node: Extracting1303787 +Node: Distribution contents1305499 +Node: Unix Installation1313579 +Node: Quick Installation1314401 +Node: Compiling with MPFR1316947 +Node: Shell Startup Files1317653 +Node: Additional Configuration Options1318810 +Node: Configuration Philosophy1321197 +Node: Compiling from Git1323699 +Node: Building the Documentation1324258 +Node: Non-Unix Installation1325670 +Node: PC Installation1326146 +Node: PC Binary Installation1327019 +Node: PC Compiling1327924 +Node: PC Using1329102 +Node: Cygwin1332830 +Node: MSYS1334086 +Node: OpenVMS Installation1334718 +Node: OpenVMS Compilation1335399 +Ref: OpenVMS Compilation-Footnote-11336882 +Node: OpenVMS Dynamic Extensions1336944 +Node: OpenVMS Installation Details1338580 +Node: OpenVMS Running1341015 +Node: OpenVMS GNV1345152 +Node: Bugs1345907 +Node: Bug definition1346831 +Node: Bug address1350482 +Node: Usenet1354073 +Node: Performance bugs1355304 +Node: Asking for help1358322 +Node: Maintainers1360313 +Node: Other Versions1361340 +Node: Installation summary1370272 +Node: Notes1371656 +Node: Compatibility Mode1372466 +Node: Additions1373288 +Node: Accessing The Source1374233 +Node: Adding Code1375768 +Node: New Ports1382904 +Node: Derived Files1387414 +Ref: Derived Files-Footnote-11393261 +Ref: Derived Files-Footnote-21393296 +Ref: Derived Files-Footnote-31393913 +Node: Future Extensions1394027 +Node: Implementation Limitations1394699 +Node: Extension Design1395941 +Node: Old Extension Problems1397105 +Ref: Old Extension Problems-Footnote-11398681 +Node: Extension New Mechanism Goals1398742 +Ref: Extension New Mechanism Goals-Footnote-11402238 +Node: Extension Other Design Decisions1402439 +Node: Extension Future Growth1404638 +Node: Notes summary1405262 +Node: Basic Concepts1406475 +Node: Basic High Level1407160 +Ref: figure-general-flow1407442 +Ref: figure-process-flow1408149 +Ref: Basic High Level-Footnote-11411550 +Node: Basic Data Typing1411739 +Node: Glossary1415157 +Node: Copying1448279 +Node: GNU Free Documentation License1486040 +Node: Index1511363  End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 8f8a0540..6e5fd251 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -59,7 +59,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH December, 2022 +@set UPDATE-MONTH April, 2023 @set VERSION 5.2 @set PATCHLEVEL 2 @@ -31097,8 +31097,8 @@ memory like so: @example $ @kbd{gawk --version} -@print{} GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) -@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation. +@print{} GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) +@print{} Copyright (C) 1989, 1991-2023 Free Software Foundation. @dots{} @end example @@ -31234,6 +31234,19 @@ If @command{gawk} is run by the @command{root} user, then persistent memory is not allowed. This is to avoid the possibility of private data ``leaking'' into the backing file and being recovered later by an attacker. + +@item +Over time, the backing file will be filled with memory ``leaked'' +by @command{gawk} as it runs. Most notably this is the memory used +to compile your program into an internal form before running it, +which happens each time, but there are other leakages as well. +(For an extreme example of this, see +@uref{https://lists.gnu.org/archive/html/bug-gawk/2023-04/msg00025.html, +this thread} in the @EMAIL{bug-gawk@@gnu-org, bug-gawk at gnu.org} +mailing list archives.) It is up to you to use @samp{du -sh +@var{pmafile}} occasionally to monitor how full the file is, and +arrange to dump any data you may need before the backing file becomes +full. @end itemize Terence Kelly has provided a separate @cite{@value{PMGAWKTITLE}} diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 23e8c956..fdb688dd 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -54,7 +54,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH December, 2022 +@set UPDATE-MONTH April, 2023 @set VERSION 5.2 @set PATCHLEVEL 2 @@ -30052,8 +30052,8 @@ memory like so: @example $ @kbd{gawk --version} -@print{} GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) -@print{} Copyright (C) 1989, 1991-2022 Free Software Foundation. +@print{} GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.1.0, GNU MP 6.2.1) +@print{} Copyright (C) 1989, 1991-2023 Free Software Foundation. @dots{} @end example @@ -30189,6 +30189,19 @@ If @command{gawk} is run by the @command{root} user, then persistent memory is not allowed. This is to avoid the possibility of private data ``leaking'' into the backing file and being recovered later by an attacker. + +@item +Over time, the backing file will be filled with memory ``leaked'' +by @command{gawk} as it runs. Most notably this is the memory used +to compile your program into an internal form before running it, +which happens each time, but there are other leakages as well. +(For an extreme example of this, see +@uref{https://lists.gnu.org/archive/html/bug-gawk/2023-04/msg00025.html, +this thread} in the @EMAIL{bug-gawk@@gnu-org, bug-gawk at gnu.org} +mailing list archives.) It is up to you to use @samp{du -sh +@var{pmafile}} occasionally to monitor how full the file is, and +arrange to dump any data you may need before the backing file becomes +full. @end itemize Terence Kelly has provided a separate @cite{@value{PMGAWKTITLE}} -- cgit v1.2.1