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

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

[nongnu] elpa/sweeprolog 8f0e4a644d 164/166: FIXED: error on interactive


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog 8f0e4a644d 164/166: FIXED: error on interactively removing variable highlighting
Date: Fri, 30 Sep 2022 04:59:36 -0400 (EDT)

branch: elpa/sweeprolog
commit 8f0e4a644df61aa0d3154775e3f82a048f772d8b
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    FIXED: error on interactively removing variable highlighting
---
 sweeprolog.el | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index 6782626c17..77dffd94ab 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -2143,18 +2143,20 @@ Interactively, POINT is set to the current point."
                    (cons car (line-beginning-position))))
                (cdr sol)))))
 
-(defun sweeprolog-highlight-variable (var)
-  "Highlight occurences of the variable VAR in the current clause.
+(defun sweeprolog-highlight-variable (point &optional var)
+  "Highlight occurences of the variable VAR in the clause at POINT.
 
 If VAR is nil, clear variable highlighting in the current clause
 instead.
 
-Interactively, if a prefix argument is specificed, clear variable
-highlighting in the current clause.  Otherwise prompt for VAR,
-defaulting to the variable at point, if any."
-  (interactive (unless current-prefix-arg
-                 (let ((v (symbol-at-point)))
-                   (list (read-string "Highlight variable: "
+Interactively, operate on the clause at point.  If a prefix
+argument is specificed, clear variable highlighting in the
+current clause.  Otherwise prompt for VAR, defaulting to the
+variable at point, if any."
+  (interactive (list (point)
+                     (unless current-prefix-arg
+                       (let ((v (symbol-at-point)))
+                         (read-string "Highlight variable: "
                                       nil nil
                                       (and v
                                            (save-match-data
@@ -2165,14 +2167,14 @@ defaulting to the variable at point, if any."
                                            (symbol-name v))))))
                sweeprolog-mode sweeprolog-top-level-mode)
   (let ((sweeprolog--variable-at-point var))
-    (font-lock-fontify-region (point) (point))))
+    (font-lock-fontify-region point point)))
 
 (defun sweeprolog-cursor-sensor-functions (var)
   (list
    (lambda (_win old dir)
      (if (eq dir 'entered)
-         (sweeprolog-highlight-variable var)
-       (sweeprolog-highlight-variable nil)))))
+         (sweeprolog-highlight-variable (point) var)
+       (sweeprolog-highlight-variable old)))))
 
 (defvar-local sweeprolog--timer nil)
 (defvar-local sweeprolog--colourise-buffer-duration 0.2)



reply via email to

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