]> code.delx.au - gnu-emacs/blobdiff - src/syntax.c
(get_keyelt): Handle an indirect entry with meta char.
[gnu-emacs] / src / syntax.c
index 9ead7e64346dcdf6dc6d73d02b931f99cf0ad240..27cbffd2853f2205622052be8a8ee7d3fe71706f 100644 (file)
@@ -933,12 +933,13 @@ describe_syntax_1 (vector)
 {
   struct buffer *old = current_buffer;
   set_buffer_internal (XBUFFER (Vstandard_output));
-  describe_vector (vector, Qnil, describe_syntax, 0, Qnil, Qnil);
+  describe_vector (vector, Qnil, describe_syntax, 0, Qnil, Qnil, (int *) 0, 0);
   while (! NILP (XCHAR_TABLE (vector)->parent))
     {
       vector = XCHAR_TABLE (vector)->parent;
       insert_string ("\nThe parent syntax table is:");
-      describe_vector (vector, Qnil, describe_syntax, 0, Qnil, Qnil);
+      describe_vector (vector, Qnil, describe_syntax, 0, Qnil, Qnil,
+                      (int *) 0, 0);
     }
        
   call0 (intern ("help-mode"));
@@ -1285,21 +1286,25 @@ skip_chars (forwardp, syntaxp, string, lim)
                  {
                    int savepos = pos;
                    DEC_POS (pos);
+                   UPDATE_SYNTAX_TABLE_BACKWARD (pos);
                    if (!fastmap[(int) SYNTAX (FETCH_CHAR (pos))])
                      {
                        pos = savepos;
                        break;
                      }
-                   UPDATE_SYNTAX_TABLE_BACKWARD (pos - 1);
                  }
              }
            else
              {
-               while (pos > XINT (lim)
-                      && fastmap[(int) SYNTAX (FETCH_BYTE (pos - 1))])
+               while (pos > XINT (lim))
                  {
                    pos--;
-                   UPDATE_SYNTAX_TABLE_BACKWARD (pos - 1);
+                   UPDATE_SYNTAX_TABLE_BACKWARD (pos);
+                   if (!fastmap[(int) SYNTAX (FETCH_BYTE (pos))])
+                     {
+                       pos++;
+                       break;
+                     }
                  }
              }
          }