`org-forward/backward-paragraph' do not error at buffer boundaries

* lisp/org.el (org-forward-paragraph):
(org-backward-paragraph): Do not error at buffer boundaries.

Reported-by: Omar Antolín Camarena <omar.antolin@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-07/msg00478.html>
This commit is contained in:
Nicolas Goaziou 2017-07-28 10:07:53 +02:00
parent f203d378bd
commit 808089ee04
2 changed files with 125 additions and 123 deletions

View File

@ -24432,7 +24432,7 @@ item, etc. It also provides some special moves for convenience:
- On a table or a property drawer, jump after it. - On a table or a property drawer, jump after it.
- On a verse or source block, stop after blank lines." - On a verse or source block, stop after blank lines."
(interactive) (interactive)
(when (eobp) (user-error "Cannot move further down")) (unless (eobp)
(let* ((deactivate-mark nil) (let* ((deactivate-mark nil)
(element (org-element-at-point)) (element (org-element-at-point))
(type (org-element-type element)) (type (org-element-type element))
@ -24499,7 +24499,7 @@ item, etc. It also provides some special moves for convenience:
((> (line-end-position) contents-begin) ((> (line-end-position) contents-begin)
(end-of-line) (end-of-line)
(org-forward-paragraph)) (org-forward-paragraph))
(t (goto-char contents-begin))))) (t (goto-char contents-begin))))))
(defun org-backward-paragraph () (defun org-backward-paragraph ()
"Move backward to start of previous paragraph or equivalent. "Move backward to start of previous paragraph or equivalent.
@ -24514,7 +24514,7 @@ convenience:
- On a table or a property drawer, move to its beginning. - On a table or a property drawer, move to its beginning.
- On a verse or source block, stop before blank lines." - On a verse or source block, stop before blank lines."
(interactive) (interactive)
(when (bobp) (user-error "Cannot move further up")) (unless (bobp)
(let* ((deactivate-mark nil) (let* ((deactivate-mark nil)
(element (org-element-at-point)) (element (org-element-at-point))
(type (org-element-type element)) (type (org-element-type element))
@ -24562,7 +24562,7 @@ convenience:
(org-backward-paragraph)) (org-backward-paragraph))
(t (goto-char (or post-affiliated begin)))) (t (goto-char (or post-affiliated begin))))
;; Ensure we never leave point invisible. ;; Ensure we never leave point invisible.
(when (org-invisible-p (point)) (beginning-of-visual-line)))) (when (org-invisible-p (point)) (beginning-of-visual-line)))))
(defun org-forward-element () (defun org-forward-element ()
"Move forward by one element. "Move forward by one element.

View File

@ -3259,11 +3259,12 @@ SCHEDULED: <2017-05-06 Sat>
(ert-deftest test-org/forward-paragraph () (ert-deftest test-org/forward-paragraph ()
"Test `org-forward-paragraph' specifications." "Test `org-forward-paragraph' specifications."
;; At end of buffer, return an error. ;; At end of buffer, do not return an error.
(should-error (should
(org-test-with-temp-text "Paragraph" (org-test-with-temp-text "Paragraph"
(goto-char (point-max)) (goto-char (point-max))
(org-forward-paragraph))) (org-forward-paragraph)
t))
;; Standard test. ;; Standard test.
(should (should
(org-test-with-temp-text "P1\n\nP2\n\nP3" (org-test-with-temp-text "P1\n\nP2\n\nP3"
@ -3328,10 +3329,11 @@ SCHEDULED: <2017-05-06 Sat>
(ert-deftest test-org/backward-paragraph () (ert-deftest test-org/backward-paragraph ()
"Test `org-backward-paragraph' specifications." "Test `org-backward-paragraph' specifications."
;; Error at beginning of buffer. ;; Do not error at beginning of buffer.
(should-error (should
(org-test-with-temp-text "Paragraph" (org-test-with-temp-text "Paragraph"
(org-backward-paragraph))) (org-backward-paragraph)
t))
;; Regular test. ;; Regular test.
(should (should
(org-test-with-temp-text "P1\n\nP2\n\nP3" (org-test-with-temp-text "P1\n\nP2\n\nP3"