aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--eval.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ddf4469a..5418b28b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,12 @@
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>
* builtin.c (do_print): Improve logic for formatting
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