summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Wahl <marcowahlsoft@gmail.com>2018-04-11 14:55:00 +0200
committerBastien <bzg@gnu.org>2018-04-27 01:08:29 +0200
commita0a40a465108d952ee6452d299ecbc5ffc4ed18a (patch)
treeda6728536f67c577bbb5323587bcb17b6722504a
parent8cdefed80b5ea02b17e5e6ec17175b0fd0c53d05 (diff)
downloadorg-mode-a0a40a465108d952ee6452d299ecbc5ffc4ed18a.tar.gz
org: Remove special whitespace treatment when moving subtree
* lisp/org.el (org-move-subtree-down): Remove special whitespace treatment. * testing/lisp/test-org.el (test-org/drag-element-backward): Accommodate test.
-rw-r--r--lisp/org.el29
-rw-r--r--testing/lisp/test-org.el2
2 files changed, 5 insertions, 26 deletions
diff --git a/lisp/org.el b/lisp/org.el
index 7db7f5d..d817c92 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8164,32 +8164,22 @@ case."
(ins-point (make-marker))
(cnt (abs arg))
(col (current-column))
- beg beg0 end txt folded ne-beg ne-end ne-ins ins-end)
+ beg end txt folded)
;; Select the tree
(org-back-to-heading)
- (setq beg0 (point))
- (save-excursion
- (setq ne-beg (org-back-over-empty-lines))
- (setq beg (point)))
+ (setq beg (point))
(save-match-data
(save-excursion (outline-end-of-heading)
(setq folded (org-invisible-p)))
(progn (org-end-of-subtree nil t)
(unless (eobp) (backward-char))))
(outline-next-heading)
- (setq ne-end (org-back-over-empty-lines))
(setq end (point))
- (goto-char beg0)
- (when (and (> arg 0) (org-first-sibling-p) (< ne-end ne-beg))
- ;; include less whitespace
- (save-excursion
- (goto-char beg)
- (forward-line (- ne-beg ne-end))
- (setq beg (point))))
+ (goto-char beg)
;; Find insertion point, with error handling
(while (> cnt 0)
(unless (and (funcall movfunc) (looking-at org-outline-regexp))
- (goto-char beg0)
+ (goto-char beg)
(user-error "Cannot move past superior level or buffer limit"))
(setq cnt (1- cnt)))
(when (> arg 0)
@@ -8198,7 +8188,6 @@ case."
(save-excursion
(org-back-over-empty-lines)
(or (bolp) (newline))))
- (setq ne-ins (org-back-over-empty-lines))
(move-marker ins-point (point))
(setq txt (buffer-substring beg end))
(org-save-markers-in-region beg end)
@@ -8212,18 +8201,8 @@ case."
(org-reinstall-markers-in-region bbb)
(move-marker ins-point bbb))
(or (bolp) (insert "\n"))
- (setq ins-end (point))
(goto-char ins-point)
(org-skip-whitespace)
- (when (and (< arg 0)
- (org-first-sibling-p)
- (> ne-ins ne-beg))
- ;; Move whitespace back to beginning
- (save-excursion
- (goto-char ins-end)
- (let ((kill-whole-line t))
- (kill-line (- ne-ins ne-beg)) (point)))
- (insert (make-string (- ne-ins ne-beg) ?\n)))
(move-marker ins-point nil)
(if folded
(outline-hide-subtree)
diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index dee6508..db4909b 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -3965,7 +3965,7 @@ Text.
;; Pathological case: handle call with point in blank lines right
;; after a headline.
(should
- (equal "* H2\n* H1\nText\n\n"
+ (equal "* H2\n\n* H1\nText\n"
(org-test-with-temp-text "* H1\nText\n* H2\n\n<point>"
(org-drag-element-backward)
(buffer-string)))))