* org-paste-subtree and org-refile broken @ 2011-08-13 3:31 Matt Lundin 2011-08-13 3:36 ` Matt Lundin 2011-08-13 7:25 ` David Maus 0 siblings, 2 replies; 6+ messages in thread From: Matt Lundin @ 2011-08-13 3:31 UTC (permalink / raw) To: Org Mode; +Cc: David Maus The following commit broke org-paste-subtree (and, as a result, refile): ,---- | commit ece3091f16af246780e29ba6e8248dd8bb3b7ba2 | Author: David Maus <dmaus@ictsoc.de> | Date: Wed Aug 10 18:38:26 2011 +0200 | | Don't eat headline when yank with point at existing headline | | * org.el (org-paste-subtree): Don't eat headline when called with | point at existing headline. `---- Here is a minimal example: --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two * Three Text in three * Four Text in four --8<---------------cut here---------------end--------------->8--- If I kill subtree "Four" and call org-paste-subtree with the point on "Two" (or if I refile it to "Two"), I get the following: --8<---------------cut here---------------start------------->8--- * One Text in one * Two * Four Text in four Text in two * Three Text in three --8<---------------cut here---------------end--------------->8--- Best, Matt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: org-paste-subtree and org-refile broken 2011-08-13 3:31 org-paste-subtree and org-refile broken Matt Lundin @ 2011-08-13 3:36 ` Matt Lundin 2011-08-13 7:25 ` David Maus 1 sibling, 0 replies; 6+ messages in thread From: Matt Lundin @ 2011-08-13 3:36 UTC (permalink / raw) To: Org Mode; +Cc: David Maus Matt Lundin <mdl@imapmail.org> writes: > > If I kill subtree "Four" and call org-paste-subtree with the point on > "Two" (or if I refile it to "Two"), I get the following: > > * One > > Text in one > > * Two > * Four > > Text in four > > Text in two > > * Three > > Text in three I should add that the correct result (and old behavior) looks like this when refiling: --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Four Text in four * Three Text in three --8<---------------cut here---------------end--------------->8--- Best, Matt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: org-paste-subtree and org-refile broken 2011-08-13 3:31 org-paste-subtree and org-refile broken Matt Lundin 2011-08-13 3:36 ` Matt Lundin @ 2011-08-13 7:25 ` David Maus 2011-08-13 13:05 ` David Maus 1 sibling, 1 reply; 6+ messages in thread From: David Maus @ 2011-08-13 7:25 UTC (permalink / raw) To: Matt Lundin; +Cc: David Maus, Org Mode, Sebastien Vauban [-- Attachment #1: Type: text/plain, Size: 857 bytes --] Hi Matt, Hi Sebastien, I pushed a temporary workaround to master that should fix the problem with refile and capture. Both depend on a buggy behavior of org-paste-subtree, i.e. pasting a subtree *above* the target headline when called with point at the beginning of the target headline. A fix for the second bug, mixing the content of two headlines > If I kill subtree "Four" and call org-paste-subtree with the point on > "Two" (or if I refile it to "Two"), I get the following: > > --8<---------------cut here---------------start------------->8--- > * One > > Text in one > > * Two > * Four > > Text in four > > Text in two > > * Three > > Text in three > --8<---------------cut here---------------end--------------->8--- is under development. Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de [-- Attachment #2: Type: application/pgp-signature, Size: 230 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: org-paste-subtree and org-refile broken 2011-08-13 7:25 ` David Maus @ 2011-08-13 13:05 ` David Maus 2011-08-13 14:03 ` Matt Lundin 0 siblings, 1 reply; 6+ messages in thread From: David Maus @ 2011-08-13 13:05 UTC (permalink / raw) To: David Maus; +Cc: Sebastien Vauban, Matt Lundin, Org Mode [-- Attachment #1: Type: text/plain, Size: 547 bytes --] At Sat, 13 Aug 2011 09:25:19 +0200, David Maus wrote: > > Hi Matt, > Hi Sebastien, > > I pushed a temporary workaround to master that should fix the problem > with refile and capture. Both depend on a buggy behavior of > org-paste-subtree, i.e. pasting a subtree *above* the target headline > when called with point at the beginning of the target headline. If you have already pulled, please pull again. Had confused something, fixed now. Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de [-- Attachment #2: Type: application/pgp-signature, Size: 230 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: org-paste-subtree and org-refile broken 2011-08-13 13:05 ` David Maus @ 2011-08-13 14:03 ` Matt Lundin 2011-08-20 18:41 ` David Maus 0 siblings, 1 reply; 6+ messages in thread From: Matt Lundin @ 2011-08-13 14:03 UTC (permalink / raw) To: David Maus; +Cc: Sebastien Vauban, Org Mode David Maus <dmaus@ictsoc.de> writes: > At Sat, 13 Aug 2011 09:25:19 +0200, > David Maus wrote: >> >> Hi Matt, >> Hi Sebastien, >> >> I pushed a temporary workaround to master that should fix the problem >> with refile and capture. Both depend on a buggy behavior of >> org-paste-subtree, i.e. pasting a subtree *above* the target headline >> when called with point at the beginning of the target headline. > > If you have already pulled, please pull again. Had confused something, > fixed now. Thanks for fixing this! Refiling is working well now. Could you explain what you mean by a "buggy behavior of org-paste-subtree." AFAIK, org-paste-subtree has always pasted the subtree above the current tree if the point is at the beginning of the headline. Is there something in the documentation that suggests that this should not be the case? I believe this behavior is consistent with org-insert-heading-respect-content, which inserts a new heading above the current heading if called at the beginning of a headline. For instance, in the following example... --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Subpoint two Text in subpoint two. * Three Text in three * Four Text in four --8<---------------cut here---------------end--------------->8--- If I kill headline four, move the point to the beginning of headline three, and yank (i.e., call org-paste-subtree), I get the following, which seems to me correct: --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Subpoint two Text in subpoint two. * Four Text in four * Three Text in three --8<---------------cut here---------------end--------------->8--- Similarly, if I place the cursor on three and call org-insert-heading-respect-content (M-RET), the new headline is inserted above the headline: --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Subpoint two Text in subpoint two. * * Three Text in three * Four Text in four --8<---------------cut here---------------end--------------->8--- Best, Matt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: org-paste-subtree and org-refile broken 2011-08-13 14:03 ` Matt Lundin @ 2011-08-20 18:41 ` David Maus 0 siblings, 0 replies; 6+ messages in thread From: David Maus @ 2011-08-20 18:41 UTC (permalink / raw) To: Matt Lundin; +Cc: David Maus, Org Mode, Sebastien Vauban [-- Attachment #1: Type: text/plain, Size: 4334 bytes --] At Sat, 13 Aug 2011 09:03:40 -0500, Matt Lundin wrote: > > David Maus <dmaus@ictsoc.de> writes: > > > At Sat, 13 Aug 2011 09:25:19 +0200, > > David Maus wrote: > >> > >> Hi Matt, > >> Hi Sebastien, > >> > >> I pushed a temporary workaround to master that should fix the problem > >> with refile and capture. Both depend on a buggy behavior of > >> org-paste-subtree, i.e. pasting a subtree *above* the target headline > >> when called with point at the beginning of the target headline. > > > > If you have already pulled, please pull again. Had confused something, > > fixed now. > > Thanks for fixing this! Refiling is working well now. Could you explain > what you mean by a "buggy behavior of org-paste-subtree." AFAIK, > org-paste-subtree has always pasted the subtree above the current tree > if the point is at the beginning of the headline. Is there something in > the documentation that suggests that this should not be the case? I > believe this behavior is consistent with > org-insert-heading-respect-content, which inserts a new heading above > the current heading if called at the beginning of a headline. For > instance, in the following example... > > --8<---------------cut here---------------start------------->8--- > * One > Text in one > * Two > Text in two > ** Subpoint two > Text in subpoint two. > * Three > Text in three > * Four > Text in four > --8<---------------cut here---------------end--------------->8--- > > If I kill headline four, move the point to the beginning of headline > three, and yank (i.e., call org-paste-subtree), I get the following, > which seems to me correct: > > --8<---------------cut here---------------start------------->8--- > * One > Text in one > * Two > Text in two > ** Subpoint two > Text in subpoint two. > * Four > Text in four > > * Three > Text in three > --8<---------------cut here---------------end--------------->8--- > > Similarly, if I place the cursor on three and call > org-insert-heading-respect-content (M-RET), the new headline is inserted > above the headline: > > --8<---------------cut here---------------start------------->8--- > * One > Text in one > * Two > Text in two > ** Subpoint two > Text in subpoint two. > * > * Three > Text in three > * Four > Text in four > --8<---------------cut here---------------end--------------->8--- > What bothers me is the fact that paste-subtree operates on the previous sibling of a headline if called with explicit level and point at the beginning of a headline. --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Subpoint two Text in subpoint two. * Three Text in three * Four Text in four --8<---------------cut here---------------end--------------->8--- Cut Four, move point at the beginning of Three and paste with a level of 2 (C-u 2 C-c C-x C-y) and you get: --8<---------------cut here---------------start------------->8--- * One Text in one * Two Text in two ** Subpoint two Text in subpoint two. ** Four Text in four * Three Text in three --8<---------------cut here---------------end--------------->8--- For refile this means that if you refile Four to Two, refile operates on Two by operating on Two's following-sibling, Three. There seems to be no practical problem, it's just... strange. Especially if you consider pasting a subtree with point somewhere on a headline but not at the beginning. Here [] represents point. --8<---------------cut here---------------start------------->8--- * One Text in one * T[]wo Text in two ** Subpoint two Text in subpoint two. * Three Text in three --8<---------------cut here---------------end--------------->8--- I've noticed that Org did not cover this case, e.g. calculated the paste level correctly but pasted above. What I expected Org to do in this case is to paste the subtree as last child of Two. If this expectation is implemented (I am on it) then pasting above if point is at beginning of headline is strange because point is still on the heading but the direction of paste is reversed. It's not a practical problem if the subtree is pasted with the same level as the target headline (i.e. its sibling), but still... Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de [-- Attachment #2: Type: application/pgp-signature, Size: 230 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-08-20 18:41 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-08-13 3:31 org-paste-subtree and org-refile broken Matt Lundin 2011-08-13 3:36 ` Matt Lundin 2011-08-13 7:25 ` David Maus 2011-08-13 13:05 ` David Maus 2011-08-13 14:03 ` Matt Lundin 2011-08-20 18:41 ` David Maus
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).