* keymap.c (store_in_keymap): Don't forget to QUIT in the
authorJim Blandy <jimb@redhat.com>
Mon, 19 Oct 1992 18:41:06 +0000 (18:41 +0000)
committerJim Blandy <jimb@redhat.com>
Mon, 19 Oct 1992 18:41:06 +0000 (18:41 +0000)
keymap-scanning loop.  Don't treat vectors as binding tables if
they're the wrong length.

* keymap.c (store_in_keymap): Don't forget to QUIT in the
keymap-scanning loop.  Don't treat vectors as binding tables if
they're the wrong length.

src/keymap.c

index b2ca9e1..a4105ae 100644 (file)
@@ -355,6 +355,8 @@ store_in_keymap (keymap, idx, def)
        switch (XTYPE (elt))
          {
          case Lisp_Vector:
+           if (XVECTOR (elt)->size != DENSE_TABLE_SIZE)
+             break;
            if (XTYPE (idx) == Lisp_Int)
              {
                XVECTOR (elt)->contents[XFASTINT (idx)] = def;
@@ -380,6 +382,8 @@ store_in_keymap (keymap, idx, def)
              goto keymap_end;
            break;
          }
+
+       QUIT;
       }
 
   keymap_end: