From 9e51049b22c90df349ae914d8142362b5bf22090 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 22 Aug 2013 21:45:28 +0200 Subject: [PATCH] Fix filling with `adaptive-fill-regexp' * lisp/org.el (org-adaptive-fill-function): Look for a fill prefix at the beginning of the paragraph and subsquently on its second line instead of the current line. * testing/lisp/test-org.el: Add test --- lisp/org.el | 10 +++++++++- testing/lisp/test-org.el | 23 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 6caa0b0d9..0601a36ae 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -22163,7 +22163,15 @@ matches in paragraphs or comments, use it." (make-string (org-list-item-body-column (org-element-property :begin parent)) ? )) - ((looking-at adaptive-fill-regexp) (match-string 0)) + ((and adaptive-fill-regexp + ;; Locally disable + ;; `adaptive-fill-function' to let + ;; `fill-context-prefix' handle + ;; `adaptive-fill-regexp' variable. + (let (adaptive-fill-function) + (fill-context-prefix + post-affiliated + (org-element-property :end element))))) ((looking-at "[ \t]+") (match-string 0)) (t ""))))) (comment-block diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el index 53300ebcf..7fb7d4250 100644 --- a/testing/lisp/test-org.el +++ b/testing/lisp/test-org.el @@ -273,13 +273,30 @@ (buffer-string))))) ;; Auto fill paragraph when `adaptive-fill-regexp' matches. (should - (equal "> 12345\n> 7890" + (equal "> 12345\n 7890" (org-test-with-temp-text "> 12345 7890" - (let ((fill-column 5) - (adaptive-fill-regexp "[ \t]*>+[ \t]*")) + (let ((fill-column 10) + (adaptive-fill-regexp "[ \t]*>+[ \t]*") + (adaptive-fill-first-line-regexp "\\`[ ]*\\'")) (end-of-line) (org-auto-fill-function) (buffer-string))))) + (should + (equal "> 12345\n> 12345\n> 7890" + (org-test-with-temp-text "> 12345\n> 12345 7890" + (let ((fill-column 10) + (adaptive-fill-regexp "[ \t]*>+[ \t]*")) + (goto-char (point-max)) + (org-auto-fill-function) + (buffer-string))))) + (should-not + (equal " 12345\n *12345\n *12345" + (org-test-with-temp-text " 12345\n *12345 12345" + (let ((fill-column 10) + (adaptive-fill-regexp "[ \t]*>+[ \t]*")) + (goto-char (point-max)) + (org-auto-fill-function) + (buffer-string))))) ;; Auto fill comments. (should (equal " # 12345\n # 7890" -- 2.11.4.GIT