Mercurial > emacs
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. */ |