summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Src/pattern.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f5fd981e6..386428cda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-11 Peter Stephenson <p.w.stephenson@ntlworld.com>
+
+ * 25845: Src/pattern.c, Test/D07multibyte.ztst: combination of
+ backslashed characters and metafied characters confused pattern
+ test for pure string.
+
2008-10-10 Peter Stephenson <p.w.stephenson@ntlworld.com>
* 25816: Marc Chantreux: Completion/Unix/Command/_ip:
diff --git a/Src/pattern.c b/Src/pattern.c
index 81e4bce8b..60f70023a 100644
--- a/Src/pattern.c
+++ b/Src/pattern.c
@@ -1446,7 +1446,13 @@ patcomppiece(int *flagp)
* Marker for restoring a backslash in output:
* does not match a character.
*/
- return patcomppiece(flagp);
+ next = patcomppiece(flagp);
+ /*
+ * Can't match a pure string since we need to do this
+ * as multiple chunks.
+ */
+ *flagp &= ~P_PURESTR;
+ return next;
break;
#ifdef DEBUG
default: