[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))))