aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info150
-rw-r--r--doc/gawk.texi2
-rw-r--r--doc/gawktexi.in2
-rw-r--r--eval.c2
-rw-r--r--re.c12
-rw-r--r--test/ChangeLog2
8 files changed, 107 insertions, 88 deletions
diff --git a/ChangeLog b/ChangeLog
index 28836da2..4e7c4cd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/eval.c b/eval.c
index 48049ae3..36dab2fb 100644
--- a/eval.c
+++ b/eval.c
@@ -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
diff --git a/re.c b/re.c
index 0a156ffc..5049bca6 100644
--- a/re.c
+++ b/re.c
@@ -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>