; * src/treesit.c (treesit_query_string_string): fix last change
Escape the backslash character itself.
This commit is contained in:
parent
30d5f1e62c
commit
c279369a7a
2 changed files with 6 additions and 4 deletions
|
@ -2312,7 +2312,8 @@ treesit_query_string_string (Lisp_Object str)
|
|||
for (ptrdiff_t i = 0; i < nbytes; i++)
|
||||
{
|
||||
unsigned char c = SREF (str, i);
|
||||
escapes += (c == '\0' || c == '\n' || c == '\r' || c == '\t' || c == '"');
|
||||
escapes += (c == '\0' || c == '\n' || c == '\r' || c == '\t'
|
||||
|| c == '"' || c == '\\');
|
||||
}
|
||||
ptrdiff_t nchars = SCHARS (str);
|
||||
ptrdiff_t extra = escapes + 2; /* backslashes + double quotes */
|
||||
|
@ -2331,7 +2332,8 @@ treesit_query_string_string (Lisp_Object str)
|
|||
case '\n': *d++ = '\\'; *d++ = 'n'; break;
|
||||
case '\r': *d++ = '\\'; *d++ = 'r'; break;
|
||||
case '\t': *d++ = '\\'; *d++ = 't'; break;
|
||||
case '"': *d++ = '\\'; *d++ = '"'; break;
|
||||
case '"':
|
||||
case '\\': *d++ = '\\'; *d++ = c; break;
|
||||
default: *d++ = c; break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -465,8 +465,8 @@ BODY is the test body."
|
|||
|
||||
;; Test string conversion in `treesit-pattern-expand'.
|
||||
(should (equal
|
||||
(treesit-pattern-expand "a\nb\rc\td\0e\"f\1g")
|
||||
"\"a\\nb\\rc\\td\\0e\\\"f\1g\"")))))
|
||||
(treesit-pattern-expand "a\nb\rc\td\0e\"f\1g\\h\fi")
|
||||
"\"a\\nb\\rc\\td\\0e\\\"f\1g\\\\h\fi\"")))))
|
||||
|
||||
;;; Narrow
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue