Make more ranges sort properly in describe-keymap
* lisp/subr.el (keymap-canonicalize): Don't consider two-character ranges as a range (bug#11325).
This commit is contained in:
parent
1d1b664fbb
commit
dbf08491a5
2 changed files with 13 additions and 4 deletions
13
lisp/subr.el
13
lisp/subr.el
|
@ -1149,8 +1149,17 @@ Subkeymaps may be modified but are not canonicalized."
|
|||
(setq map (map-keymap ;; -internal
|
||||
(lambda (key item)
|
||||
(if (consp key)
|
||||
;; Treat char-ranges specially.
|
||||
(push (cons key item) ranges)
|
||||
(if (= (car key) (1- (cdr key)))
|
||||
;; If we have a two-character range, then
|
||||
;; treat it as two separate characters
|
||||
;; (because this makes `describe-bindings'
|
||||
;; look better and shouldn't affect
|
||||
;; anything else).
|
||||
(progn
|
||||
(push (cons (car key) item) bindings)
|
||||
(push (cons (cdr key) item) bindings))
|
||||
;; Treat char-ranges specially.
|
||||
(push (cons key item) ranges))
|
||||
(push (cons key item) bindings)))
|
||||
map)))
|
||||
;; Create the new map.
|
||||
|
|
|
@ -286,11 +286,11 @@ M-g M-c switch-to-completions
|
|||
"
|
||||
Key Binding
|
||||
-+
|
||||
( .. ) short-range
|
||||
1 .. 4 foo-range
|
||||
a .. c foo-other-range
|
||||
|
||||
C-e foo-something
|
||||
( .. ) short-range
|
||||
x foo-original
|
||||
<F1> foo-function-key1
|
||||
"))))
|
||||
|
@ -304,12 +304,12 @@ x foo-original
|
|||
"
|
||||
Key Binding
|
||||
-+
|
||||
( .. ) short-range
|
||||
1 .. 4 foo-range
|
||||
a .. c foo-other-range
|
||||
|
||||
C-e foo-something
|
||||
(this binding is currently shadowed)
|
||||
( .. ) short-range
|
||||
x foo-original
|
||||
(this binding is currently shadowed)
|
||||
<F1> foo-function-key1
|
||||
|
|
Loading…
Add table
Reference in a new issue