[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser 32196db8f8 3/4: Improve geiser-repl-superparen-mode
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/geiser 32196db8f8 3/4: Improve geiser-repl-superparen-mode compatibility |
Date: |
Sat, 7 Sep 2024 19:00:04 -0400 (EDT) |
branch: elpa/geiser
commit 32196db8f8ddab071565a5ae6d799ada4f8fbe6b
Author: Antero Mejr <mail@antr.me>
Commit: jao <jao@gnu.org>
Improve geiser-repl-superparen-mode compatibility
This change to `geiser-repl--superparen-function' improves
compatibility with electric-pair-mode, as the procedure will no longer
add too many parentheses.
---
elisp/geiser-repl.el | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index 3bde43e44a..2cd772936e 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -852,7 +852,12 @@ evaluated without having to press ENTER."
(defun geiser-repl--superparen-function ()
(when (char-equal (char-before) geiser-repl-superparen-character)
(delete-char -1)
- (insert-char ?\) (geiser-repl--nesting-level))))
+ (let ((level (geiser-repl--nesting-level)))
+ (if (memq nil (mapcar (lambda (idx)
+ (= (char-after idx) ?\)))
+ (number-sequence (point) (- (+ (point) level) 1))))
+ (insert-char ?\) level)
+ (forward-char level)))))
(defvar-local geiser-repl-superparen-mode-string " S"
"Modeline indicator for geiser-repl-superparen-mode")