浏览代码

Small refactoring

* lisp/org.el (org-fill-paragraph): Small refactoring.
Nicolas Goaziou 12 年之前
父节点
当前提交
7739e8b5f7
共有 1 个文件被更改,包括 15 次插入17 次删除
  1. 15 17
      lisp/org.el

+ 15 - 17
lisp/org.el

@@ -20993,22 +20993,18 @@ width for filling.
 For convenience, when point is at a plain list, an item or
 a footnote definition, try to fill the first paragraph within."
   (interactive)
-  (cond ;; First ensure filling in correct in message-mode
-   ((and (derived-mode-p 'message-mode)
-	 (or (not (message-in-body-p))
-	     (save-excursion (move-beginning-of-line 1)
-			     (looking-at message-cite-prefix-regexp))))
-    (let ((fill-paragraph-function
-	   (cadadr (assoc 'fill-paragraph-function org-fb-vars)))
-	  (fill-prefix (cadadr (assoc 'fill-prefix org-fb-vars)))
-	  (paragraph-start (cadadr (assoc 'paragraph-start org-fb-vars)))
-	  (paragraph-separate
-	   (cadadr (assoc 'paragraph-separate org-fb-vars))))
-      (fill-paragraph nil)))
-   ;; Correct filling in source block
-   ((org-in-src-block-p)
-    (org-babel-do-key-sequence-in-edit-buffer (kbd "M-q")))
-   (t
+  (if (and (derived-mode-p 'message-mode)
+	   (or (not (message-in-body-p))
+	       (save-excursion (move-beginning-of-line 1)
+			       (looking-at message-cite-prefix-regexp))))
+      ;; First ensure filling is correct in message-mode.
+      (let ((fill-paragraph-function
+	     (cadadr (assoc 'fill-paragraph-function org-fb-vars)))
+	    (fill-prefix (cadadr (assoc 'fill-prefix org-fb-vars)))
+	    (paragraph-start (cadadr (assoc 'paragraph-start org-fb-vars)))
+	    (paragraph-separate
+	     (cadadr (assoc 'paragraph-separate org-fb-vars))))
+	(fill-paragraph nil))
     (save-excursion
       ;; Move to end of line in order to get the first paragraph
       ;; within a plain list or a footnote definition.
@@ -21018,6 +21014,8 @@ a footnote definition, try to fill the first paragraph within."
 	;; the buffer.  In that case, ignore filling.
 	(if (< (point) (org-element-property :begin element)) t
 	  (case (org-element-type element)
+	    ;; Use major mode filling function is src blocks.
+	    (src-block (org-babel-do-key-sequence-in-edit-buffer (kbd "M-q")))
 	    ;; Align Org tables, leave table.el tables as-is.
 	    (table-row (org-table-align) t)
 	    (table
@@ -21094,7 +21092,7 @@ a footnote definition, try to fill the first paragraph within."
 	    ;; Fill comments.
 	    (comment (fill-comment-paragraph justify))
 	    ;; Ignore every other element.
-	    (otherwise t))))))))
+	    (otherwise t)))))))
 
 (defun org-auto-fill-function ()
   "Auto-fill function."