Browse Source

Fix error when filling a table from an affiliated keyword

* lisp/org.el (org-fill-paragraph): Move to table beginning before
  aligning the table when M-q is called from an affiliated keyword.
* testing/lisp/test-org.el: Add test.
Nicolas Goaziou 12 years ago
parent
commit
75c8be1d8b
2 changed files with 13 additions and 4 deletions
  1. 3 1
      lisp/org.el
  2. 10 3
      testing/lisp/test-org.el

+ 3 - 1
lisp/org.el

@@ -22188,7 +22188,9 @@ a footnote definition, try to fill the first paragraph within."
 	  (table-row (org-table-align) t)
 	  (table
 	   (when (eq (org-element-property :type element) 'org)
-	     (org-table-align))
+	     (save-excursion
+	       (goto-char (org-element-property :post-affiliated element))
+	       (org-table-align)))
 	   t)
 	  (paragraph
 	   ;; Paragraphs may contain `line-break' type objects.

+ 10 - 3
testing/lisp/test-org.el

@@ -124,9 +124,16 @@
 (ert-deftest test-org/fill-paragraph ()
   "Test `org-fill-paragraph' specifications."
   ;; At an Org table, align it.
-  (org-test-with-temp-text "|a|"
-    (org-fill-paragraph)
-    (should (equal (buffer-string) "| a |\n")))
+  (should
+   (equal "| a |\n"
+	  (org-test-with-temp-text "|a|"
+	    (org-fill-paragraph)
+	    (buffer-string))))
+  (should
+   (equal "#+name: table\n| a |\n"
+	  (org-test-with-temp-text "#+name: table\n| a |"
+	    (org-fill-paragraph)
+	    (buffer-string))))
   ;; At a paragraph, preserve line breaks.
   (org-test-with-temp-text "some \\\\\nlong\ntext"
     (let ((fill-column 20))