diff options
| author | Taylor R Campbell <campbell@mumble.net> | 2013-04-07 16:32:19 +0000 | 
|---|---|---|
| committer | Taylor R Campbell <campbell@mumble.net> | 2013-04-07 16:32:19 +0000 | 
| commit | 460254d20624057f8ededfeb822891492c908c66 (patch) | |
| tree | 6828a87cedced9a0731d0f0d59a6a5cb4f65bd80 | |
| parent | dc96f75f58be03703ae905d5dde055e3436d048a (diff) | |
Fix paredit-doublequote inside a string escape.
| -rw-r--r-- | paredit.el | 9 | ||||
| -rw-r--r-- | test.el | 3 | 
2 files changed, 8 insertions, 4 deletions
| @@ -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)) @@ -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") | 
