From 3d0d2d1a195072d7683b88757f63e8e953988cfb Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 9 Oct 2019 09:38:11 +0200 Subject: [PATCH] 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). --- lisp/dired-x.el | 13 ++++++++----- 1 file 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"] -- 2.39.5