diff --git a/lisp/org.el b/lisp/org.el index 2442ab3f0..e700eb256 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -21065,7 +21065,10 @@ a footnote definition, try to fill the first paragraph within." ;; Check if auto-filling is meaningful. (let ((fc (current-fill-column))) (when (and fc (> (current-column) fc)) - (let ((fill-prefix (org-adaptive-fill-function))) + (let* ((fill-prefix (org-adaptive-fill-function)) + ;; Enforce empty fill prefix, if required. Otherwise, it + ;; will be computed again. + (adaptive-fill-mode (not (equal fill-prefix "")))) (when fill-prefix (do-auto-fill)))))) (defun org-comment-line-break-function (&optional soft) diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el index d333cfcf8..fe4bc1c33 100644 --- a/testing/lisp/test-org.el +++ b/testing/lisp/test-org.el @@ -254,6 +254,22 @@ http://article.gmane.org/gmane.emacs.orgmode/21459/" (end-of-line) (org-auto-fill-function) (buffer-string))))) + ;; A hash within a line isn't a comment. + (should-not + (equal "12345 # 7890\n# 1" + (org-test-with-temp-text "12345 # 7890 1" + (let ((fill-column 12)) + (end-of-line) + (org-auto-fill-function) + (buffer-string))))) + ;; Correctly interpret empty prefix. + (should-not + (equal "# a\n# b\nRegular\n# paragraph" + (org-test-with-temp-text "# a\n# b\nRegular paragraph" + (let ((fill-column 12)) + (end-of-line 3) + (org-auto-fill-function) + (buffer-string))))) ;; Comment block: auto fill contents. (should (equal "#+BEGIN_COMMENT\n12345\n7890\n#+END_COMMENT"