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))))
 

Reply via email to