changeset 4953:7545290052bf

(Fforward_comment): On backward scan, exit inner loop after we reach beginning of a comment. Check the SYNTAX_COMMENT_STYLE of a one-character comment ender. (scan_lists): Check the SYNTAX_COMMENT_STYLE of a one-character comment ender.
author Richard M. Stallman <rms@gnu.org>
date Wed, 10 Nov 1993 19:45:50 +0000
parents 0c973730e476
children dc4d4f874b5c
files src/syntax.c
diffstat 1 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/syntax.c	Wed Nov 10 08:30:22 1993 +0000
+++ b/src/syntax.c	Wed Nov 10 19:45:50 1993 +0000
@@ -605,11 +605,11 @@
 	  if (from < stop && SYNTAX_COMSTART_FIRST (c)
 	      && SYNTAX_COMSTART_SECOND (FETCH_CHAR (from)))
 	    {
-	      /* we have encountered a comment start sequence and we 
-		 are ignoring all text inside comments. we must record
+	      /* We have encountered a comment start sequence and we 
+		 are ignoring all text inside comments.  We must record
 		 the comment style this sequence begins so that later,
 		 only a comment end of the same style actually ends
-		 the comment section */
+		 the comment section.  */
 	      code = Scomment;
 	      comstyle = SYNTAX_COMMENT_STYLE (FETCH_CHAR (from));
 	      from++;
@@ -670,13 +670,15 @@
 	  c = FETCH_CHAR (from);
 	  code = SYNTAX (c);
 	  comstyle = 0;
+	  if (code == Sendcomment)
+	    comstyle = SYNTAX_COMMENT_STYLE (c);
 	  if (from > stop && SYNTAX_COMEND_SECOND (c)
 	      && SYNTAX_COMEND_FIRST (FETCH_CHAR (from - 1))
 	      && !char_quoted (from - 1))
 	    {
-	      /* we must record the comment style encountered so that
+	      /* We must record the comment style encountered so that
 		 later, we can match only the proper comment begin
-		 sequence of the same style */
+		 sequence of the same style.  */
 	      code = Sendcomment;
 	      comstyle = SYNTAX_COMMENT_STYLE (FETCH_CHAR (from - 1));
 	      from--;
@@ -819,6 +821,8 @@
 		      from = comment_end;
 		  }
 	      }
+	      /* We have skipped one comment.  */
+	      break;
 	    }
 	  else if ((code != Swhitespace && code != Scomment) || quoted)
 	    {
@@ -1013,6 +1017,9 @@
 	    from--;
 	  c = FETCH_CHAR (from);
 	  code = SYNTAX (c);
+	  comstyle = 0;
+	  if (code == Sendcomment)
+	    comstyle = SYNTAX_COMMENT_STYLE (c);
 	  if (from > stop && SYNTAX_COMEND_SECOND (c)
 	      && SYNTAX_COMEND_FIRST (FETCH_CHAR (from - 1))
 	      && !char_quoted (from - 1)