Merge branch 'bugfix'

This commit is contained in:
Ihor Radchenko 2022-12-25 15:50:55 +03:00
commit 0f1184a850
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
3 changed files with 80 additions and 3 deletions

View File

@ -1365,7 +1365,16 @@ Assume point is at beginning of the inline task."
(priority (and (looking-at "\\[#.\\][ \t]*")
(progn (goto-char (match-end 0))
(aref (match-string 0) 2))))
(title-start (point))
(commentedp
(and (let ((case-fold-search nil))
(looking-at org-element-comment-string))
(goto-char (match-end 0))
(when (looking-at-p "\\(?:[ \t]\\|$\\)")
(point))))
(title-start (prog1 (point)
(unless (or todo priority commentedp)
;; Headline like "* :tag:"
(skip-chars-backward " \t"))))
(tags (when (re-search-forward
"[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
(line-end-position)
@ -1375,6 +1384,7 @@ Assume point is at beginning of the inline task."
(title-end (point))
(raw-value (org-trim
(buffer-substring-no-properties title-start title-end)))
(archivedp (member org-element-archive-tag tags))
(task-end (save-excursion
(end-of-line)
(and (re-search-forward org-element-headline-re limit t)
@ -1410,7 +1420,9 @@ Assume point is at beginning of the inline task."
:todo-keyword todo
:todo-type todo-type
:post-blank (1- (count-lines (or task-end begin) end))
:post-affiliated begin)
:post-affiliated begin
:archivedp archivedp
:commentedp commentedp)
time-props
standard-props))))
(org-element-put-property

View File

@ -20179,7 +20179,10 @@ interactive command with similar behavior."
(defun org-back-to-heading (&optional invisible-ok)
"Go back to beginning of heading."
(beginning-of-line)
(or (org-at-heading-p (not invisible-ok))
(or (and (org-at-heading-p (not invisible-ok))
(not (and (featurep 'org-inlinetask)
(fboundp 'org-inlinetask-end-p)
(org-inlinetask-end-p))))
(if (org-element--cache-active-p)
(let ((heading (org-element-lineage (org-element-at-point)
'(headline inlinetask)

View File

@ -175,6 +175,26 @@
(org-test-with-temp-text "* Test"
(call-interactively #'org-comment-dwim)
(buffer-string))))
;; Uncomment a heading
(should
(equal "* Test"
(org-test-with-temp-text "* COMMENT Test"
(call-interactively #'org-comment-dwim)
(buffer-string))))
;; Comment an inlinetask
(should
(equal "*** COMMENT Test"
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "*** Test"
(call-interactively #'org-comment-dwim)
(buffer-string)))))
;; Uncomment an inlinetask
(should
(equal "*** Test"
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "*** COMMENT Test"
(call-interactively #'org-comment-dwim)
(buffer-string)))))
;; In a source block, use appropriate syntax.
(should
(equal " ;; "
@ -2261,6 +2281,48 @@ CLOCK: [2022-09-17 sam. 11:00]--[2022-09-17 sam. 11:46] => 0:46"
;;; Headline
(ert-deftest test-org/org-back-to-heading ()
"Test `org-back-to-heading' specifications."
;; On heading already
(org-test-with-temp-text "* Head<point>ing"
(org-back-to-heading)
(should (bobp)))
;; Below heading
(org-test-with-temp-text "* Heading
Text<point>"
(org-back-to-heading)
(should (bobp)))
;; At inlinetask
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "* Heading
*** Inlinetask <point>"
(org-back-to-heading)
(should (= 11 (point)))))
;; Below inlinetask
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "* Heading
*** Inlinetask
Test <point>"
(org-back-to-heading)
;; Not at or inside inlinetask. Move to parent heading.
(should (bobp))))
;; Inside inlinetask
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "* Heading
*** Inlinetask
Test <point>
*** END"
(org-back-to-heading)
(should (= 11 (point)))))
;; At END
(let ((org-inlinetask-min-level 3))
(org-test-with-temp-text "* Heading
*** Inlinetask
Test
*** END<point>"
(org-back-to-heading)
(should (= 11 (point))))))
(ert-deftest test-org/get-heading ()
"Test `org-get-heading' specifications."
;; Return current heading, even if point is not on it.