diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 150 | ||||
-rw-r--r-- | doc/gawk.texi | 2 | ||||
-rw-r--r-- | doc/gawktexi.in | 2 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | re.c | 12 | ||||
-rw-r--r-- | test/ChangeLog | 2 |
8 files changed, 107 insertions, 88 deletions
@@ -4,10 +4,23 @@ setting in effect. (init_mpfr, set_PREC): Save mpfr_set_default_prec argument in default_prec. - (do_mpfr_func): If the argument's precision exceeds the default precision, - boost the result's precision to match it. This fixes a bug where - we used to copy the argument's precision, regardless of whether it - was higher or lower than the PREC setting. + (do_mpfr_func): If the argument's precision exceeds the default + precision, boost the result's precision to match it. This fixes a + bug where we used to copy the argument's precision, regardless of + whether it was higher or lower than the PREC setting. + +2016-07-24 Norihiro Tanaka <noritnk@kcn.ne.jp> + + * re.c (research): Now that the dfa matcher correctly runs even + in multibyte locales, try it if even if need_start is true. + However, if start > 0, avoid dfa matcher, since it can't handle + the case where the search starts in the middle of a string. + + Unrelated: + + * eval.c (load_casetable): Reset casetable[i] to `i' if i + should not be mapped to upper case. Fixes inconsistencies between + dfa and regex in some single bytes locales; notably el_GR.iso88597. 2016-07-23 Andrew J. Schorr <aschorr@telemetry-investments.com> diff --git a/doc/ChangeLog b/doc/ChangeLog index 709992f8..d4a89a3b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2016-07-24 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Fix a typo. Thanks to Marco Curreli for reporting. + 2016-07-18 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Fix a typo. Thanks to Antonio Colombo for reporting. diff --git a/doc/gawk.info b/doc/gawk.info index f4759a08..872c3584 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -26230,7 +26230,7 @@ File: gawk.info, Node: Extension Exercises, Prev: Extension summary, Up: Dyna 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 + You can write the prompt to standard 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. @@ -35193,79 +35193,79 @@ Node: Extension Sample API Tests1052991 Node: gawkextlib1053483 Node: Extension summary1055907 Node: Extension Exercises1059599 -Node: Language History1061096 -Node: V7/SVR3.11062752 -Node: SVR41064904 -Node: POSIX1066338 -Node: BTL1067717 -Node: POSIX/GNU1068446 -Node: Feature History1073967 -Node: Common Extensions1087296 -Node: Ranges and Locales1088579 -Ref: Ranges and Locales-Footnote-11093195 -Ref: Ranges and Locales-Footnote-21093222 -Ref: Ranges and Locales-Footnote-31093457 -Node: Contributors1093678 -Node: History summary1099247 -Node: Installation1100627 -Node: Gawk Distribution1101571 -Node: Getting1102055 -Node: Extracting1103016 -Node: Distribution contents1104654 -Node: Unix Installation1110405 -Node: Quick Installation1111021 -Node: Additional Configuration Options1113448 -Node: Configuration Philosophy1115252 -Node: Non-Unix Installation1117621 -Node: PC Installation1118079 -Node: PC Binary Installation1119399 -Node: PC Compiling1121251 -Ref: PC Compiling-Footnote-11124275 -Node: PC Testing1124384 -Node: PC Using1125564 -Node: Cygwin1129678 -Node: MSYS1130448 -Node: VMS Installation1130949 -Node: VMS Compilation1131740 -Ref: VMS Compilation-Footnote-11132969 -Node: VMS Dynamic Extensions1133027 -Node: VMS Installation Details1134712 -Node: VMS Running1136965 -Node: VMS GNV1141244 -Node: VMS Old Gawk1141979 -Node: Bugs1142450 -Node: Other Versions1146647 -Node: Installation summary1153231 -Node: Notes1154289 -Node: Compatibility Mode1155154 -Node: Additions1155936 -Node: Accessing The Source1156861 -Node: Adding Code1158296 -Node: New Ports1164515 -Node: Derived Files1169003 -Ref: Derived Files-Footnote-11174488 -Ref: Derived Files-Footnote-21174523 -Ref: Derived Files-Footnote-31175121 -Node: Future Extensions1175235 -Node: Implementation Limitations1175893 -Node: Extension Design1177076 -Node: Old Extension Problems1178230 -Ref: Old Extension Problems-Footnote-11179748 -Node: Extension New Mechanism Goals1179805 -Ref: Extension New Mechanism Goals-Footnote-11183169 -Node: Extension Other Design Decisions1183358 -Node: Extension Future Growth1185471 -Node: Old Extension Mechanism1186307 -Node: Notes summary1188070 -Node: Basic Concepts1189252 -Node: Basic High Level1189933 -Ref: figure-general-flow1190215 -Ref: figure-process-flow1190900 -Ref: Basic High Level-Footnote-11194201 -Node: Basic Data Typing1194386 -Node: Glossary1197714 -Node: Copying1229660 -Node: GNU Free Documentation License1267199 -Node: Index1292317 +Node: Language History1061097 +Node: V7/SVR3.11062753 +Node: SVR41064905 +Node: POSIX1066339 +Node: BTL1067718 +Node: POSIX/GNU1068447 +Node: Feature History1073968 +Node: Common Extensions1087297 +Node: Ranges and Locales1088580 +Ref: Ranges and Locales-Footnote-11093196 +Ref: Ranges and Locales-Footnote-21093223 +Ref: Ranges and Locales-Footnote-31093458 +Node: Contributors1093679 +Node: History summary1099248 +Node: Installation1100628 +Node: Gawk Distribution1101572 +Node: Getting1102056 +Node: Extracting1103017 +Node: Distribution contents1104655 +Node: Unix Installation1110406 +Node: Quick Installation1111022 +Node: Additional Configuration Options1113449 +Node: Configuration Philosophy1115253 +Node: Non-Unix Installation1117622 +Node: PC Installation1118080 +Node: PC Binary Installation1119400 +Node: PC Compiling1121252 +Ref: PC Compiling-Footnote-11124276 +Node: PC Testing1124385 +Node: PC Using1125565 +Node: Cygwin1129679 +Node: MSYS1130449 +Node: VMS Installation1130950 +Node: VMS Compilation1131741 +Ref: VMS Compilation-Footnote-11132970 +Node: VMS Dynamic Extensions1133028 +Node: VMS Installation Details1134713 +Node: VMS Running1136966 +Node: VMS GNV1141245 +Node: VMS Old Gawk1141980 +Node: Bugs1142451 +Node: Other Versions1146648 +Node: Installation summary1153232 +Node: Notes1154290 +Node: Compatibility Mode1155155 +Node: Additions1155937 +Node: Accessing The Source1156862 +Node: Adding Code1158297 +Node: New Ports1164516 +Node: Derived Files1169004 +Ref: Derived Files-Footnote-11174489 +Ref: Derived Files-Footnote-21174524 +Ref: Derived Files-Footnote-31175122 +Node: Future Extensions1175236 +Node: Implementation Limitations1175894 +Node: Extension Design1177077 +Node: Old Extension Problems1178231 +Ref: Old Extension Problems-Footnote-11179749 +Node: Extension New Mechanism Goals1179806 +Ref: Extension New Mechanism Goals-Footnote-11183170 +Node: Extension Other Design Decisions1183359 +Node: Extension Future Growth1185472 +Node: Old Extension Mechanism1186308 +Node: Notes summary1188071 +Node: Basic Concepts1189253 +Node: Basic High Level1189934 +Ref: figure-general-flow1190216 +Ref: figure-process-flow1190901 +Ref: Basic High Level-Footnote-11194202 +Node: Basic Data Typing1194387 +Node: Glossary1197715 +Node: Copying1229661 +Node: GNU Free Documentation License1267200 +Node: Index1292318 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 42d103e5..41ac9964 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -35313,7 +35313,7 @@ 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 @command{awk}-level code. -You can write the prompt to stanard error. However, +You can write the prompt to standard error. However, for best results, open a new file descriptor (or file pointer) on @file{/dev/tty} and print the prompt there, in case standard error has been redirected. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 9714f1a4..8c40ab7f 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -34404,7 +34404,7 @@ 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 @command{awk}-level code. -You can write the prompt to stanard error. However, +You can write the prompt to standard error. However, for best results, open a new file descriptor (or file pointer) on @file{/dev/tty} and print the prompt there, in case standard error has been redirected. @@ -220,6 +220,8 @@ load_casetable(void) for (i = 0200; i <= 0377; i++) { if (isalpha(i) && islower(i) && i != toupper(i)) casetable[i] = toupper(i); + else + casetable[i] = i; } #endif #endif @@ -266,17 +266,17 @@ research(Regexp *rp, char *str, int start, rp->pat.not_bol = 1; /* - * Always do dfa search if can; if it fails, then even if - * need_start is true, we won't bother with the regex search. + * Always do dfa search if can; if it fails, we won't bother + * with the regex search. * * The dfa matcher doesn't have a no_bol flag, so don't bother * trying it in that case. * - * 7/2008: Skip the dfa matcher if need_start. The dfa matcher - * has bugs in certain multibyte cases and it's too difficult - * to try to special case things. + * 7/2016: The dfa matcher can't handle a case where searching + * starts in the middle of a string, so don't bother trying it + * in that case. */ - if (rp->dfa && ! no_bol && ! need_start) { + if (rp->dfa && ! no_bol && start == 0) { char save; size_t count = 0; struct dfa *superset = dfasuperset(rp->dfareg); diff --git a/test/ChangeLog b/test/ChangeLog index 8939b6f4..22a514b5 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,7 +1,7 @@ 2015-06-17 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (ofmtstrnum): New test. - * ofmtstrnu.awk, ofmtstrnum.ok: New files. + * ofmtstrnum.awk, ofmtstrnum.ok: New files. 2016-07-01 Arnold D. Robbins <arnold@skeeve.com> |