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

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

[nongnu] elpa/paredit 460254d 162/224: Fix paredit-doublequote inside a


From: ELPA Syncer
Subject: [nongnu] elpa/paredit 460254d 162/224: Fix paredit-doublequote inside a string escape.
Date: Sat, 7 Aug 2021 09:22:41 -0400 (EDT)

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

    Fix paredit-doublequote inside a string escape.
---
 paredit.el | 9 +++++----
 test.el    | 3 +++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/paredit.el b/paredit.el
index 3ad7f72..fcf50b7 100644
--- a/paredit.el
+++ b/paredit.el
@@ -875,10 +875,11 @@ If in a character literal, do nothing.  This prevents 
accidentally
   delimiter unintentionally."
   (interactive "P")
   (cond ((paredit-in-string-p)
-         (if (eq (cdr (paredit-string-start+end-points))
-                 (point))
-             (forward-char)             ; We're on the closing quote.
-             (insert ?\\ ?\" )))
+         (if (eq (point) (- (paredit-enclosing-string-end) 1))
+             (forward-char)             ; Just move past the closing quote.
+           ;; Don't split a \x into an escaped backslash and a string end.
+           (if (paredit-in-string-escape-p) (forward-char))
+           (insert ?\\ ?\" )))
         ((paredit-in-comment-p)
          (insert ?\" ))
         ((not (paredit-in-char-p))
diff --git a/test.el b/test.el
index 7d12283..ba71788 100644
--- a/test.el
+++ b/test.el
@@ -234,6 +234,9 @@ Four arguments: the paredit command, the text of the buffer
     ;; `comment-search-forward' to wind up inside a character or a
     ;; string?
     ))
+
+(paredit-test 'paredit-doublequote
+  '(("\"foo \\|x bar\"" "\"foo \\x\\\"| bar\"")))
 
 (paredit-test 'paredit-forward-delete
   '(("f|oo" "f|o")



reply via email to

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