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

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

[nongnu] elpa/paredit 5114a62 193/224: If in a string, slurp into the en


From: ELPA Syncer
Subject: [nongnu] elpa/paredit 5114a62 193/224: If in a string, slurp into the enclosing list if necessary.
Date: Sat, 7 Aug 2021 09:22:48 -0400 (EDT)

branch: elpa/paredit
commit 5114a626d0ee62d4afb10633df1dad934b793e13
Author: Taylor R Campbell <campbell@mumble.net>
Commit: Taylor R Campbell <campbell@mumble.net>

    If in a string, slurp into the enclosing list if necessary.
---
 paredit.el | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/paredit.el b/paredit.el
index 6f88eef..225dc05 100644
--- a/paredit.el
+++ b/paredit.el
@@ -2233,7 +2233,16 @@ If in a string, move the opening double-quote forward by 
one
     (cond ((paredit-in-comment-p)
            (error "Invalid context for slurping S-expressions."))
           ((paredit-in-string-p)
-           (paredit-forward-slurp-into-string))
+           ;; If there is anything to slurp into the string, take that.
+           ;; Otherwise, try to slurp into the enclosing list.
+           (if (save-excursion
+                 (goto-char (paredit-enclosing-string-end))
+                 (paredit-handle-sexp-errors (progn (forward-sexp) nil)
+                   t))
+               (progn
+                 (goto-char (paredit-enclosing-string-end))
+                 (paredit-forward-slurp-into-list))
+               (paredit-forward-slurp-into-string)))
           (t
            (paredit-forward-slurp-into-list)))))
 
@@ -2318,7 +2327,16 @@ If in a string, move the opening double-quote backward 
by one
     (cond ((paredit-in-comment-p)
            (error "Invalid context for slurping S-expressions."))
           ((paredit-in-string-p)
-           (paredit-backward-slurp-into-string))
+           ;; If there is anything to slurp into the string, take that.
+           ;; Otherwise, try to slurp into the enclosing list.
+           (if (save-excursion
+                 (goto-char (paredit-enclosing-string-start))
+                 (paredit-handle-sexp-errors (progn (backward-sexp) nil)
+                   t))
+               (progn
+                 (goto-char (paredit-enclosing-string-start))
+                 (paredit-backward-slurp-into-list))
+               (paredit-backward-slurp-into-string)))
           (t
            (paredit-backward-slurp-into-list)))))
 



reply via email to

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