Handle escaped comment enders correctly in syntax.c, fixing bug #43558
This fixes forward-comment, scan-lists, and parse-partial-sexp. * src/syntax.c (forw_comment): Detect and skip an escaped comment ender (e.g. \*/ in C) when comment-end-can-be-escaped is non-nil.
This commit is contained in:
parent
80b0a69b60
commit
e4831151c2
1 changed files with 7 additions and 0 deletions
|
@ -2354,6 +2354,13 @@ forw_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
|
|||
/* We have encountered a nested comment of the same style
|
||||
as the comment sequence which began this comment section. */
|
||||
nesting++;
|
||||
if (comment_end_can_be_escaped
|
||||
&& (code == Sescape || code == Scharquote))
|
||||
{
|
||||
inc_both (&from, &from_byte);
|
||||
UPDATE_SYNTAX_TABLE_FORWARD (from);
|
||||
if (from == stop) continue; /* Failure */
|
||||
}
|
||||
inc_both (&from, &from_byte);
|
||||
UPDATE_SYNTAX_TABLE_FORWARD (from);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue