Mercurial > emacs
changeset 8045:18c2ad4ddc83
(scan_lists, Fforward_comment): When moving backward over
a comment, ignore a comment-starter that overlaps the comment-ender.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 24 Jun 1994 21:52:16 +0000 |
parents | 6cc76dc79853 |
children | 4fca34ed47e4 |
files | src/syntax.c |
diffstat | 1 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/syntax.c Fri Jun 24 18:50:03 1994 +0000 +++ b/src/syntax.c Fri Jun 24 21:52:16 1994 +0000 @@ -746,6 +746,7 @@ int comment_end = from; int comstart_pos = 0; int comstart_parity = 0; + int scanstart = from - 1; /* At beginning of range to scan, we're outside of strings; that determines quote parity to the comment-end. */ @@ -764,15 +765,15 @@ { code = Sendcomment; from--; + c = FETCH_CHAR (from); } - else if (from > stop && SYNTAX_COMSTART_SECOND (c) - && SYNTAX_COMSTART_FIRST (FETCH_CHAR (from - 1)) - && comstyle == SYNTAX_COMMENT_STYLE (c)) - { - code = Scomment; - from--; - } + /* If this char starts a 2-char comment start sequence, + treat it like a 1-char comment starter. */ + if (from < scanstart && SYNTAX_COMSTART_FIRST (c) + && SYNTAX_COMSTART_SECOND (FETCH_CHAR (from + 1)) + && comstyle == SYNTAX_COMMENT_STYLE (FETCH_CHAR (from + 1))) + code = Scomment; /* Ignore escaped characters. */ if (char_quoted (from)) @@ -1150,6 +1151,7 @@ int comment_end = from; int comstart_pos = 0; int comstart_parity = 0; + int scanstart = from - 1; /* At beginning of range to scan, we're outside of strings; that determines quote parity to the comment-end. */ @@ -1168,15 +1170,15 @@ { code = Sendcomment; from--; + c = FETCH_CHAR (from); } - else if (from > stop && SYNTAX_COMSTART_SECOND (c) - && SYNTAX_COMSTART_FIRST (FETCH_CHAR (from - 1)) - && comstyle == SYNTAX_COMMENT_STYLE (c)) - { - code = Scomment; - from--; - } + /* If this char starts a 2-char comment start sequence, + treat it like a 1-char comment starter. */ + if (from < scanstart && SYNTAX_COMSTART_FIRST (c) + && SYNTAX_COMSTART_SECOND (FETCH_CHAR (from + 1)) + && comstyle == SYNTAX_COMMENT_STYLE (FETCH_CHAR (from + 1))) + code = Scomment; /* Ignore escaped characters. */ if (char_quoted (from))