emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode 80a19b8: Ano


From: João Távora
Subject: [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode 80a19b8: Another iteration for an improved electric-layout-mode
Date: Sat, 29 Dec 2018 13:35:06 -0500 (EST)

branch: scratch/fix-33794-extend-electric-layout-mode
commit 80a19b8b7a0f48eac410f66653d975c623d3c79c
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    Another iteration for an improved electric-layout-mode
    
    * lisp/electric.el (electric-layout-rules): Add nil back to
    symbols list.
    (electric-layout-post-self-insert-function-1): Call function in
    correct position.
---
 lisp/electric.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lisp/electric.el b/lisp/electric.el
index b52efb0..0484319 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -372,7 +372,8 @@ just inserted was CHAR.
 
 WHERE can be:
 
-* one of the symbols `before', `after', `around', `after-stay'.
+* one of the symbols `before', `after', `around', `after-stay',
+  or nil.
 
 * a list of the preceding symbols, processed in order of
   appearance to insert multiple newlines;
@@ -408,10 +409,14 @@ If multiple rules match, only first one is executed.")
                           (eq (car probe) last-command-event))
                      (throw 'done (cdr probe)))
                     ((functionp probe)
-                     (let ((res (funcall probe last-command-event)))
+                     (let ((res
+                            (save-excursion
+                              (goto-char
+                               (or pos (setq pos (electric--after-char-pos))))
+                              (funcall probe last-command-event))))
                        (when res (throw 'done res)))))))))
     (when (and rule
-               (setq pos (electric--after-char-pos))
+               (or pos (setq pos (electric--after-char-pos)))
                ;; Not in a string or comment.
                (not (nth 8 (save-excursion (syntax-ppss pos)))))
       (goto-char pos)



reply via email to

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