2012-09-09 Eli Zaretskii * read.c (unescape_char): Fix a thinko in the last change. --- a/read.c +++ b/read.c @@ -2242,16 +2242,19 @@ unescape_char (char *string, int c) l = e - s; if (*e != c || l%2 == 0) - /* It's not; just take it all without unescaping. */ - memcpy (p, s, l); + { + /* It's not; just take it all without unescaping. */ + memcpy (p, s, l); + p += l; + } else if (l > 1) { /* It is, and there's >1 backslash. Take half of them. */ l /= 2; memcpy (p, s, l); + p += l; } s = e; - p += l; } *(p++) = *(s++);