aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2019-10-09 09:38:11 +0200
committerLars Ingebrigtsen2019-10-09 09:38:11 +0200
commit3d0d2d1a195072d7683b88757f63e8e953988cfb (patch)
treeb81342b8683c3785702c38b5b6f3fad5f11226c8
parenta6dfd9145f487ffa5e26adb1257f5e485d3ab3e7 (diff)
downloademacs-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.el13
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"]