emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/gle-mode 4b850659cd: (gle-smie--disambiguate-if): Avoid


From: Stefan Monnier
Subject: [elpa] externals/gle-mode 4b850659cd: (gle-smie--disambiguate-if): Avoid error in `forward-char` et EOB
Date: Tue, 8 Nov 2022 14:54:00 -0500 (EST)

branch: externals/gle-mode
commit 4b850659cd23694a5fd80ef7d1b26da27bebd246
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    (gle-smie--disambiguate-if): Avoid error in `forward-char` et EOB
---
 gle-mode.el | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/gle-mode.el b/gle-mode.el
index 1838432f16..c736323281 100644
--- a/gle-mode.el
+++ b/gle-mode.el
@@ -145,18 +145,15 @@
   "Expects point to be right after `if`."
   (save-excursion
     (let ((eol (line-end-position))
-          (lasttok nil)
-          (tok nil))
-      (while (<= (point) eol)
-        (setq lasttok tok)
-        (forward-comment (point-max))
-        (setq tok (buffer-substring (point)
-                                    (progn
-                                      (or (> (skip-syntax-forward "w_") 0)
-                                          (> (skip-syntax-forward ".") 0)
-                                          (forward-char 1))
-                                      (point)))))
-      (if (equal lasttok "then")
+          (then nil))
+      (while (progn
+               (forward-comment (point-max))
+               (and (< (point) eol)
+                    (not (setq then (looking-at "then\\_>")))))
+        (or (> (skip-syntax-forward "w_") 0)
+            (> (skip-syntax-forward ".") 0)
+            (forward-char 1)))
+      (if then
           "if bloc"
         "if line"))))
 



reply via email to

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