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

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

[nongnu] elpa/idris-mode 1382948269 01/14: Consider - as operator in idr


From: ELPA Syncer
Subject: [nongnu] elpa/idris-mode 1382948269 01/14: Consider - as operator in idris-thing-at-point
Date: Thu, 1 Dec 2022 08:02:53 -0500 (EST)

branch: elpa/idris-mode
commit 1382948269f59188c5f5a76d2480124ad06d5947
Author: Marek L <nospam.keram@gmail.com>
Commit: Marek L <nospam.keram@gmail.com>

    Consider - as operator in idris-thing-at-point
    
    Why:
    The `-` char is defined in idris-syntax-table as being
    beginning of comment and causing condition:
    `(equal (syntax-after (point)) (string-to-syntax ".")`
    in `idris-thing-at-point` be evaluated to nil (false)
    and throw error.
    
    Fixes:
    https://github.com/idris-community/idris2-mode/issues/16
---
 idris-commands.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/idris-commands.el b/idris-commands.el
index 893abb8a98..8a1fea840c 100644
--- a/idris-commands.el
+++ b/idris-commands.el
@@ -326,14 +326,17 @@ Idris process. This sets the load position to point, if 
there is one."
     (error "Cannot find file for current buffer")))
 
 
+(defun idris-operator-at-position-p (pos)
+  "Return t if syntax lookup is `.' or char after POS is `-'."
+  (or (equal (syntax-after pos) (string-to-syntax "."))
+      (eq (char-after pos) ?-)))
+
 (defun idris-thing-at-point ()
   "Return the line number and name at point as a cons.
 Use this in Idris source buffers."
   (let ((line (idris-get-line-num (point))))
     (cons
-     (if (equal (syntax-after (point))
-                (string-to-syntax "."))
-         ;; We're on an operator.
+     (if (idris-operator-at-position-p (point))
          (save-excursion
            (skip-syntax-backward ".")
            (let ((beg (point)))



reply via email to

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