diff options
| author | Joakim Verona | 2013-01-16 00:03:29 +0100 |
|---|---|---|
| committer | Joakim Verona | 2013-01-16 00:03:29 +0100 |
| commit | 29901a24475c9dd0e7e7bc73adb0fabf7d0a7ddd (patch) | |
| tree | acbf658794aeff0bae865da7fc1e88733cb2b397 /src/keymap.c | |
| parent | bc4f7ac4ec3ee942171b9fef6eec6b1a61cc5b8b (diff) | |
| parent | 963ea40fe96634a01b24aef4fc39acf9a4236eb7 (diff) | |
| download | emacs-29901a24475c9dd0e7e7bc73adb0fabf7d0a7ddd.tar.gz emacs-29901a24475c9dd0e7e7bc73adb0fabf7d0a7ddd.zip | |
auto upstream
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/keymap.c b/src/keymap.c index 82c9e980221..a9266120e86 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -565,14 +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 = XSAVE_POINTER (XCAR (args)); | 568 | map_keymap_function_t fun = XSAVE_POINTER (args, 0); |
| 569 | args = XCDR (args); | ||
| 570 | /* 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 |
| 571 | it in place. */ | 570 | it in place. */ |
| 572 | if (CONSP (key)) | 571 | if (CONSP (key)) |
| 573 | key = Fcons (XCAR (key), XCDR (key)); | 572 | key = Fcons (XCAR (key), XCDR (key)); |
| 574 | map_keymap_item (fun, XCDR (args), key, val, | 573 | map_keymap_item (fun, XSAVE_OBJECT (args, 2), key, |
| 575 | XSAVE_POINTER (XCAR (args))); | 574 | val, XSAVE_POINTER (args, 1)); |
| 576 | } | 575 | } |
| 577 | } | 576 | } |
| 578 | 577 | ||
| @@ -610,12 +609,8 @@ map_keymap_internal (Lisp_Object map, | |||
| 610 | } | 609 | } |
| 611 | } | 610 | } |
| 612 | else if (CHAR_TABLE_P (binding)) | 611 | else if (CHAR_TABLE_P (binding)) |
| 613 | { | 612 | map_char_table (map_keymap_char_table_item, Qnil, binding, |
| 614 | map_char_table (map_keymap_char_table_item, Qnil, binding, | 613 | format_save_value ("ppo", fun, data, args)); |
| 615 | Fcons (make_save_value ((void *) fun, 0), | ||
| 616 | Fcons (make_save_value (data, 0), | ||
| 617 | args))); | ||
| 618 | } | ||
| 619 | } | 614 | } |
| 620 | UNGCPRO; | 615 | UNGCPRO; |
| 621 | return tail; | 616 | return tail; |