summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <n.goaziou@gmail.com>2013-08-22 19:45:28 (GMT)
committer Nicolas Goaziou <n.goaziou@gmail.com>2013-08-22 19:54:52 (GMT)
commit9e51049b22c90df349ae914d8142362b5bf22090 (patch)
tree88fe2c5954d74090e88f206d17891242be584e60
parent13cb28a227275d8d54193267159d6fa5e88650ab (diff)
downloadorg-mode-9e51049b22c90df349ae914d8142362b5bf22090.zip
org-mode-9e51049b22c90df349ae914d8142362b5bf22090.tar.gz
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
-rw-r--r--lisp/org.el10
-rw-r--r--testing/lisp/test-org.el23
2 files changed, 29 insertions, 4 deletions
diff --git a/lisp/org.el b/lisp/org.el
index 6caa0b0..0601a36 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 53300eb..7fb7d42 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"