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

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

[nongnu] elpa/paredit 5bfc873 047/224: Fix `paredit-copy-as-kill' within


From: ELPA Syncer
Subject: [nongnu] elpa/paredit 5bfc873 047/224: Fix `paredit-copy-as-kill' within strings.
Date: Sat, 7 Aug 2021 09:22:16 -0400 (EDT)

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

    Fix `paredit-copy-as-kill' within strings.
    
    Ignore-this: 231e8737beaee81622c52d580adad339
    
    darcs-hash:20100918181620-00fcc-5774d34b56be2f3af88b6a75506da39927197baf
---
 paredit.el | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/paredit.el b/paredit.el
index 59de8fc..58dbf0f 100644
--- a/paredit.el
+++ b/paredit.el
@@ -1551,6 +1551,28 @@ With a numeric prefix argument N, do `kill-line' that 
many times."
 (defun paredit-copy-as-kill ()
   "Save in the kill ring the region that `paredit-kill' would kill."
   (interactive)
+  (cond ((paredit-in-string-p)
+         (paredit-copy-as-kill-in-string))
+        ((paredit-in-comment-p)
+         (copy-region-as-kill (point) (point-at-eol)))
+        ((save-excursion (paredit-skip-whitespace t (point-at-eol))
+                         (or (eolp) (eq (char-after) ?\; )))
+         ;** Be careful about trailing backslashes.
+         (save-excursion
+           (if (paredit-in-char-p)
+               (backward-char))
+           (copy-region-as-kill (point) (point-at-eol))))
+        (t (paredit-copy-sexps-as-kill))))
+
+(defun paredit-copy-as-kill-in-string ()
+  (save-excursion
+    (if (paredit-in-string-escape-p)
+        (backward-char))
+    (copy-region-as-kill (point)
+                         (min (point-at-eol)
+                              (cdr (paredit-string-start+end-points))))))
+
+(defun paredit-copy-sexps-as-kill ()
   (save-excursion
     (if (paredit-in-char-p)
         (backward-char 2))



reply via email to

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