diff options
| author | Tom Tromey | 2013-01-16 11:48:32 -0700 |
|---|---|---|
| committer | Tom Tromey | 2013-01-16 11:48:32 -0700 |
| commit | 6f4de085f065e11f4df3195d47479f28f5ef08ba (patch) | |
| tree | 1211a00f1afc86c2b73624897993db02a4852943 /src/keymap.c | |
| parent | e078a23febca14bc919c5806670479c395e3253e (diff) | |
| parent | ffe04adc88e546c406f9b050238fb98a7243c7a0 (diff) | |
| download | emacs-6f4de085f065e11f4df3195d47479f28f5ef08ba.tar.gz emacs-6f4de085f065e11f4df3195d47479f28f5ef08ba.zip | |
merge from trunk
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/keymap.c b/src/keymap.c index d1ddd55a358..a9266120e86 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -565,15 +565,13 @@ map_keymap_char_table_item (Lisp_Object args, Lisp_Object key, Lisp_Object val) | |||
| 565 | { | 565 | { |
| 566 | if (!NILP (val)) | 566 | if (!NILP (val)) |
| 567 | { | 567 | { |
| 568 | map_keymap_function_t fun | 568 | map_keymap_function_t fun = XSAVE_POINTER (args, 0); |
| 569 | = (map_keymap_function_t) XSAVE_VALUE (XCAR (args))->pointer; | ||
| 570 | args = XCDR (args); | ||
| 571 | /* If the key is a range, make a copy since map_char_table modifies | 569 | /* If the key is a range, make a copy since map_char_table modifies |
| 572 | it in place. */ | 570 | it in place. */ |
| 573 | if (CONSP (key)) | 571 | if (CONSP (key)) |
| 574 | key = Fcons (XCAR (key), XCDR (key)); | 572 | key = Fcons (XCAR (key), XCDR (key)); |
| 575 | map_keymap_item (fun, XCDR (args), key, val, | 573 | map_keymap_item (fun, XSAVE_OBJECT (args, 2), key, |
| 576 | XSAVE_VALUE (XCAR (args))->pointer); | 574 | val, XSAVE_POINTER (args, 1)); |
| 577 | } | 575 | } |
| 578 | } | 576 | } |
| 579 | 577 | ||
| @@ -611,12 +609,8 @@ map_keymap_internal (Lisp_Object map, | |||
| 611 | } | 609 | } |
| 612 | } | 610 | } |
| 613 | else if (CHAR_TABLE_P (binding)) | 611 | else if (CHAR_TABLE_P (binding)) |
| 614 | { | 612 | map_char_table (map_keymap_char_table_item, Qnil, binding, |
| 615 | map_char_table (map_keymap_char_table_item, Qnil, binding, | 613 | format_save_value ("ppo", fun, data, args)); |
| 616 | Fcons (make_save_value ((void *) fun, 0), | ||
| 617 | Fcons (make_save_value (data, 0), | ||
| 618 | args))); | ||
| 619 | } | ||
| 620 | } | 614 | } |
| 621 | UNGCPRO; | 615 | UNGCPRO; |
| 622 | return tail; | 616 | return tail; |