[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] M-RET inside the first second-level heading of the first first-l
From: |
Carsten Dominik |
Subject: |
Re: [O] M-RET inside the first second-level heading of the first first-level heading |
Date: |
Fri, 10 May 2013 08:49:19 +0200 |
On 7.5.2013, at 23:34, John Hendy <address@hidden> wrote:
> On Tue, May 7, 2013 at 4:54 AM, Bastien <address@hidden> wrote:
>> Hi John,
>>
>> John Hendy <address@hidden> writes:
>>
>>> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <address@hidden> wrote:
>>>> Hi Jisang,
>>>>
>>>> Jisang Yoo <address@hidden> writes:
>>>>
>>>>> 2. Place cursor at the beginning of "** bacon" and press M-RET and org
>>>>> creates
>>>>> a first-level heading.
>>>>
>>>> This should now be fixed. Thanks for reporting this,
>>>
>>> There were some same/similar/related issues as well, and I'm still not
>>> getting perfect results.
>>>
>>> Using a minimal config (below), if I create this in a new file
>>>
>>> * test
>>> ** test1
>>> ** test2
>>>
>>> and then fold on * test, I get this:
>>>
>>> * test...2
>>
>> I do have (setq require-final-newline t) in my config, which prevents
>> this. What happens is this: if you don't have the config above, the
>> folding will get wrong and display the "2" from the end of the buffer.
>>
>>> Also, after navigating to the end of * test...2 (with it folded) and
>>> issuing M-RET, I get a new second level heading after ** test2. I
>>> would have expected a new first level headline since I did M-RET on a
>>> first level headline. Or is that the default behavior?
>>
>> If you are before the "..." ellipsis, you are on a first level
>> headline and M-RET will insert a first level headline. Otherwise you
>> are on a second level headline ("test2") and it will insert a second
>> level headline.
>
> Ah, that now makes sense. But... just to be clear, take this case:
>
> * Headline1
> - list1
> - list2
>
> Now fold it:
>
> * Headline1<cursor>...
>
> If I do M-RET at <cursor>, I get:
>
> * Headline1
> * <cursor>
> - list1
> - list2
>
> Is that how it's supposed to work? My use case is generally to have a
> new headline after * Headline1 *and* it's contents, not putting
> contents inside the new headline.
>
> C-RET seems to behave more like I'd expect. In reading the manual, I
> think I was just confused on usage based on the definition of C-RET,
> however this in the description of M-RET is confusing:
>
> #+begin_quote
> If the command is used at the end of a folded subtree (i.e., behind
> the ellipses at the end of a headline), then a headline like the
> current one will be inserted after the end of the subtree. Calling
> this command with C-u C-u will unconditionally respect the headline's
> content and create a new item at the end of the parent subtree.
> #+end_quote
>
> It makes it seem like my original case in which the cursor is behind
> (after?) the ... should insert a same-level headline after the end of
> the current subtree (which I would assume means that headline and all
> contents). Am I reading that incorrectly? It doesn't really talk about
> the behavior if you're before the ellipsis.
Yes, this is also a bit confusing. I think it would be desirable if it
worked as described in the manual, but this is not what is happening.
For now, I fixed the manual.
- Carsten
>
>
> Thanks for clarifying,
> John
>
>>
>>> If so, I guess my only concern is the folding of the end of a headline
>>> if there's no hard return after it into the ellipsis of it's parent.
>>
>> Yes. Maybe M-RET could/should handle this corner-case but since
>> `org-insert-heading' is deserving a full rewrite, I'm not going to
>> try to handle this corner-case myself... let's just keep it in mind
>> when doing the rewrite. Thanks for spotting it,
>>
>> --
>> Bastien
>