branch: externals-release/org
commit a13d8fe83b5d49a97ec3c60d5312549db1be9055
Author: Ihor Radchenko <yanta...@posteo.net>
Commit: Ihor Radchenko <yanta...@posteo.net>

    org-babel-exp-process-buffer: Fix edge case when src block ends at eob
    
    * lisp/ob-exp.el (org-babel-exp-process-buffer): When src block ends
    at eob, do not leave the #+end_src behind after replacement.
---
 lisp/ob-exp.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el
index 657cb2b526..5516530c5b 100644
--- a/lisp/ob-exp.el
+++ b/lisp/ob-exp.el
@@ -265,8 +265,9 @@ this template."
                                   (if (not (eq type 'babel-call))
                                       (progn (skip-chars-forward " \t")
                                              (point))
-                                    (skip-chars-forward " \r\t\n")
-                                    (line-beginning-position)))))
+                                     (unless (eobp)
+                                      (skip-chars-forward " \r\t\n")
+                                      (line-beginning-position))))))
                           ((not rep)
                            ;; Replacement code cannot be determined.
                            ;; Leave the code block as is.
@@ -291,8 +292,9 @@ this template."
                           (cond ((not replacement) (goto-char end))
                                 ((equal replacement "")
                                  (goto-char end)
-                                 (skip-chars-forward " \r\t\n")
-                                 (forward-line 0)
+                                  (unless (eobp)
+                                   (skip-chars-forward " \r\t\n")
+                                   (forward-line 0))
                                  (delete-region begin (point)))
                                 (t
                                  (if (org-src-preserve-indentation-p element)

Reply via email to