branch: scratch/hyperbole commit 53e96c9acb74fc8514e0aeaa214aea973943dd5e Author: Stefan Monnier <monn...@iro.umontreal.ca> Commit: Stefan Monnier <monn...@iro.umontreal.ca>
(kotl-mode:pre-self-insert-command): Use buffer-locally at top-level * kotl/kotl-mode.el (kotl-mode): Don't impose our `pre-command-hook` on all buffers. (kotl-mode:pre-self-insert-command): Remove now-redundant test that we're in a Kotl buffer. Remove also `hyperb:stack-frame` test which seems to have been added while debugging a problem around May 2021. --- kotl/kotl-mode.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el index eb3982c1a2..7cc6d5006c 100644 --- a/kotl/kotl-mode.el +++ b/kotl/kotl-mode.el @@ -109,7 +109,7 @@ It provides the following keys: ;; ;; Prevent insertion of characters outside of editable bounds, ;; e.g. after the mouse sets point to a non-editable position - (add-hook 'pre-command-hook #'kotl-mode:pre-self-insert-command) + (add-hook 'pre-command-hook #'kotl-mode:pre-self-insert-command nil t) ;; ;; Ensure that outline structure data is saved when save-buffer is called ;; from save-some-buffers, {C-x s}. @@ -3291,10 +3291,14 @@ newlines at end of tree." Mouse may have moved point outside of an editable area. `kotl-mode' adds this function to `pre-command-hook'." (when (and (memq this-command '(self-insert-command orgtbl-self-insert-command)) - (eq major-mode 'kotl-mode) (not (kview:valid-position-p)) ;; Prevent repeatedly moving point to valid position when moving trees - (not (hyperb:stack-frame '(kcell-view:to-label-end)))) + ;; FIXME: This may have been useful in some older version of + ;; the code but now that it runs from a `pre-command-hook', + ;; `kcell-view:to-label-end' can never be in the call + ;; stack (except of course during debugging and such). + ;;(not (hyperb:stack-frame '(kcell-view:to-label-end))) + ) (when (not (kview:valid-position-p)) (kotl-mode:to-valid-position))))