emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Philipp Kiefer <phil.kiefer@gmail.com>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Make org-paste-subtree more predictable and useful
Date: Wed, 18 Jan 2023 16:41:52 +0100	[thread overview]
Message-ID: <2eebe03e-fda5-f879-2643-2c9a146dd23e@gmail.com> (raw)
In-Reply-To: <87r0vs8e02.fsf@localhost>

[-- Attachment #1: Type: text/plain, Size: 2919 bytes --]

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.kiefer@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.
>

[-- Attachment #2: Type: text/html, Size: 3744 bytes --]

  reply	other threads:[~2023-01-18 15:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-17 20:14 Make org-paste-subtree more predictable and useful Philipp Kiefer
2023-01-18  8:04 ` Ihor Radchenko
2023-01-18 15:41   ` Philipp Kiefer [this message]
2023-01-19  9:44     ` Ihor Radchenko
2023-01-19 17:31       ` Philipp Kiefer
2023-01-20 10:12         ` [BUG] org-paste-subtree level when point is in the middle of a heading (was: Make org-paste-subtree more predictable and useful) Ihor Radchenko
2024-04-19 11:13           ` Ihor Radchenko
2023-01-20 10:21         ` [FR] Add C-u and C-u C-u prefix arguments to org-paste-subtree " Ihor Radchenko
2023-01-20 19:27           ` Philipp Kiefer
2024-04-21 12:02             ` Ihor Radchenko
2024-04-22  0:35               ` Samuel Wales
2024-04-22  0:57                 ` Samuel Wales
2024-04-22 19:51                   ` Ihor Radchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2eebe03e-fda5-f879-2643-2c9a146dd23e@gmail.com \
    --to=phil.kiefer@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).