* src/syntax.c (back_comment): Detect the case where a 1-char comment
starter is also the 2nd char of a 2-char comment ender.
This commit is contained in:
parent
c9805d2356
commit
fbb3da770f
2 changed files with 12 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* syntax.c (back_comment): Detect the case where a 1-char comment
|
||||
starter is also the 2nd char of a 2-char comment ender.
|
||||
|
||||
2010-09-17 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
|
||||
|
|
11
src/syntax.c
11
src/syntax.c
|
@ -512,6 +512,7 @@ back_comment (from, from_byte, stop, comnested, comstyle, charpos_ptr, bytepos_p
|
|||
{
|
||||
int temp_byte, prev_syntax;
|
||||
int com2start, com2end;
|
||||
int comstart;
|
||||
|
||||
/* Move back and examine a character. */
|
||||
DEC_BOTH (from, from_byte);
|
||||
|
@ -530,7 +531,8 @@ back_comment (from, from_byte, stop, comnested, comstyle, charpos_ptr, bytepos_p
|
|||
|| SYNTAX_FLAGS_COMMENT_NESTED (syntax)) == comnested);
|
||||
com2end = (SYNTAX_FLAGS_COMEND_FIRST (syntax)
|
||||
&& SYNTAX_FLAGS_COMEND_SECOND (prev_syntax));
|
||||
|
||||
comstart = (com2start || code == Scomment);
|
||||
|
||||
/* Nasty cases with overlapping 2-char comment markers:
|
||||
- snmp-mode: -- c -- foo -- c --
|
||||
--- c --
|
||||
|
@ -541,15 +543,16 @@ back_comment (from, from_byte, stop, comnested, comstyle, charpos_ptr, bytepos_p
|
|||
/// */
|
||||
|
||||
/* If a 2-char comment sequence partly overlaps with another,
|
||||
we don't try to be clever. */
|
||||
if (from > stop && (com2end || com2start))
|
||||
we don't try to be clever. E.g. |*| in C, or }% in modes that
|
||||
have %..\n and %{..}%. */
|
||||
if (from > stop && (com2end || comstart))
|
||||
{
|
||||
int next = from, next_byte = from_byte, next_c, next_syntax;
|
||||
DEC_BOTH (next, next_byte);
|
||||
UPDATE_SYNTAX_TABLE_BACKWARD (next);
|
||||
next_c = FETCH_CHAR_AS_MULTIBYTE (next_byte);
|
||||
next_syntax = SYNTAX_WITH_FLAGS (next_c);
|
||||
if (((com2start || comnested)
|
||||
if (((comstart || comnested)
|
||||
&& SYNTAX_FLAGS_COMEND_SECOND (syntax)
|
||||
&& SYNTAX_FLAGS_COMEND_FIRST (next_syntax))
|
||||
|| ((com2end || comnested)
|
||||
|
|
Loading…
Add table
Reference in a new issue