[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] speed commands: error message when a key is not associated w
From: |
Juan Manuel Macías |
Subject: |
Re: [PATCH] speed commands: error message when a key is not associated with a command |
Date: |
Sat, 30 Apr 2022 19:39:59 +0000 |
> Ihor Radchenko writes:
>
>> Note that speed commands are not only decided by
>> org-speed-command-activate. Any function in org-speed-command-hook can
>> trigger speed command. Throwing an error in org-speed-command-activate
>> can potentially shadow other functions in the hook.
This other, more general solution has also occurred to me, although I
don't know if it's too tricky :-). The idea is to define an
org-speed-command-strict-hook. Something like this (I haven't tested it
much), and probably have its drawbacks:
#+begin_src emacs-lisp
(defcustom org-speed-command-strict-hook
nil
"TODO"
:group 'org-structure
:version "24.1"
:type 'hook)
(defun org-speed-command-strict-function (_)
(pcase (run-hook-with-args-until-success 'org-speed-command-strict-hook _)
('nil (error "Command not defined: \"?\" for help"))
(symbol (run-hook-with-args-until-success 'org-speed-command-strict-hook
_))))
;; no strict speed commands (default values):
;; org-speed-command-strict-hook: nil
;; org-speed-command-hook: (org-speed-command-activate
org-babel-speed-command-activate)
;; when strict speed commands:
(setq org-speed-command-strict-hook '(org-speed-command-activate
org-babel-speed-command-activate))
(setq org-speed-command-hook '(org-speed-command-strict-function))
(defun my-org-toggle-speed-commands ()
(interactive)
(if org-use-speed-commands
(progn
(setq org-use-speed-commands-on org-use-speed-commands)
(setq org-use-speed-commands nil)
(message "speed commands off"))
(setq org-use-speed-commands org-use-speed-commands-on)
(message "speed commands on")))
#+end_src
Best regards,
Juan Manuel