emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Noorul Islam <noorul@noorul.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 11:11:04 +0200	[thread overview]
Message-ID: <58B1BF98-601D-40B5-9DF3-40CBB9A3A8D9@gmail.com> (raw)
In-Reply-To: <AANLkTinm25DszndeD_8ZAyV=EczGzVchDAL-=ZEu4r6b@mail.gmail.com>


On Oct 25, 2010, at 10:54 AM, Noorul Islam wrote:

> 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?

Still need to look at that one.

- Carsten

  reply	other threads:[~2010-10-25  9:14 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
2010-10-25  9:11         ` Carsten Dominik [this message]
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=58B1BF98-601D-40B5-9DF3-40CBB9A3A8D9@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=noorul@noorul.com \
    --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).