]> git.eshelyaron.com Git - emacs.git/commitdiff
(scan_sexps_forward):
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 20 Jun 2000 22:49:34 +0000 (22:49 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 20 Jun 2000 22:49:34 +0000 (22:49 +0000)
Check the comstyle of single-char comment-starters.
Clarify control-flow around the Scomment case.

src/ChangeLog
src/syntax.c

index d2fb087ce16ca68f1eafa8bcd22f1f51619b45cb..0947598060b61e87b309be4931e50b799c575de5 100644 (file)
@@ -5,11 +5,13 @@
        Check the comstyle of single-char comment-starters.
        (scan_sexps_forward): Don't try to recognize `half comment-enders' if
        we're just at the beginning of the comment (f.ex with (*) ... (*)).
+       Check the comstyle of single-char comment-starters.
+       Clarify control-flow around the Scomment case.
 
 2000-06-20  Dave Love  <fx@gnu.org>
 
-       * fns.c (make_hash_table, maybe_resize_hash_table): Cast arg of
-       next_almost_prime.
+       * fns.c (make_hash_table, maybe_resize_hash_table):
+       Cast arg of next_almost_prime.
 
        * tparam.c [emacs]: Include lisp.h. 
 
@@ -60,8 +62,7 @@
 
        * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
 
-       * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare
-       HAVE_GETWD.
+       * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
 
        * m/alpha.h: Don't declare xmalloc, xrealloc.
 
index eedec27d549b2bbb47da9d6083a8dd2b6cce1698..656d567b1a5deb41fc2ea3b34677e59d771d23b8 100644 (file)
@@ -2567,6 +2567,7 @@ do { prev_from = from;                            \
 
       if (code == Scomment)
        {
+         state.comstyle = SYNTAX_FLAGS_COMMENT_STYLE (prev_from_syntax);
          state.incomment = (SYNTAX_FLAGS_COMMENT_NESTED (prev_from_syntax) ?
                             1 : -1);
          state.comstr_start = prev_from;
@@ -2642,22 +2643,13 @@ do { prev_from = from;                          \
          curlevel->prev = curlevel->last;
          break;
 
-       startincomment:
-         if (commentstop == 1)
-           goto done;
-         goto commentloop;
-
        case Scomment:
-         if (! state.incomment)
-           abort ();
          if (commentstop || boundary_stop) goto done;
-       commentloop:
-         /* The (from == BEGV) test is to enter the loop in the middle so
+       startincomment:
+         /* The (from == BEGV) test was to enter the loop in the middle so
             that we find a 2-char comment ender even if we start in the
             middle of it.  We don't want to do that if we're just at the
-            beginning of the comment (think of (*) ... (*)).
-            Actually, the current code still doesn't handle such cases right
-            when the comment style allows nesting.  */
+            beginning of the comment (think of (*) ... (*)).  */
          found = forw_comment (from, from_byte, end,
                                state.incomment, state.comstyle,
                                (from == BEGV || from < state.comstr_start + 3)
@@ -2668,7 +2660,7 @@ do { prev_from = from;                            \
             Luckily, the `done' doesn't use them and the INC_FROM
             sets them to a sane value without looking at them. */
          if (!found) goto done;
-         INC_FROM; 
+         INC_FROM;
          state.incomment = 0;
          state.comstyle = 0;   /* reset the comment style */
          if (boundary_stop) goto done;