comparison src/keymap.c @ 1441:929409595312

* 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. * 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.
author Jim Blandy <jimb@redhat.com>
date Mon, 19 Oct 1992 18:41:06 +0000
parents 02226bff1476
children 72b7bbcaf7d8
comparison
equal deleted inserted replaced
1440:8c27b145955a 1441:929409595312
353 Lisp_Object elt = XCONS (tail)->car; 353 Lisp_Object elt = XCONS (tail)->car;
354 354
355 switch (XTYPE (elt)) 355 switch (XTYPE (elt))
356 { 356 {
357 case Lisp_Vector: 357 case Lisp_Vector:
358 if (XVECTOR (elt)->size != DENSE_TABLE_SIZE)
359 break;
358 if (XTYPE (idx) == Lisp_Int) 360 if (XTYPE (idx) == Lisp_Int)
359 { 361 {
360 XVECTOR (elt)->contents[XFASTINT (idx)] = def; 362 XVECTOR (elt)->contents[XFASTINT (idx)] = def;
361 return def; 363 return def;
362 } 364 }
378 should be inserted before it. */ 380 should be inserted before it. */
379 if (EQ (elt, Qkeymap)) 381 if (EQ (elt, Qkeymap))
380 goto keymap_end; 382 goto keymap_end;
381 break; 383 break;
382 } 384 }
385
386 QUIT;
383 } 387 }
384 388
385 keymap_end: 389 keymap_end:
386 /* We have scanned the entire keymap, and not found a binding for 390 /* We have scanned the entire keymap, and not found a binding for
387 IDX. Let's add one. */ 391 IDX. Let's add one. */