summaryrefslogtreecommitdiff
path: root/lisp/dired-x.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-10-09 09:38:11 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-10-09 09:38:11 +0200
commit3d0d2d1a195072d7683b88757f63e8e953988cfb (patch)
treeb81342b8683c3785702c38b5b6f3fad5f11226c8 /lisp/dired-x.el
parenta6dfd9145f487ffa5e26adb1257f5e485d3ab3e7 (diff)
downloademacs-3d0d2d1a195072d7683b88757f63e8e953988cfb.tar.gz
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).
Diffstat (limited to 'lisp/dired-x.el')
-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."
:group 'dired-x)
;;; KEY BINDINGS.
+(when (keymapp (lookup-key dired-mode-map "*"))
+ (define-key dired-mode-map "*(" 'dired-mark-sexp)
+ (define-key dired-mode-map "*O" 'dired-mark-omitted)
+ (define-key dired-mode-map "*." 'dired-mark-extension))
+
+(when (keymapp (lookup-key dired-mode-map "%"))
+ (define-key dired-mode-map "%Y" 'dired-do-relsymlink-regexp))
(define-key dired-mode-map "\C-x\M-o" 'dired-omit-mode)
-(define-key dired-mode-map "*O" 'dired-mark-omitted)
(define-key dired-mode-map "\M-(" 'dired-mark-sexp)
-(define-key dired-mode-map "*(" 'dired-mark-sexp)
-(define-key dired-mode-map "*." 'dired-mark-extension)
(define-key dired-mode-map "\M-!" 'dired-smart-shell-command)
(define-key dired-mode-map "\M-G" 'dired-goto-subdir)
(define-key dired-mode-map "F" 'dired-do-find-marked-files)
(define-key dired-mode-map "Y" 'dired-do-relsymlink)
-(define-key dired-mode-map "%Y" 'dired-do-relsymlink-regexp)
(define-key dired-mode-map "V" 'dired-do-run-mail)
;;; MENU BINDINGS
(require 'easymenu)
-(let ((menu (lookup-key dired-mode-map [menu-bar])))
+(when-let ((menu (lookup-key dired-mode-map [menu-bar])))
(easy-menu-add-item menu '("Operate")
["Find Files" dired-do-find-marked-files
:help "Find current or marked files"]