Bug fix in org-beginning-of-line visual line motion

* lisp/org.el (org-beginning-of-line): check `visual-line-mode'
instead of `line-visual-mode' to determine whether to move by visual
lines.

* lisp/org.el (org-kill-line): use of org-bound-and-true-p macro.

* testing/lisp/test-org.el: Add test
This commit is contained in:
Toby S. Cubitt 2012-11-06 19:06:26 +01:00 committed by Nicolas Goaziou
parent ca5d5e9c9b
commit 2aeb28d2af
2 changed files with 38 additions and 5 deletions

View file

@ -21271,7 +21271,7 @@ beyond the end of the headline."
(car org-special-ctrl-a/e)
org-special-ctrl-a/e))
refpos)
(if (org-bound-and-true-p line-move-visual)
(if (org-bound-and-true-p visual-line-mode)
(beginning-of-visual-line 1)
(beginning-of-line 1))
(if (and arg (fboundp 'move-beginning-of-line))
@ -21398,7 +21398,7 @@ depending on context."
(not (y-or-n-p "Kill hidden subtree along with headline? ")))
(error "C-k aborted - would kill hidden subtree")))
(call-interactively
(if (and (boundp 'visual-line-mode) visual-line-mode) 'kill-visual-line 'kill-line)))
(if (org-bound-and-true-p visual-line-mode) 'kill-visual-line 'kill-line)))
((looking-at (org-re ".*?\\S-\\([ \t]+\\(:[[:alnum:]_@#%:]+:\\)\\)[ \t]*$"))
(kill-region (point) (match-beginning 1))
(org-set-tags nil t))

View file

@ -418,12 +418,44 @@ http://article.gmane.org/gmane.emacs.orgmode/21459/"
;; Navigation
(ert-deftest test-org/beginning-of-line ()
"Test `org-beginning-of-line' specifications."
;; Standard test.
(should
(org-test-with-temp-text "Some text\nSome other text"
(progn (org-beginning-of-line) (bolp))))
;; Standard test with `visual-line-mode'.
(should-not
(org-test-with-temp-text "A long line of text\nSome other text"
(progn (visual-line-mode)
(forward-char 2)
(dotimes (i 1000) (insert "very "))
(org-beginning-of-line)
(bolp))))
;; At an headline with special movement.
(should
(org-test-with-temp-text "* TODO Headline"
(let ((org-special-ctrl-a/e t))
(org-end-of-line)
(and (progn (org-beginning-of-line) (looking-at "Headline"))
(progn (org-beginning-of-line) (bolp))
(progn (org-beginning-of-line) (looking-at "Headline")))))))
(ert-deftest test-org/end-of-line ()
"Test `org-end-of-line' specifications."
;; Standard test.
(should
(org-test-with-temp-text "Some text\nSome other text"
(progn (org-end-of-line) (eolp))))
;; Standard test with `visual-line-mode'.
(should-not
(org-test-with-temp-text "A long line of text\nSome other text"
(progn (visual-line-mode)
(forward-char 2)
(dotimes (i 1000) (insert "very "))
(goto-char (point-min))
(org-end-of-line)
(eolp))))
;; At an headline with special movement.
(should
(org-test-with-temp-text "* Headline :tag:"
@ -451,9 +483,10 @@ http://article.gmane.org/gmane.emacs.orgmode/21459/"
;; At a block with hidden contents.
(should-not
(org-test-with-temp-text "#+BEGIN_CENTER\nContents\n#+END_CENTER"
(progn (org-hide-block-toggle)
(org-end-of-line)
(eobp)))))
(let ((org-special-ctrl-a/e t))
(org-hide-block-toggle)
(org-end-of-line)
(eobp)))))
(ert-deftest test-org/forward-element ()
"Test `org-forward-element' specifications."