From: Noorul Islam <noorul@noorul.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: Richard Riley <rileyrg@googlemail.com>, emacs-orgmode@gnu.org
Subject: Re: capture initial "level" and refile of capture buffer
Date: Mon, 25 Oct 2010 14:24:52 +0530 [thread overview]
Message-ID: <AANLkTinm25DszndeD_8ZAyV=EczGzVchDAL-=ZEu4r6b@mail.gmail.com> (raw)
In-Reply-To: <4D2F89B4-6F6C-411D-B272-3FF3DAD80B23@gmail.com>
On Mon, Oct 25, 2010 at 12:41 PM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
> Hi Noorul, hi Richard,
>
>
> On Oct 23, 2010, at 12:16 PM, Noorul Islam wrote:
>
>> On Sat, Oct 23, 2010 at 2:12 PM, Noorul Islam <noorul@noorul.com> wrote:
>>>
>>> On Fri, Oct 22, 2010 at 5:13 PM, Richard Riley <rileyrg@googlemail.com>
>>> wrote:
>>>>
>>>> What determines the level of a new capture element? e.g I just created
>>>> one and it started at "****".
>>>>
>>>> feature request : when I added some sub elements to a capture buffer e.g
>>>>
>>>> * my new capture
>>>>
>>>> ** sub point
>>>>
>>>> *** sub sub point 1
>>>> *** sub sub point 2
>>>>
>>>> and hit C-c C-w to refile, it only refiled the sub element (where cursor
>>>> was) and then lost the rest. I would like to suggest that refile from
>>>> the capture buffer should refile the entire buffer and not only the
>>>> "current nested org item". Or am I missing something in my setup?
>>>
>>> On my box I have this observation.
>>>
>>> If I have something like this in my capture buffer
>>>
>>> * TODO Test
>>>
>>> * my new capture
>>>
>>> ** sub point
>>>
>>> *** sub sub point 1
>>> *** sub sub point 2
>>>
>>>
>>> and if I press C-c C-w at the last line (*** sub sub point 2) and
>>> refile it to refile.org then what I get in refile.org is this
>>>
>>>
>>> * TODO Test
>>>
>>> * my new capture
>>>
>>> ** sub point
>>>
>>> *** sub sub point 1
>>> * sub sub point 2
>>>
>>>
>>> The last one's level got changed.
>>> I have latest pull from git repo.
>>>
>>> Org-mode version 7.01trans (release_7.01h.833.g21ad0)
>>> GNU Emacs 23.2.2 (i686-pc-linux-gnu)
>>> of 2010-06-08 on sajida
>>>
>>
>> Fix org-capture bug.
>>
>> * lisp/org.el (org-capture-refile): Consider entire temporary buffer
>> for refiling.
>
>
>> diff --git a/lisp/org-capture.el b/lisp/org-capture.el
>> index 7915f7f..6c62114 100644
>> --- a/lisp/org-capture.el
>> +++ b/lisp/org-capture.el
>> @@ -548,7 +548,7 @@ already gone."
>> (unless (eq (org-capture-get :type 'local) 'entry)
>> (error
>> "Refiling from a capture buffer makes only sense for `entry'-type
>> templates"))
>> - (let ((pos (point))
>> + (let ((pos (point-min))
>> (base (buffer-base-buffer (current-buffer)))
>> (org-refile-for-capture t))
>> (org-capture-finalize)
>
>
> This patch catures the problem and brings forward a correct idea.
> But I believe we need to think a bit further. The current
> implementation of C-c C-w as a way to finish capture works
> as closely as possible to the standard refile mechanism.
> I.e. the tree *where the cursor is at* will be refiled.
>
> Your patch makes the cursor move back to beginning of the
> accessible part of the buffer and refiles from there.
>
> If the captured entry starts at this point, and if all
> the narrowed section contains is a single tree, this
> is a good solution. However, if we move away from having
> refile work in the exact same way as normally, the
> following questions arise:
>
> 1. Maybe the user has entered an empty line before the subtree.
> In this case, the outline node *before* the captured tree
> will now be refiled.
>
> 2. Maybe the user has widened the capture buffer. In this case
> the code will now refile the first node in the buffer, possibly
> very far from the current location of point. Or, it will
> throw an error because the may not be an outline
> node at point min.
>
> 3. Maybe the user has added several trees (siblings) into the
> capture buffer. In this case, the refile will only
> affect the first of those siblings.
>
Fair enough. Thank you!
> So we have two solutions here:
>
> Solution 1: Be aware that you are just calling refile, so
> move the cursor to the appropriate place before
> running the command.
>
If we insist this in the manual then I think no change is required.
But what about the bug that I mentioned earlier, the one that looses the level?
Thanks and Regards
Noorul
next prev parent reply other threads:[~2010-10-25 8:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-22 11:43 capture initial "level" and refile of capture buffer Richard Riley
2010-10-23 8:42 ` Noorul Islam
2010-10-23 10:16 ` Noorul Islam
2010-10-23 10:34 ` Noorul Islam
2010-10-25 7:11 ` Carsten Dominik
2010-10-25 8:54 ` Noorul Islam [this message]
2010-10-25 9:11 ` Carsten Dominik
2010-12-12 8:39 ` Carsten Dominik
2010-10-25 11:34 ` Carsten Dominik
2010-10-26 8:37 ` Noorul Islam
2010-10-26 8:53 ` Carsten Dominik
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='AANLkTinm25DszndeD_8ZAyV=EczGzVchDAL-=ZEu4r6b@mail.gmail.com' \
--to=noorul@noorul.com \
--cc=carsten.dominik@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=rileyrg@googlemail.com \
/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).