diff options
| author | Stefan Monnier | 2008-03-25 19:42:34 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-03-25 19:42:34 +0000 |
| commit | a10cca6c90b3366f3000b06ce1fa226277da0ea4 (patch) | |
| tree | eb4a9bd5afea8697a16a2eeaf15333639687fbc0 | |
| parent | d7b10f4c2efd05dfeb9526686cb76e1df70527bb (diff) | |
| download | emacs-a10cca6c90b3366f3000b06ce1fa226277da0ea4.tar.gz emacs-a10cca6c90b3366f3000b06ce1fa226277da0ea4.zip | |
* subr.el (map-keymap-sorted): Rename from map-keymap-internal.
Remove `sort-first' argument.
* keymap.c (Fmap_keymap): Use `map-keymap-sorted.
| -rw-r--r-- | lisp/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/subr.el | 32 | ||||
| -rw-r--r-- | src/ChangeLog | 2 | ||||
| -rw-r--r-- | src/keymap.c | 2 |
4 files changed, 21 insertions, 18 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b052448c6ab..8ffa1c9d92c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * subr.el (map-keymap-sorted): Rename from map-keymap-internal. | ||
| 4 | Remove `sort-first' argument. | ||
| 5 | |||
| 3 | * subr.el (redisplay-end-trigger-functions) | 6 | * subr.el (redisplay-end-trigger-functions) |
| 4 | (window-redisplay-end-trigger, set-window-redisplay-end-trigger) | 7 | (window-redisplay-end-trigger, set-window-redisplay-end-trigger) |
| 5 | (process-filter-multibyte-p, set-process-filter-multibyte): | 8 | (process-filter-multibyte-p, set-process-filter-multibyte): |
diff --git a/lisp/subr.el b/lisp/subr.el index 1a6f2a9dc74..b23ca358060 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -532,25 +532,23 @@ The order of bindings in a keymap matters when it is used as a menu." | |||
| 532 | (setq inserted t))) | 532 | (setq inserted t))) |
| 533 | (setq tail (cdr tail))))) | 533 | (setq tail (cdr tail))))) |
| 534 | 534 | ||
| 535 | (defun map-keymap-internal (function keymap &optional sort-first) | 535 | (defun map-keymap-sorted (function keymap) |
| 536 | "Implement `map-keymap' with sorting. | 536 | "Implement `map-keymap' with sorting. |
| 537 | Don't call this function; it is for internal use only." | 537 | Don't call this function; it is for internal use only." |
| 538 | (if sort-first | 538 | (let (list) |
| 539 | (let (list) | 539 | (map-keymap (lambda (a b) (push (cons a b) list)) |
| 540 | (map-keymap (lambda (a b) (push (cons a b) list)) | 540 | keymap) |
| 541 | keymap) | 541 | (setq list (sort list |
| 542 | (setq list (sort list | 542 | (lambda (a b) |
| 543 | (lambda (a b) | 543 | (setq a (car a) b (car b)) |
| 544 | (setq a (car a) b (car b)) | 544 | (if (integerp a) |
| 545 | (if (integerp a) | 545 | (if (integerp b) (< a b) |
| 546 | (if (integerp b) (< a b) | 546 | t) |
| 547 | t) | 547 | (if (integerp b) t |
| 548 | (if (integerp b) t | 548 | ;; string< also accepts symbols. |
| 549 | ;; string< also accepts symbols. | 549 | (string< a b)))))) |
| 550 | (string< a b)))))) | 550 | (dolist (p list) |
| 551 | (dolist (p list) | 551 | (funcall function (car p) (cdr p))))) |
| 552 | (funcall function (car p) (cdr p)))) | ||
| 553 | (map-keymap function keymap))) | ||
| 554 | 552 | ||
| 555 | (put 'keyboard-translate-table 'char-table-extra-slots 0) | 553 | (put 'keyboard-translate-table 'char-table-extra-slots 0) |
| 556 | 554 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 6ebc93e66d8..15cbb094d6a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * keymap.c (Fmap_keymap): Use `map-keymap-sorted. | ||
| 4 | |||
| 3 | * frame.c (Fmodify_frame_parameters, x_set_frame_parameters): | 5 | * frame.c (Fmodify_frame_parameters, x_set_frame_parameters): |
| 4 | Use XCAR/XCDR. | 6 | Use XCAR/XCDR. |
| 5 | 7 | ||
diff --git a/src/keymap.c b/src/keymap.c index e91df88aaff..310b46b23bf 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -735,7 +735,7 @@ usage: (map-keymap FUNCTION KEYMAP) */) | |||
| 735 | significance. */ | 735 | significance. */ |
| 736 | xsignal1 (Qinvalid_function, function); | 736 | xsignal1 (Qinvalid_function, function); |
| 737 | if (! NILP (sort_first)) | 737 | if (! NILP (sort_first)) |
| 738 | return call3 (intern ("map-keymap-internal"), function, keymap, Qt); | 738 | return call2 (intern ("map-keymap-sorted"), function, keymap); |
| 739 | 739 | ||
| 740 | map_keymap (keymap, map_keymap_call, function, NULL, 1); | 740 | map_keymap (keymap, map_keymap_call, function, NULL, 1); |
| 741 | return Qnil; | 741 | return Qnil; |