org.el (org-src--contents-for-write-back): Indent blank lines

* lisp/org.el (org-src--contents-for-write-back): Indent blank lines.
* lisp/org-src.el (org-return): Revert part of commit bfda3cc7df.
This commit is contained in:
Sébastien Miquel 2021-05-18 14:39:33 +02:00 committed by Bastien
parent a34d71560b
commit 857ae366b3
2 changed files with 5 additions and 10 deletions

View File

@ -453,15 +453,14 @@ Assume point is in the corresponding edit buffer."
(insert (org-no-properties contents)) (insert (org-no-properties contents))
(goto-char (point-min)) (goto-char (point-min))
(when (functionp write-back) (save-excursion (funcall write-back))) (when (functionp write-back) (save-excursion (funcall write-back)))
;; Add INDENTATION-OFFSET to every non-empty line in buffer, ;; Add INDENTATION-OFFSET to every line in buffer,
;; unless indentation is meant to be preserved. ;; unless indentation is meant to be preserved.
(when (> indentation-offset 0) (when (> indentation-offset 0)
(while (not (eobp)) (while (not (eobp))
(skip-chars-forward " \t") (skip-chars-forward " \t")
(unless (eolp) ;ignore blank lines (let ((i (current-column)))
(let ((i (current-column))) (delete-region (line-beginning-position) (point))
(delete-region (line-beginning-position) (point)) (indent-to (+ i indentation-offset)))
(indent-to (+ i indentation-offset))))
(forward-line)))))) (forward-line))))))
(defun org-src--edit-element (defun org-src--edit-element

View File

@ -17897,10 +17897,6 @@ object (e.g., within a comment). In these case, you need to use
(delete-and-extract-region (point) (line-end-position)))) (delete-and-extract-region (point) (line-end-position))))
(org--newline indent arg interactive) (org--newline indent arg interactive)
(save-excursion (insert trailing-data)))) (save-excursion (insert trailing-data))))
;; FIXME: In a source block, don't try to indent as it may result
;; in weird results due to `electric-indent-mode' being `t'.
((eq element-type 'src-block)
(org--newline nil nil nil))
(t (t
;; Do not auto-fill when point is in an Org property drawer. ;; Do not auto-fill when point is in an Org property drawer.
(let ((auto-fill-function (and (not (org-at-property-p)) (let ((auto-fill-function (and (not (org-at-property-p))
@ -19047,7 +19043,7 @@ Also align node properties according to `org-property-format'."
(line-beginning-position 2)))) (line-beginning-position 2))))
nil) nil)
((and (eq type 'src-block) ((and (eq type 'src-block)
org-src-tab-acts-natively org-src-tab-acts-natively
(> (line-beginning-position) (> (line-beginning-position)
(org-element-property :post-affiliated element)) (org-element-property :post-affiliated element))
(< (line-beginning-position) (< (line-beginning-position)