Hi,
I was trying to using the binding for highlight-regexp and I got confused if the prefix was "C-x w r" or "M-s h r". I "grepping" (actually agging), I found that below are the ONLY bindings that begin with "C-x w .." and "M-s h .." (with the exact same number of bindings too).
Can we make the bindings consistent so that it doesn't matter is the user is using "C-x w" or "M-s h"?
km²~/downloads/:git/emacs/lisp> ag 'define.*C\-xw'
hi-lock.el
277: (define-key map "\C-xwi" 'hi-lock-find-patterns)
278: (define-key map "\C-xwl" 'highlight-lines-matching-regexp)
279: (define-key map "\C-xwp" 'highlight-phrase)
280: (define-key map "\C-xwh" 'highlight-regexp)
281: (define-key map "\C-xw." 'highlight-symbol-at-point)
282: (define-key map "\C-xwr" 'unhighlight-regexp)
283: (define-key map "\C-xwb" 'hi-lock-write-interactive-patterns)
km²~/downloads/:git/emacs/lisp> ag 'define.*search-map\s+"h'
bindings.el
935:(define-key search-map "hf" 'hi-lock-find-patterns)
932:(define-key search-map "hl" 'highlight-lines-matching-regexp)
931:(define-key search-map "hp" 'highlight-phrase)
930:(define-key search-map "hr" 'highlight-regexp)
933:(define-key search-map "h." 'highlight-symbol-at-point)
934:(define-key search-map "hu" 'unhighlight-regexp)
936:(define-key search-map "hw" 'hi-lock-write-interactive-patterns)
Some bindings are consistent but some are not. Here are the inconsistent ones:
hi-lock.el 277: (define-key map "\C-xwi" 'hi-lock-find-patterns)
bindings.el 935: (define-key search-map "hf" 'hi-lock-find-patterns)
hi-lock.el 282: (define-key map "\C-xwr" 'unhighlight-regexp)
bindings.el 934: (define-key search-map "hu" 'unhighlight-regexp)
hi-lock.el 280: (define-key map "\C-xwh" 'highlight-regexp)
bindings.el 930: (define-key search-map "hr" 'highlight-regexp)
hi-lock.el 283: (define-key map "\C-xwb" 'hi-lock-write-interactive-patterns)
bindings.el 936: (define-key search-map "hw" 'hi-lock-write-interactive-patterns)
*** Here are my suggested consistent bindings to fix the inconsistent ones: ***
- Currently "C-x w f" is undefined; "f" for find patterns
hi-lock.el 277: (define-key map "\C-xwf" 'hi-lock-find-patterns) ; changed
bindings.el 935: (define-key search-map "hf" 'hi-lock-find-patterns) ; no change
- Currently "C-x w u" is undefined; "u" for unhighlight
hi-lock.el 282: (define-key map "\C-xwu" 'unhighlight-regexp) ; changed
bindings.el 934: (define-key search-map "hu" 'unhighlight-regexp) ; no change
- "C-x w r" which was earlier bound to unhighlight-regexp should now be bound to highlight-regexp; "r" for regexp
hi-lock.el 280: (define-key map "\C-xwr" 'highlight-regexp) ; changed
bindings.el 930: (define-key search-map "hr" 'highlight-regexp) ; no change
- Currently "C-x w w" is undefined; "w" for write interactive patterns
hi-lock.el 283: (define-key map "\C-xww" 'hi-lock-write-interactive-patterns) ; changed
bindings.el 936: (define-key search-map "hw" 'hi-lock-write-interactive-patterns) ; no change
Well.. turns out only 4 bindings need to change in hi-lock.el to make these consistent.
|------------+-------------+---------------------+------------------------------------|
| search-map | hi-lock-map | last key in binding | function |
|------------+-------------+---------------------+------------------------------------|
| M-s h | C-x w | l | highlight-lines-matching-regexp |
| M-s h | C-x w | p | highlight-phrase |
| M-s h | C-x w | . | highlight-symbol-at-point |
|------------+-------------+---------------------+------------------------------------|
| M-s h | C-x w | f | hi-lock-find-patterns |
| M-s h | C-x w | u | unhighlight-regexp |
| M-s h | C-x w | r | highlight-regexp |
| M-s h | C-x w | w | hi-lock-write-interactive-patterns |
|------------+-------------+---------------------+------------------------------------|
--
Kaushal Modi