If `org-toggle-item' is called between the text of an entry and the next heading,
it removes the tags from the next heading.

ECM:

With the following Org markup in a buffer and point denoted by "|":

#+begin_example
,* First

Some text
|

,** Second :tag:
#+end_example

invoking `org-toggle-item' removes the second heading's tags, resulting in:

#+begin_example
,* First

Some text
|

,** Second
#+end_example

`org-toggle-item's documentation claims:

Convert headings or normal lines to items, items to normal lines. If there is no active region, only the current line is considered.

Though this doesn't seem to be the case here. There is no active region, so I would expect it to do nothing in this case.

I stepped through `org-toggle-item' and I believe it's because of the following logic:

 >;; Determine boundaries of changes.
 >(if (org-region-active-p)
(setq beg (funcall skip-blanks (region-beginning))
     >end (copy-marker (region-end)))
   >(setq beg (funcall skip-blanks (point-at-bol))
   >end (copy-marker (point-at-eol))))

Blank lines are being skipped regardless of whether region is active or not.

Reply via email to