From: Lars Ingebrigtsen Date: Wed, 9 Oct 2019 07:38:11 +0000 (+0200) Subject: Add some sanity checks to dired-x.el key bindings X-Git-Tag: emacs-27.0.90~1198 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3d0d2d1a195072d7683b88757f63e8e953988cfb;p=emacs.git 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). --- 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"]