Mercurial > emacs
changeset 18079:5fbb5aef5649
(back_comment): Detect 2-char comment starts properly.
New arg COMSTYLE; callers changed.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 31 May 1997 18:16:22 +0000 |
parents | cd5f9bda791e |
children | 55e03c524041 |
files | src/syntax.c |
diffstat | 1 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/syntax.c Sat May 31 08:34:13 1997 +0000 +++ b/src/syntax.c Sat May 31 18:16:22 1997 +0000 @@ -341,8 +341,8 @@ the search was not successful). */ static int -back_comment (from, stop) - int from, stop; +back_comment (from, stop, comstyle) + int from, stop, comstyle; { /* Look back, counting the parity of string-quotes, and recording the comment-starters seen. @@ -361,7 +361,7 @@ int comstart_parity = 0; int scanstart = from - 1; register enum syntaxcode code; - int c, comstyle = 0; + int c; /* At beginning of range to scan, we're outside of strings; that determines quote parity to the comment-end. */ @@ -388,10 +388,16 @@ /* 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; + if (from < scanstart && SYNTAX_COMSTART_SECOND (c) + && SYNTAX_COMSTART_FIRST (FETCH_CHAR (from - 1)) + && comstyle == SYNTAX_COMMENT_STYLE (c)) + { + code = Scomment; + DEC_POS (from); + /* This is apparently the best we can do: */ + UPDATE_SYNTAX_TABLE_BACKWARD (from); + c = FETCH_CHAR (from); + } /* Ignore escaped characters. */ if (char_quoted (from)) @@ -1585,7 +1591,7 @@ break; } #endif /* 0 */ - found = back_comment (from, stop); + found = back_comment (from, stop, comstyle); if (found != -1) from = found; #if 0 /* Look back, counting the parity of string-quotes, @@ -2032,7 +2038,7 @@ break; } #endif /* 0 */ - found = back_comment (from, stop); + found = back_comment (from, stop, comstyle); if (found != -1) from = found; #if 0 /* Look back, counting the parity of string-quotes,