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

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

[elpa] externals/objed 26235a7 44/59: Improve duplicate op


From: Clemens Radermacher
Subject: [elpa] externals/objed 26235a7 44/59: Improve duplicate op
Date: Sun, 24 Mar 2019 06:06:42 -0400 (EDT)

branch: externals/objed
commit 26235a7d6fef0e39a83ce0014f384c9969e494a4
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve duplicate op
---
 objed.el | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/objed.el b/objed.el
index 13fe536..ce93591 100644
--- a/objed.el
+++ b/objed.el
@@ -2977,23 +2977,13 @@ Apply function F on region before duplicating it. ARG 
is passed
 to F as third argument."
   (let* ((end (set-marker (make-marker) end))
          (reg (buffer-substring beg end)))
-    (apply f (list beg end arg))
     (goto-char end)
-    (if (or (eobp)
-            (= (line-number-at-pos beg)
-               (line-number-at-pos end)))
-        (newline)
-      (skip-chars-forward "\r\n" (1+ (point))))
-    (skip-chars-forward " \t")
-    (let ((pos (point)))
-      (save-excursion
-        (insert reg)
-        (indent-according-to-mode)
-        (save-excursion
-          (goto-char (objed--skip-forward pos 'ws))
-          (indent-according-to-mode))
-        (indent-region pos (point)))
-      (goto-char (objed--skip-forward pos 'ws)))))
+    (unless (bolp)
+      (newline-and-indent))
+    (save-excursion
+      (insert reg)
+      (apply f (list beg end arg)))
+    (skip-chars-forward " \t")))
 
 (defun objed-duplicate-down (beg end &optional arg)
   "Duplicate region between BEG and END below.



reply via email to

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