emacs-orgmode
[Top][All Lists]
Advanced

[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 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]