diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2023-04-27 13:50:24 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2023-04-27 13:50:24 +0300 |
commit | d4eca8ab748b9ff38300f393fd7bf0ef5145e2ec (patch) | |
tree | 3353a157787bbac2d151e55655a29e1ec6ccdff1 | |
parent | e26e3eed5c17af799962e22d59b67aadec25387e (diff) | |
parent | 5580bd4357d9d498e495cacadef0837d1ec9b9fb (diff) | |
download | gawk-d4eca8ab748b9ff38300f393fd7bf0ef5145e2ec.tar.gz |
Merge branch 'gawk-5.2-stable'
-rw-r--r-- | doc/ChangeLog | 7 | ||||
-rw-r--r-- | doc/awkcard.in | 14 | ||||
-rw-r--r-- | doc/gawk.info | 493 | ||||
-rw-r--r-- | doc/gawk.texi | 19 | ||||
-rw-r--r-- | doc/gawktexi.in | 19 |
5 files changed, 298 insertions, 254 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 7cf1e681..2b250328 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2023-04-27 Arnold D. Robbins <arnold@skeeve.com> + + * 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 <arnold@skeeve.com> * Makefile.am, gawkinet.texi: Update copyright year. diff --git a/doc/awkcard.in b/doc/awkcard.in index 3b0cf3af..5f89bd51 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 @@ -1984,18 +1984,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; @@ -2010,13 +2010,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 056fc2cc..368f1ea9 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -22479,8 +22479,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. @@ -22575,6 +22575,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 <bug-gawk@gnu-org> 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. @@ -38221,7 +38232,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 21) @@ -40031,244 +40042,244 @@ Ref: Two-way I/O-Footnote-2929593 Node: TCP/IP Networking929675 Node: Profiling932855 Node: Persistent Memory942565 -Ref: Persistent Memory-Footnote-1951523 -Node: Extension Philosophy951654 -Node: Advanced Features Summary953189 -Node: Internationalization955459 -Node: I18N and L10N957165 -Node: Explaining gettext957860 -Ref: Explaining gettext-Footnote-1964013 -Ref: Explaining gettext-Footnote-2964208 -Node: Programmer i18n964373 -Ref: Programmer i18n-Footnote-1969486 -Node: Translator i18n969535 -Node: String Extraction970371 -Ref: String Extraction-Footnote-1971549 -Node: Printf Ordering971647 -Ref: Printf Ordering-Footnote-1974509 -Node: I18N Portability974577 -Ref: I18N Portability-Footnote-1977151 -Node: I18N Example977222 -Ref: I18N Example-Footnote-1980622 -Ref: I18N Example-Footnote-2980698 -Node: Gawk I18N980815 -Node: I18N Summary981471 -Node: Debugger982872 -Node: Debugging983896 -Node: Debugging Concepts984345 -Node: Debugging Terms986171 -Node: Awk Debugging988784 -Ref: Awk Debugging-Footnote-1989761 -Node: Sample Debugging Session989901 -Node: Debugger Invocation990453 -Node: Finding The Bug992082 -Node: List of Debugger Commands998768 -Node: Breakpoint Control1000145 -Node: Debugger Execution Control1003977 -Node: Viewing And Changing Data1007457 -Node: Execution Stack1011195 -Node: Debugger Info1012876 -Node: Miscellaneous Debugger Commands1017175 -Node: Readline Support1022428 -Node: Limitations1023374 -Node: Debugging Summary1026018 -Node: Namespaces1027321 -Node: Global Namespace1028448 -Node: Qualified Names1029893 -Node: Default Namespace1030928 -Node: Changing The Namespace1031703 -Node: Naming Rules1033397 -Node: Internal Name Management1035312 -Node: Namespace Example1036382 -Node: Namespace And Features1038965 -Node: Namespace Summary1040422 -Node: Arbitrary Precision Arithmetic1041935 -Node: Computer Arithmetic1043454 -Ref: table-numeric-ranges1047271 -Ref: table-floating-point-ranges1047769 -Ref: Computer Arithmetic-Footnote-11048428 -Node: Math Definitions1048487 -Ref: table-ieee-formats1051532 -Node: MPFR features1052106 -Node: MPFR On Parole1052559 -Ref: MPFR On Parole-Footnote-11053403 -Node: MPFR Intro1053562 -Node: FP Math Caution1055252 -Ref: FP Math Caution-Footnote-11056326 -Node: Inexactness of computations1056703 -Node: Inexact representation1057734 -Node: Comparing FP Values1059117 -Node: Errors accumulate1060375 -Node: Strange values1061842 -Ref: Strange values-Footnote-11064508 -Node: Getting Accuracy1064613 -Node: Try To Round1067350 -Node: Setting precision1068257 -Ref: table-predefined-precision-strings1068962 -Node: Setting the rounding mode1070847 -Ref: table-gawk-rounding-modes1071229 -Ref: Setting the rounding mode-Footnote-11075287 -Node: Arbitrary Precision Integers1075470 -Ref: Arbitrary Precision Integers-Footnote-11078682 -Node: Checking for MPFR1078838 -Node: POSIX Floating Point Problems1080328 -Ref: POSIX Floating Point Problems-Footnote-11085192 -Node: Floating point summary1085230 -Node: Dynamic Extensions1087494 -Node: Extension Intro1089093 -Node: Plugin License1090401 -Node: Extension Mechanism Outline1091214 -Ref: figure-load-extension1091665 -Ref: figure-register-new-function1093250 -Ref: figure-call-new-function1094360 -Node: Extension API Description1096484 -Node: Extension API Functions Introduction1098213 -Ref: table-api-std-headers1100111 -Node: General Data Types1104575 -Ref: General Data Types-Footnote-11113743 -Node: Memory Allocation Functions1114058 -Ref: Memory Allocation Functions-Footnote-11118783 -Node: Constructor Functions1118882 -Node: API Ownership of MPFR and GMP Values1122787 -Node: Registration Functions1124348 -Node: Extension Functions1125052 -Node: Exit Callback Functions1130628 -Node: Extension Version String1131947 -Node: Input Parsers1132642 -Node: Output Wrappers1147286 -Node: Two-way processors1152134 -Node: Printing Messages1154495 -Ref: Printing Messages-Footnote-11155709 -Node: Updating ERRNO1155864 -Node: Requesting Values1156663 -Ref: table-value-types-returned1157416 -Node: Accessing Parameters1158525 -Node: Symbol Table Access1159809 -Node: Symbol table by name1160325 -Ref: Symbol table by name-Footnote-11163536 -Node: Symbol table by cookie1163668 -Ref: Symbol table by cookie-Footnote-11167949 -Node: Cached values1168013 -Ref: Cached values-Footnote-11171657 -Node: Array Manipulation1171814 -Ref: Array Manipulation-Footnote-11172917 -Node: Array Data Types1172954 -Ref: Array Data Types-Footnote-11175776 -Node: Array Functions1175876 -Node: Flattening Arrays1180905 -Node: Creating Arrays1187957 -Node: Redirection API1192807 -Node: Extension API Variables1195828 -Node: Extension Versioning1196553 -Ref: gawk-api-version1196990 -Node: Extension GMP/MPFR Versioning1198778 -Node: Extension API Informational Variables1200484 -Node: Extension API Boilerplate1201645 -Node: Changes from API V11205781 -Node: Finding Extensions1207415 -Node: Extension Example1207990 -Node: Internal File Description1208814 -Node: Internal File Ops1213138 -Ref: Internal File Ops-Footnote-11224696 -Node: Using Internal File Ops1224844 -Ref: Using Internal File Ops-Footnote-11227275 -Node: Extension Samples1227553 -Node: Extension Sample File Functions1229122 -Node: Extension Sample Fnmatch1237260 -Node: Extension Sample Fork1238855 -Node: Extension Sample Inplace1240131 -Node: Extension Sample Ord1243803 -Node: Extension Sample Readdir1244679 -Ref: table-readdir-file-types1245576 -Node: Extension Sample Revout1246714 -Node: Extension Sample Rev2way1247311 -Node: Extension Sample Read write array1248063 -Node: Extension Sample Readfile1251337 -Node: Extension Sample Time1252468 -Node: Extension Sample API Tests1254758 -Node: gawkextlib1255266 -Node: Extension summary1258302 -Node: Extension Exercises1262160 -Node: Language History1263438 -Node: V7/SVR3.11265152 -Node: SVR41267502 -Node: POSIX1269034 -Node: BTL1270459 -Node: POSIX/GNU1271228 -Node: Feature History1277759 -Node: Common Extensions1297326 -Node: Ranges and Locales1298803 -Ref: Ranges and Locales-Footnote-11303604 -Ref: Ranges and Locales-Footnote-21303631 -Ref: Ranges and Locales-Footnote-31303870 -Node: Contributors1304093 -Node: History summary1310298 -Node: Installation1311744 -Node: Gawk Distribution1312708 -Node: Getting1313200 -Node: Extracting1314199 -Node: Distribution contents1315911 -Node: Unix Installation1323991 -Node: Quick Installation1324813 -Node: Compiling with MPFR1327359 -Node: Shell Startup Files1328065 -Node: Additional Configuration Options1329222 -Node: Configuration Philosophy1331609 -Node: Compiling from Git1334111 -Node: Building the Documentation1334670 -Node: Non-Unix Installation1336082 -Node: PC Installation1336558 -Node: PC Binary Installation1337431 -Node: PC Compiling1338336 -Node: PC Using1339514 -Node: Cygwin1343242 -Node: MSYS1344498 -Node: OpenVMS Installation1345130 -Node: OpenVMS Compilation1345811 -Ref: OpenVMS Compilation-Footnote-11347294 -Node: OpenVMS Dynamic Extensions1347356 -Node: OpenVMS Installation Details1348992 -Node: OpenVMS Running1351427 -Node: OpenVMS GNV1355564 -Node: Bugs1356319 -Node: Bug definition1357243 -Node: Bug address1360894 -Node: Usenet1364485 -Node: Performance bugs1365716 -Node: Asking for help1368734 -Node: Maintainers1370725 -Node: Other Versions1371752 -Node: Installation summary1380684 -Node: Notes1382068 -Node: Compatibility Mode1382878 -Node: Additions1383700 -Node: Accessing The Source1384645 -Node: Adding Code1386180 -Node: New Ports1393316 -Node: Derived Files1397826 -Ref: Derived Files-Footnote-11403673 -Ref: Derived Files-Footnote-21403708 -Ref: Derived Files-Footnote-31404325 -Node: Future Extensions1404439 -Node: Implementation Limitations1405111 -Node: Extension Design1406353 -Node: Old Extension Problems1407517 -Ref: Old Extension Problems-Footnote-11409093 -Node: Extension New Mechanism Goals1409154 -Ref: Extension New Mechanism Goals-Footnote-11412650 -Node: Extension Other Design Decisions1412851 -Node: Extension Future Growth1415050 -Node: Notes summary1415674 -Node: Basic Concepts1416887 -Node: Basic High Level1417572 -Ref: figure-general-flow1417854 -Ref: figure-process-flow1418561 -Ref: Basic High Level-Footnote-11421962 -Node: Basic Data Typing1422151 -Node: Glossary1425569 -Node: Copying1458691 -Node: GNU Free Documentation License1496452 -Node: Index1521775 +Ref: Persistent Memory-Footnote-1952175 +Node: Extension Philosophy952306 +Node: Advanced Features Summary953841 +Node: Internationalization956111 +Node: I18N and L10N957817 +Node: Explaining gettext958512 +Ref: Explaining gettext-Footnote-1964665 +Ref: Explaining gettext-Footnote-2964860 +Node: Programmer i18n965025 +Ref: Programmer i18n-Footnote-1970138 +Node: Translator i18n970187 +Node: String Extraction971023 +Ref: String Extraction-Footnote-1972201 +Node: Printf Ordering972299 +Ref: Printf Ordering-Footnote-1975161 +Node: I18N Portability975229 +Ref: I18N Portability-Footnote-1977803 +Node: I18N Example977874 +Ref: I18N Example-Footnote-1981274 +Ref: I18N Example-Footnote-2981350 +Node: Gawk I18N981467 +Node: I18N Summary982123 +Node: Debugger983524 +Node: Debugging984548 +Node: Debugging Concepts984997 +Node: Debugging Terms986823 +Node: Awk Debugging989436 +Ref: Awk Debugging-Footnote-1990413 +Node: Sample Debugging Session990553 +Node: Debugger Invocation991105 +Node: Finding The Bug992734 +Node: List of Debugger Commands999420 +Node: Breakpoint Control1000797 +Node: Debugger Execution Control1004629 +Node: Viewing And Changing Data1008109 +Node: Execution Stack1011847 +Node: Debugger Info1013528 +Node: Miscellaneous Debugger Commands1017827 +Node: Readline Support1023080 +Node: Limitations1024026 +Node: Debugging Summary1026670 +Node: Namespaces1027973 +Node: Global Namespace1029100 +Node: Qualified Names1030545 +Node: Default Namespace1031580 +Node: Changing The Namespace1032355 +Node: Naming Rules1034049 +Node: Internal Name Management1035964 +Node: Namespace Example1037034 +Node: Namespace And Features1039617 +Node: Namespace Summary1041074 +Node: Arbitrary Precision Arithmetic1042587 +Node: Computer Arithmetic1044106 +Ref: table-numeric-ranges1047923 +Ref: table-floating-point-ranges1048421 +Ref: Computer Arithmetic-Footnote-11049080 +Node: Math Definitions1049139 +Ref: table-ieee-formats1052184 +Node: MPFR features1052758 +Node: MPFR On Parole1053211 +Ref: MPFR On Parole-Footnote-11054055 +Node: MPFR Intro1054214 +Node: FP Math Caution1055904 +Ref: FP Math Caution-Footnote-11056978 +Node: Inexactness of computations1057355 +Node: Inexact representation1058386 +Node: Comparing FP Values1059769 +Node: Errors accumulate1061027 +Node: Strange values1062494 +Ref: Strange values-Footnote-11065160 +Node: Getting Accuracy1065265 +Node: Try To Round1068002 +Node: Setting precision1068909 +Ref: table-predefined-precision-strings1069614 +Node: Setting the rounding mode1071499 +Ref: table-gawk-rounding-modes1071881 +Ref: Setting the rounding mode-Footnote-11075939 +Node: Arbitrary Precision Integers1076122 +Ref: Arbitrary Precision Integers-Footnote-11079334 +Node: Checking for MPFR1079490 +Node: POSIX Floating Point Problems1080980 +Ref: POSIX Floating Point Problems-Footnote-11085844 +Node: Floating point summary1085882 +Node: Dynamic Extensions1088146 +Node: Extension Intro1089745 +Node: Plugin License1091053 +Node: Extension Mechanism Outline1091866 +Ref: figure-load-extension1092317 +Ref: figure-register-new-function1093902 +Ref: figure-call-new-function1095012 +Node: Extension API Description1097136 +Node: Extension API Functions Introduction1098865 +Ref: table-api-std-headers1100763 +Node: General Data Types1105227 +Ref: General Data Types-Footnote-11114395 +Node: Memory Allocation Functions1114710 +Ref: Memory Allocation Functions-Footnote-11119435 +Node: Constructor Functions1119534 +Node: API Ownership of MPFR and GMP Values1123439 +Node: Registration Functions1125000 +Node: Extension Functions1125704 +Node: Exit Callback Functions1131280 +Node: Extension Version String1132599 +Node: Input Parsers1133294 +Node: Output Wrappers1147938 +Node: Two-way processors1152786 +Node: Printing Messages1155147 +Ref: Printing Messages-Footnote-11156361 +Node: Updating ERRNO1156516 +Node: Requesting Values1157315 +Ref: table-value-types-returned1158068 +Node: Accessing Parameters1159177 +Node: Symbol Table Access1160461 +Node: Symbol table by name1160977 +Ref: Symbol table by name-Footnote-11164188 +Node: Symbol table by cookie1164320 +Ref: Symbol table by cookie-Footnote-11168601 +Node: Cached values1168665 +Ref: Cached values-Footnote-11172309 +Node: Array Manipulation1172466 +Ref: Array Manipulation-Footnote-11173569 +Node: Array Data Types1173606 +Ref: Array Data Types-Footnote-11176428 +Node: Array Functions1176528 +Node: Flattening Arrays1181557 +Node: Creating Arrays1188609 +Node: Redirection API1193459 +Node: Extension API Variables1196480 +Node: Extension Versioning1197205 +Ref: gawk-api-version1197642 +Node: Extension GMP/MPFR Versioning1199430 +Node: Extension API Informational Variables1201136 +Node: Extension API Boilerplate1202297 +Node: Changes from API V11206433 +Node: Finding Extensions1208067 +Node: Extension Example1208642 +Node: Internal File Description1209466 +Node: Internal File Ops1213790 +Ref: Internal File Ops-Footnote-11225348 +Node: Using Internal File Ops1225496 +Ref: Using Internal File Ops-Footnote-11227927 +Node: Extension Samples1228205 +Node: Extension Sample File Functions1229774 +Node: Extension Sample Fnmatch1237912 +Node: Extension Sample Fork1239507 +Node: Extension Sample Inplace1240783 +Node: Extension Sample Ord1244455 +Node: Extension Sample Readdir1245331 +Ref: table-readdir-file-types1246228 +Node: Extension Sample Revout1247366 +Node: Extension Sample Rev2way1247963 +Node: Extension Sample Read write array1248715 +Node: Extension Sample Readfile1251989 +Node: Extension Sample Time1253120 +Node: Extension Sample API Tests1255410 +Node: gawkextlib1255918 +Node: Extension summary1258954 +Node: Extension Exercises1262812 +Node: Language History1264090 +Node: V7/SVR3.11265804 +Node: SVR41268154 +Node: POSIX1269686 +Node: BTL1271111 +Node: POSIX/GNU1271880 +Node: Feature History1278411 +Node: Common Extensions1297978 +Node: Ranges and Locales1299455 +Ref: Ranges and Locales-Footnote-11304256 +Ref: Ranges and Locales-Footnote-21304283 +Ref: Ranges and Locales-Footnote-31304522 +Node: Contributors1304745 +Node: History summary1310950 +Node: Installation1312396 +Node: Gawk Distribution1313360 +Node: Getting1313852 +Node: Extracting1314851 +Node: Distribution contents1316563 +Node: Unix Installation1324643 +Node: Quick Installation1325465 +Node: Compiling with MPFR1328011 +Node: Shell Startup Files1328717 +Node: Additional Configuration Options1329874 +Node: Configuration Philosophy1332261 +Node: Compiling from Git1334763 +Node: Building the Documentation1335322 +Node: Non-Unix Installation1336734 +Node: PC Installation1337210 +Node: PC Binary Installation1338083 +Node: PC Compiling1338988 +Node: PC Using1340166 +Node: Cygwin1343894 +Node: MSYS1345150 +Node: OpenVMS Installation1345782 +Node: OpenVMS Compilation1346463 +Ref: OpenVMS Compilation-Footnote-11347946 +Node: OpenVMS Dynamic Extensions1348008 +Node: OpenVMS Installation Details1349644 +Node: OpenVMS Running1352079 +Node: OpenVMS GNV1356216 +Node: Bugs1356971 +Node: Bug definition1357895 +Node: Bug address1361546 +Node: Usenet1365137 +Node: Performance bugs1366368 +Node: Asking for help1369386 +Node: Maintainers1371377 +Node: Other Versions1372404 +Node: Installation summary1381336 +Node: Notes1382720 +Node: Compatibility Mode1383530 +Node: Additions1384352 +Node: Accessing The Source1385297 +Node: Adding Code1386832 +Node: New Ports1393968 +Node: Derived Files1398478 +Ref: Derived Files-Footnote-11404325 +Ref: Derived Files-Footnote-21404360 +Ref: Derived Files-Footnote-31404977 +Node: Future Extensions1405091 +Node: Implementation Limitations1405763 +Node: Extension Design1407005 +Node: Old Extension Problems1408169 +Ref: Old Extension Problems-Footnote-11409745 +Node: Extension New Mechanism Goals1409806 +Ref: Extension New Mechanism Goals-Footnote-11413302 +Node: Extension Other Design Decisions1413503 +Node: Extension Future Growth1415702 +Node: Notes summary1416326 +Node: Basic Concepts1417539 +Node: Basic High Level1418224 +Ref: figure-general-flow1418506 +Ref: figure-process-flow1419213 +Ref: Basic High Level-Footnote-11422614 +Node: Basic Data Typing1422803 +Node: Glossary1426221 +Node: Copying1459343 +Node: GNU Free Documentation License1497104 +Node: Index1522427 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 13ba6159..97fe5567 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 February, 2023 +@set UPDATE-MONTH April, 2023 @set VERSION 5.3 @set PATCHLEVEL 0 @@ -31432,8 +31432,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 @@ -31569,6 +31569,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 58861621..2802bccf 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 February, 2023 +@set UPDATE-MONTH April, 2023 @set VERSION 5.3 @set PATCHLEVEL 0 @@ -30351,8 +30351,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 @@ -30488,6 +30488,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}} |