mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 15:00:45 -08:00
(scan_lists): Simplify backward string scan.
Fix off-by-one boundary check for string and comment fences.
This commit is contained in:
parent
cb9d4a9f65
commit
d0abdf7e83
1 changed files with 5 additions and 11 deletions
16
src/syntax.c
16
src/syntax.c
|
|
@ -2398,8 +2398,8 @@ scan_lists (from, count, depth, sexpflag)
|
|||
case Sstring_fence:
|
||||
while (1)
|
||||
{
|
||||
DEC_BOTH (from, from_byte);
|
||||
if (from == stop) goto lose;
|
||||
DEC_BOTH (from, from_byte);
|
||||
UPDATE_SYNTAX_TABLE_BACKWARD (from);
|
||||
if (!char_quoted (from, from_byte)
|
||||
&& (c = FETCH_CHAR (from_byte),
|
||||
|
|
@ -2414,19 +2414,13 @@ scan_lists (from, count, depth, sexpflag)
|
|||
while (1)
|
||||
{
|
||||
if (from == stop) goto lose;
|
||||
temp_pos = from_byte;
|
||||
if (! NILP (current_buffer->enable_multibyte_characters))
|
||||
DEC_POS (temp_pos);
|
||||
else
|
||||
temp_pos--;
|
||||
UPDATE_SYNTAX_TABLE_BACKWARD (from - 1);
|
||||
if (!char_quoted (from - 1, temp_pos)
|
||||
&& stringterm == (c = FETCH_CHAR (temp_pos))
|
||||
DEC_BOTH (from, from_byte);
|
||||
UPDATE_SYNTAX_TABLE_BACKWARD (from);
|
||||
if (!char_quoted (from, from_byte)
|
||||
&& stringterm == (c = FETCH_CHAR (from_byte))
|
||||
&& SYNTAX_WITH_MULTIBYTE_CHECK (c) == Sstring)
|
||||
break;
|
||||
DEC_BOTH (from, from_byte);
|
||||
}
|
||||
DEC_BOTH (from, from_byte);
|
||||
if (!depth && sexpflag) goto done2;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue