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

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

[nongnu] elpa/geiser 0d4afa857b 1/3: fun with regular expressions for de


From: ELPA Syncer
Subject: [nongnu] elpa/geiser 0d4afa857b 1/3: fun with regular expressions for definitions fallback
Date: Sun, 16 Oct 2022 17:58:35 -0400 (EDT)

branch: elpa/geiser
commit 0d4afa857bd2097fcf1c48461f14260e5dbe0e1d
Author: jao <jao@gnu.org>
Commit: jao <jao@gnu.org>

    fun with regular expressions for definitions fallback
---
 elisp/geiser-edit.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el
index 4c2560cbb7..337ecff774 100644
--- a/elisp/geiser-edit.el
+++ b/elisp/geiser-edit.el
@@ -88,9 +88,9 @@ or following links in error buffers.")
   (regexp-opt '("define-syntaxes" "define-values")))
 
 (defsubst geiser-edit--def-re (thing)
-  (format "(%s *\\([( ]%s\\_>[^)]*[ )\n]\\)"
-          geiser-edit--def-re
-          (regexp-quote (format "%s" thing))))
+  (let ((sx (regexp-quote (format "%s" thing))))
+    (format "(%s[[:space:]]+\\((%s\\_>[^)]*)\\|\\(\\_<%s\\_>\\) 
*\\([^\n]*\\))\\)"
+            geiser-edit--def-re sx sx)))
 
 (defsubst geiser-edit--def-re* (thing)
   (format "(%s +([^)]*?\\_<%s\\_>"
@@ -102,7 +102,10 @@ or following links in error buffers.")
     (goto-char (point-min))
     (when (or (re-search-forward (geiser-edit--def-re symbol) nil t)
               (re-search-forward (geiser-edit--def-re* symbol) nil t))
-      (cons (match-beginning 0) (match-string 1)))))
+      (cons (match-beginning 0)
+            (if (match-string 2)
+                (concat (match-string 2) " => " (match-string 3))
+              (match-string 1))))))
 
 (defsubst geiser-edit--symbol-re (thing)
   (format "\\_<%s\\_>" (regexp-quote (format "%s" thing))))



reply via email to

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