From 1c333c28979e2329a10c063e32b826216efb94a0 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Tue, 31 Aug 2021 00:30:51 -0500 Subject: Allow all forms in `safe-define' --- lisp/acdw-compat.el | 69 ++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/lisp/acdw-compat.el b/lisp/acdw-compat.el index 1d45806..04e42ae 100644 --- a/lisp/acdw-compat.el +++ b/lisp/acdw-compat.el @@ -42,11 +42,11 @@ Is it necessary? Who knows!!" defvar-local defvar-mode-local defvaralias)) - #'boundp) - (t (error "Don't know how to deal with %S" - (car form)))))) - (push `(unless (,test ',(cadr form)) - ,form) + #'boundp)))) + (push (if test + `(unless (,test ',(cadr form)) + ,form) + form) output))) `(progn ,@(nreverse output)))) @@ -426,6 +426,7 @@ When Repeat mode is enabled, and the command symbol has the property named (define-key map "u" 'undo) map) "Keymap to repeat undo key sequences `C-x u u'. Used in `repeat-mode'.") + (put 'undo 'repeat-map 'undo-repeat-map) (defvar next-error-repeat-map (let ((map (make-sparse-keymap))) @@ -435,13 +436,17 @@ When Repeat mode is enabled, and the command symbol has the property named (define-key map "\M-p" 'previous-error) map) "Keymap to repeat next-error key sequences. Used in `repeat-mode'.") + (put 'next-error 'repeat-map 'next-error-repeat-map) + (put 'previous-error 'repeat-map 'next-error-repeat-map) (defvar page-navigation-repeat-map (let ((map (make-sparse-keymap))) (define-key map "]" #'forward-page) (define-key map "[" #'backward-page) map) - "Keymap to repeat page navigation key sequences. Used in `repeat-mode'.") + "Keymap to repeat page navigation key sequences. Used in `repeat-mode'.") + (put 'forward-page 'repeat-map 'page-navigation-repeat-map) + (put 'backward-page 'repeat-map 'page-navigation-repeat-map) (defvar tab-bar-switch-repeat-map (let ((map (make-sparse-keymap))) @@ -450,6 +455,8 @@ When Repeat mode is enabled, and the command symbol has the property named map) "Keymap to repeat tab switch key sequences `C-x t o o O'. Used in `repeat-mode'.") + (put 'tab-next 'repeat-map 'tab-bar-switch-repeat-map) + (put 'tab-previous 'repeat-map 'tab-bar-switch-repeat-map) (defvar tab-bar-move-repeat-map (let ((map (make-sparse-keymap))) @@ -461,6 +468,7 @@ Used in `repeat-mode'.") map) "Keymap to repeat tab move key sequences `C-x t m m M'. Used in `repeat-mode'.") + (put 'tab-move 'repeat-map 'tab-bar-move-repeat-map) (defvar other-window-repeat-map (let ((map (make-sparse-keymap))) @@ -471,6 +479,7 @@ Used in `repeat-mode'.") (other-window -1))) map) "Keymap to repeat other-window key sequences. Used in `repeat-mode'.") + (put 'other-window 'repeat-map 'other-window-repeat-map) (defvar resize-window-repeat-map (let ((map (make-sparse-keymap))) @@ -482,6 +491,10 @@ Used in `repeat-mode'.") (define-key map "v" 'shrink-window) map) "Keymap to repeat window resizing commands. Used in `repeat-mode'.") + (put 'enlarge-window 'repeat-map 'resize-window-repeat-map) + (put 'enlarge-window-horizontally 'repeat-map 'resize-window-repeat-map) + (put 'shrink-window-horizontally 'repeat-map 'resize-window-repeat-map) + (put 'shrink-window 'repeat-map 'resize-window-repeat-map) (defvar outline-navigation-repeat-map (let ((map (make-sparse-keymap))) @@ -507,35 +520,21 @@ Used in `repeat-mode'.") (define-key map (kbd ">") #'outline-demote) (define-key map (kbd "C-<") #'outline-promote) (define-key map (kbd "<") #'outline-promote) - map))) - -(with-eval-after-load 'outline - (dolist (command '(outline-backward-same-level - outline-forward-same-level - outline-next-visible-heading - outline-previous-visible-heading - outline-up-heading)) - (put command 'repeat-map 'outline-navigation-repeat-map)) - - (dolist (command '(outline-move-subtree-down - outline-move-subtree-up - outline-demote - outline-promote)) - (put command 'repeat-map 'outline-editing-repeat-map))) - -(put 'undo 'repeat-map 'undo-repeat-map) -(put 'next-error 'repeat-map 'next-error-repeat-map) -(put 'previous-error 'repeat-map 'next-error-repeat-map) -(put 'forward-page 'repeat-map 'page-navigation-repeat-map) -(put 'backward-page 'repeat-map 'page-navigation-repeat-map) -(put 'tab-next 'repeat-map 'tab-bar-switch-repeat-map) -(put 'tab-previous 'repeat-map 'tab-bar-switch-repeat-map) -(put 'tab-move 'repeat-map 'tab-bar-move-repeat-map) -(put 'other-window 'repeat-map 'other-window-repeat-map) -(put 'enlarge-window 'repeat-map 'resize-window-repeat-map) -(put 'enlarge-window-horizontally 'repeat-map 'resize-window-repeat-map) -(put 'shrink-window-horizontally 'repeat-map 'resize-window-repeat-map) -(put 'shrink-window 'repeat-map 'resize-window-repeat-map) + map)) + + (with-eval-after-load 'outline + (dolist (command '(outline-backward-same-level + outline-forward-same-level + outline-next-visible-heading + outline-previous-visible-heading + outline-up-heading)) + (put command 'repeat-map 'outline-navigation-repeat-map)) + + (dolist (command '(outline-move-subtree-down + outline-move-subtree-up + outline-demote + outline-promote)) + (put command 'repeat-map 'outline-editing-repeat-map)))) ;;; goto-address-mode -- cgit 1.4.1-21-gabe81