forked from mirrors/org-mode
org.el: `org-toggle-heading' skips comments and returns a message when nothing has been done.
* org.el (org-at-comment-p): New function. (org-toggle-heading): Use `org-at-comment-p' to skip comments. Thanks to Charlie Millar for raising this issue.
This commit is contained in:
parent
820803ab95
commit
a6e4dcfb4d
22
lisp/org.el
22
lisp/org.el
|
@ -19139,9 +19139,10 @@ stars to add."
|
|||
(lambda (pos)
|
||||
(save-excursion
|
||||
(goto-char pos)
|
||||
(while (org-at-comment-p) (forward-line))
|
||||
(skip-chars-forward " \r\t\n")
|
||||
(point-at-bol)))))
|
||||
beg end)
|
||||
beg end toggled)
|
||||
;; Determine boundaries of changes. If a universal prefix has
|
||||
;; been given, put the list in a region. If region ends at a bol,
|
||||
;; do not consider the last line to be in the region.
|
||||
|
@ -19166,7 +19167,8 @@ stars to add."
|
|||
((org-at-heading-p)
|
||||
(while (< (point) end)
|
||||
(when (org-at-heading-p t)
|
||||
(looking-at org-outline-regexp) (replace-match ""))
|
||||
(looking-at org-outline-regexp) (replace-match "")
|
||||
(setq toggled t))
|
||||
(forward-line)))
|
||||
;; Case 2. Started at an item: change items into headlines.
|
||||
;; One star will be added by `org-list-to-subtree'.
|
||||
|
@ -19194,7 +19196,8 @@ stars to add."
|
|||
(org-list-to-subtree
|
||||
(org-list-parse-list t)
|
||||
'(:istart (concat stars add-stars (funcall get-stars depth))
|
||||
:icount (concat stars add-stars (funcall get-stars depth))))))))
|
||||
:icount (concat stars add-stars (funcall get-stars depth)))))))
|
||||
(setq toggled t))
|
||||
(forward-line))))
|
||||
;; Case 3. Started at normal text: make every line an heading,
|
||||
;; skipping headlines and items.
|
||||
|
@ -19210,10 +19213,11 @@ stars to add."
|
|||
(t "*"))) ; inside heading, oddeven
|
||||
(rpl (concat stars add-stars " ")))
|
||||
(while (< (point) end)
|
||||
(when (and (not (org-at-heading-p)) (not (org-at-item-p))
|
||||
(when (and (not (or (org-at-heading-p) (org-at-item-p) (org-at-comment-p)))
|
||||
(looking-at "\\([ \t]*\\)\\(\\S-\\)"))
|
||||
(replace-match (concat rpl (match-string 2))))
|
||||
(forward-line)))))))))
|
||||
(replace-match (concat rpl (match-string 2))) (setq toggled t))
|
||||
(forward-line)))))))
|
||||
(unless toggled (message "Cannot toggle heading from here"))))
|
||||
|
||||
(defun org-meta-return (&optional arg)
|
||||
"Insert a new heading or wrap a region in a table.
|
||||
|
@ -21208,6 +21212,12 @@ This version does not only check the character property, but also
|
|||
;; Compatibility alias with Org versions < 7.8.03
|
||||
(defalias 'org-on-heading-p 'org-at-heading-p)
|
||||
|
||||
(defun org-at-comment-p nil
|
||||
"Is cursor in a line starting with a # character?"
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(looking-at "^#")))
|
||||
|
||||
(defun org-at-drawer-p nil
|
||||
"Is cursor at a drawer keyword?"
|
||||
(save-excursion
|
||||
|
|
Loading…
Reference in a new issue