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

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

[nongnu] elpa/sweeprolog 0f1ad2e1f5 3/5: * sweeprolog.el (sweeprolog-ide


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog 0f1ad2e1f5 3/5: * sweeprolog.el (sweeprolog-identifier-at-point): check major-mode
Date: Sat, 19 Nov 2022 11:59:31 -0500 (EST)

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

    * sweeprolog.el (sweeprolog-identifier-at-point): check major-mode
---
 sweeprolog.el | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index 36523e56c6..f98e947417 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -862,21 +862,22 @@ module name, F is a functor name and N is its arity."
     (user-error "Unable to locate predicate %s" mfn)))
 
 (defun sweeprolog-identifier-at-point (&optional point)
-  (setq point (or point (point)))
-  (save-excursion
-    (goto-char point)
-    (let ((id-at-point nil))
-      (sweeprolog-analyze-term-at-point
-       (lambda (beg end arg)
-         (when (<= beg point end)
-           (pcase arg
-             ((or `("head_term" ,_ ,f ,a)
-                  `("goal_term" ,_ ,f ,a)
-                  `("head" ,_ ,f ,a)
-                  `("goal" ,_ ,f ,a))
-              (setq id-at-point (list f a)))))))
-      (sweeprolog--query-once "sweep" "sweep_functor_arity_pi"
-                              id-at-point))))
+  (when (derived-mode-p 'sweeprolog-mode 'sweeprolog-top-level-mode)
+    (setq point (or point (point)))
+    (save-excursion
+      (goto-char point)
+      (let ((id-at-point nil))
+        (sweeprolog-analyze-term-at-point
+         (lambda (beg end arg)
+           (when (<= beg point end)
+             (pcase arg
+               ((or `("head_term" ,_ ,f ,a)
+                    `("goal_term" ,_ ,f ,a)
+                    `("head" ,_ ,f ,a)
+                    `("goal" ,_ ,f ,a))
+                (setq id-at-point (list f a)))))))
+        (sweeprolog--query-once "sweep" "sweep_functor_arity_pi"
+                                id-at-point)))))
 
 
 ;;;; Modules



reply via email to

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