diff options
| author | Lars Ingebrigtsen | 2019-10-09 09:38:11 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2019-10-09 09:38:11 +0200 |
| commit | 3d0d2d1a195072d7683b88757f63e8e953988cfb (patch) | |
| tree | b81342b8683c3785702c38b5b6f3fad5f11226c8 | |
| parent | a6dfd9145f487ffa5e26adb1257f5e485d3ab3e7 (diff) | |
| download | emacs-3d0d2d1a195072d7683b88757f63e8e953988cfb.tar.gz emacs-3d0d2d1a195072d7683b88757f63e8e953988cfb.zip | |
Add some sanity checks to dired-x.el key bindings
* lisp/dired-x.el: Ensure that prefix keys haven't be rebound to
commands before adding keystrokes (bug#25190).
| -rw-r--r-- | lisp/dired-x.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 63eb028717d..2a12fe09127 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el | |||
| @@ -230,24 +230,27 @@ to nil: a pipe using `zcat' or `gunzip -c' will be used." | |||
| 230 | :group 'dired-x) | 230 | :group 'dired-x) |
| 231 | 231 | ||
| 232 | ;;; KEY BINDINGS. | 232 | ;;; KEY BINDINGS. |
| 233 | (when (keymapp (lookup-key dired-mode-map "*")) | ||
| 234 | (define-key dired-mode-map "*(" 'dired-mark-sexp) | ||
| 235 | (define-key dired-mode-map "*O" 'dired-mark-omitted) | ||
| 236 | (define-key dired-mode-map "*." 'dired-mark-extension)) | ||
| 237 | |||
| 238 | (when (keymapp (lookup-key dired-mode-map "%")) | ||
| 239 | (define-key dired-mode-map "%Y" 'dired-do-relsymlink-regexp)) | ||
| 233 | 240 | ||
| 234 | (define-key dired-mode-map "\C-x\M-o" 'dired-omit-mode) | 241 | (define-key dired-mode-map "\C-x\M-o" 'dired-omit-mode) |
| 235 | (define-key dired-mode-map "*O" 'dired-mark-omitted) | ||
| 236 | (define-key dired-mode-map "\M-(" 'dired-mark-sexp) | 242 | (define-key dired-mode-map "\M-(" 'dired-mark-sexp) |
| 237 | (define-key dired-mode-map "*(" 'dired-mark-sexp) | ||
| 238 | (define-key dired-mode-map "*." 'dired-mark-extension) | ||
| 239 | (define-key dired-mode-map "\M-!" 'dired-smart-shell-command) | 243 | (define-key dired-mode-map "\M-!" 'dired-smart-shell-command) |
| 240 | (define-key dired-mode-map "\M-G" 'dired-goto-subdir) | 244 | (define-key dired-mode-map "\M-G" 'dired-goto-subdir) |
| 241 | (define-key dired-mode-map "F" 'dired-do-find-marked-files) | 245 | (define-key dired-mode-map "F" 'dired-do-find-marked-files) |
| 242 | (define-key dired-mode-map "Y" 'dired-do-relsymlink) | 246 | (define-key dired-mode-map "Y" 'dired-do-relsymlink) |
| 243 | (define-key dired-mode-map "%Y" 'dired-do-relsymlink-regexp) | ||
| 244 | (define-key dired-mode-map "V" 'dired-do-run-mail) | 247 | (define-key dired-mode-map "V" 'dired-do-run-mail) |
| 245 | 248 | ||
| 246 | ;;; MENU BINDINGS | 249 | ;;; MENU BINDINGS |
| 247 | 250 | ||
| 248 | (require 'easymenu) | 251 | (require 'easymenu) |
| 249 | 252 | ||
| 250 | (let ((menu (lookup-key dired-mode-map [menu-bar]))) | 253 | (when-let ((menu (lookup-key dired-mode-map [menu-bar]))) |
| 251 | (easy-menu-add-item menu '("Operate") | 254 | (easy-menu-add-item menu '("Operate") |
| 252 | ["Find Files" dired-do-find-marked-files | 255 | ["Find Files" dired-do-find-marked-files |
| 253 | :help "Find current or marked files"] | 256 | :help "Find current or marked files"] |