Thanks for addressing my concern, Ihor.
So I can force same-level yank by navigating to the beginning of the
current headline before calling org-paste-subtree, I see. However, I
still do not see a way to force it to paste one level below the current
headline, i. e. to add the trees on the clipboard as child-subtrees or
the current heading.
My best bet currently is probably to create a blank child heading, add
some text (there seems to be a glitch turning the blank heading into an
empty line when pasting with point on the blank dummy heading when it
has no text), go back to the beginning of the line, then paste the
subtrees at the level of the dummy heading, navigate back to the dummy
heading and delete it. I'd really rather not have to do all that to
achieve my simple goal of pasting subtrees at child level.
As for the claim that the current procedure "makes sure that the subtree
remains an independent subtree and does not swallow low level entries.",
either I don't understand it or it isn't true. If I have a level 2
heading below which is a level 5 heading and I paste subtrees with point
on the level 2 heading, the level 5 heading is subsumed under the last
subtree yanked from the clipboard in all cases.
Best,
Philipp
On 18.01.2023 09:04, Ihor Radchenko wrote:
Philipp Kiefer<phil.kie...@gmail.com> writes:
Unfortunately, org-paste-subtree currently attempts to "modify the level of
the subtree to make sure the tree fits in nicely at the yank position"
[from Org Manual].
...
My suggestion would be to make a fundamental change to how the command
works, prioritizing definite A) or B) type results over the current vague
"the tree fits in nicely" approach. IMHO the default should be to yank at
the same level as the focused heading. Then, if the C-u 0 numeric prefix
(which currently produces an error message) were used to yank at one level
below that (as subheadings of the focused heading), the functionality of
the other numeric prefixes to set the yank level could be preserved.
AFAIU, `org-paste-subtree' already does what you want for the most part.
See the function docstring:
Paste the clipboard as a subtree, with modification of headline level.
The entire subtree is promoted or demoted in order to match a new headline
level.
If the cursor is at the beginning of a headline, the same level as
that headline is used to paste the tree.
If not, the new level is derived from the *visible* headings
before and after the insertion point, and taken to be the inferior headline
level of the two. So if the previous visible heading is level 3 and the
next is level 4 (or vice versa), level 4 will be used for insertion.
This makes sure that the subtree remains an independent subtree and does
not swallow low level entries.