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.