Merge branch 'maint'
authorBastien Guerry <bzg@altern.org>
Tue, 22 Jan 2013 12:57:57 +0000 (22 13:57 +0100)
committerBastien Guerry <bzg@altern.org>
Tue, 22 Jan 2013 12:57:57 +0000 (22 13:57 +0100)
Conflicts:
lisp/org.el

1  2 
lisp/org.el

diff --cc lisp/org.el
@@@ -21603,53 -20989,56 +21603,56 @@@ function installs the following ones: \
  Return fill prefix, as a string, or nil if current line isn't
  meant to be filled."
    (let (prefix)
-     (when (and (derived-mode-p 'message-mode) (message-in-body-p))
-       (save-excursion
-       (beginning-of-line)
-       (cond ((looking-at message-cite-prefix-regexp)
-              (setq prefix (match-string-no-properties 0)))
-             ((looking-at org-outline-regexp)
-              (setq prefix "")))))
-     (or prefix
-       (org-with-wide-buffer
-        (let* ((p (line-beginning-position))
-               (element (save-excursion (beginning-of-line)
-                                        (org-element-at-point)))
-               (type (org-element-type element))
-               (post-affiliated (org-element-property :post-affiliated element)))
-          (unless (and post-affiliated (< p post-affiliated))
-            (case type
-              (comment (looking-at "[ \t]*# ?") (match-string 0))
-              (footnote-definition "")
-              ((item plain-list)
-               (make-string (org-list-item-body-column
-                             (or post-affiliated
-                                 (org-element-property :begin element)))
-                            ? ))
-              (paragraph
-               ;; Fill prefix is usually the same as the current line,
-               ;; except if the paragraph is at the beginning of an item.
-               (let ((parent (org-element-property :parent element)))
-                 (cond ((eq (org-element-type parent) 'item)
-                        (make-string (org-list-item-body-column
-                                      (org-element-property :begin parent))
-                                     ? ))
-                       ((save-excursion (beginning-of-line) (looking-at "[ \t]+"))
-                        (match-string 0))
-                       (t  ""))))
-              (comment-block
-               ;; Only fill contents if P is within block boundaries.
-               (let* ((cbeg (save-excursion (goto-char post-affiliated)
-                                            (forward-line)
-                                            (point)))
-                      (cend (save-excursion
-                              (goto-char (org-element-property :end element))
-                              (skip-chars-backward " \r\t\n")
-                              (line-beginning-position))))
-                 (when (and (>= p cbeg) (< p cend))
-                   (if (save-excursion (beginning-of-line) (looking-at "[ \t]+"))
-                       (match-string 0)
-                     "")))))))))))
+     (catch 'exit
+       (when (derived-mode-p 'message-mode)
+       (save-excursion
+         (beginning-of-line)
+         (cond ((or (not (message-in-body-p))
+                    (looking-at orgtbl-line-start-regexp))
+                (throw 'exit nil))
+               ((looking-at message-cite-prefix-regexp)
+                (throw 'exit (match-string-no-properties 0)))
+               ((looking-at org-outline-regexp)
+                (throw 'exit (make-string (length (match-string 0)) ? ))))))
+       (org-with-wide-buffer
+        (let* ((p (line-beginning-position))
 -            (element (save-excursion (beginning-of-line) (org-element-at-point)))
++            (element (save-excursion (beginning-of-line)
++                                     (org-element-at-point)))
+             (type (org-element-type element))
 -            (post-affiliated
 -             (save-excursion
 -               (goto-char (org-element-property :begin element))
 -               (while (looking-at org-element--affiliated-re) (forward-line))
 -               (point))))
 -       (unless (< p post-affiliated)
++            (post-affiliated (org-element-property :post-affiliated element)))
++       (unless (and post-affiliated (< p post-affiliated))
+          (case type
+            (comment (looking-at "[ \t]*# ?") (match-string 0))
+            (footnote-definition "")
+            ((item plain-list)
 -            (make-string (org-list-item-body-column post-affiliated) ? ))
++            (make-string (org-list-item-body-column
++                          (or post-affiliated
++                              (org-element-property :begin element)))
++                         ? ))
+            (paragraph
+             ;; Fill prefix is usually the same as the current line,
+             ;; except if the paragraph is at the beginning of an item.
+             (let ((parent (org-element-property :parent element)))
+               (cond ((eq (org-element-type parent) 'item)
+                      (make-string (org-list-item-body-column
+                                    (org-element-property :begin parent))
+                                   ? ))
+                     ((save-excursion (beginning-of-line) (looking-at "[ \t]+"))
+                      (match-string 0))
+                     (t  ""))))
+            (comment-block
+             ;; Only fill contents if P is within block boundaries.
+             (let* ((cbeg (save-excursion (goto-char post-affiliated)
+                                          (forward-line)
+                                          (point)))
+                    (cend (save-excursion
+                            (goto-char (org-element-property :end element))
+                            (skip-chars-backward " \r\t\n")
+                            (line-beginning-position))))
+               (when (and (>= p cbeg) (< p cend))
+                 (if (save-excursion (beginning-of-line) (looking-at "[ \t]+"))
+                     (match-string 0)
+                   "")))))))))))
  
  (declare-function message-goto-body "message" ())
  (defvar message-cite-prefix-regexp)   ; From message.el