* M-RET inside the first second-level heading of the first first-level heading
@ 2013-04-25 20:39 Jisang Yoo
2013-04-25 21:51 ` John Hendy
2013-04-26 6:54 ` Bastien
0 siblings, 2 replies; 9+ messages in thread
From: Jisang Yoo @ 2013-04-25 20:39 UTC (permalink / raw)
To: emacs-orgmode
short description:
When I try to create a new heading using M-RET, it works as expected except
one case: inside the first second-level heading of the first first-level
heading. This bug affects the latest ELPA version of org, but not the latest
bundled-with-Emacs version
long description:
Org version 8.0.1-6-ge6776c-elpaplus
GNU Emacs 24.3.1
Create an org buffer with the following contents
* crunchy
** bacon
* soft
** tofu
* warm
** milk
1. Place cursor at the end of bacon and press M-RET and org creates a first-
level heading, when it should have created a second level heading as it does
at the end of tofu or milk.
2. Place cursor at the beginning of "** bacon" and press M-RET and org creates
a first-level heading.
The odd behavior disappears after I add an empty line before the first
heading.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-04-25 20:39 M-RET inside the first second-level heading of the first first-level heading Jisang Yoo
@ 2013-04-25 21:51 ` John Hendy
2013-04-26 6:54 ` Bastien
1 sibling, 0 replies; 9+ messages in thread
From: John Hendy @ 2013-04-25 21:51 UTC (permalink / raw)
To: Jisang Yoo; +Cc: emacs-orgmode
On Thu, Apr 25, 2013 at 3:39 PM, Jisang Yoo <jisang.yoo.ac+org@gmail.com> wrote:
> short description:
>
> When I try to create a new heading using M-RET, it works as expected except
> one case: inside the first second-level heading of the first first-level
> heading. This bug affects the latest ELPA version of org, but not the latest
> bundled-with-Emacs version
>
> long description:
>
> Org version 8.0.1-6-ge6776c-elpaplus
> GNU Emacs 24.3.1
>
> Create an org buffer with the following contents
>
> * crunchy
> ** bacon
> * soft
> ** tofu
> * warm
> ** milk
>
> 1. Place cursor at the end of bacon and press M-RET and org creates a first-
> level heading, when it should have created a second level heading as it does
> at the end of tofu or milk.
>
> 2. Place cursor at the beginning of "** bacon" and press M-RET and org creates
> a first-level heading.
I can replicate on Org-mode version 8.0.1 (release_8.0.1-40-g38051c).
>
> The odd behavior disappears after I add an empty line before the first
> heading.
I can also replicate this. Also odd is that if I put text under the
first headline, it doesn't seem to matter what spacing is before/after
it; ** bacon<cursor> and M-RET will create a first level headline.
* crunchy
Test of some stuff.
** bacon
I can delete the empty space between "Test of some stuff." and the
first headline, or add more spaces, add more spaces between ** bacon
and * soft, and I always get a first level headline with M-RET after
** bacon. Same with C-RET.
John
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-04-25 20:39 M-RET inside the first second-level heading of the first first-level heading Jisang Yoo
2013-04-25 21:51 ` John Hendy
@ 2013-04-26 6:54 ` Bastien
2013-05-02 18:51 ` John Hendy
1 sibling, 1 reply; 9+ messages in thread
From: Bastien @ 2013-04-26 6:54 UTC (permalink / raw)
To: Jisang Yoo; +Cc: emacs-orgmode
Hi Jisang,
Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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,
--
Bastien
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-04-26 6:54 ` Bastien
@ 2013-05-02 18:51 ` John Hendy
2013-05-02 18:52 ` John Hendy
2013-05-07 9:54 ` Bastien
0 siblings, 2 replies; 9+ messages in thread
From: John Hendy @ 2013-05-02 18:51 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode, Jisang Yoo
On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
> Hi Jisang,
>
> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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
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 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.
Thanks!
John
>
> --
> Bastien
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-05-02 18:51 ` John Hendy
@ 2013-05-02 18:52 ` John Hendy
2013-05-07 9:54 ` Bastien
1 sibling, 0 replies; 9+ messages in thread
From: John Hendy @ 2013-05-02 18:52 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode, Jisang Yoo
On Thu, May 2, 2013 at 1:51 PM, John Hendy <jw.hendy@gmail.com> wrote:
> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
>> Hi Jisang,
>>
>> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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
Sorry... config used with emacs -Q is this:
;; set load paths
;; set load dirs and global config options
(add-to-list 'load-path "~/.elisp/org.git/lisp/")
(add-to-list 'load-path "~/.elisp/org.git/contrib/lisp")
[deleted]
John
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-05-02 18:51 ` John Hendy
2013-05-02 18:52 ` John Hendy
@ 2013-05-07 9:54 ` Bastien
2013-05-07 21:34 ` John Hendy
1 sibling, 1 reply; 9+ messages in thread
From: Bastien @ 2013-05-07 9:54 UTC (permalink / raw)
To: John Hendy; +Cc: Jisang Yoo, emacs-orgmode
Hi John,
John Hendy <jw.hendy@gmail.com> writes:
> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
>> Hi Jisang,
>>
>> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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.
> 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-05-07 9:54 ` Bastien
@ 2013-05-07 21:34 ` John Hendy
2013-05-10 6:49 ` Carsten Dominik
0 siblings, 1 reply; 9+ messages in thread
From: John Hendy @ 2013-05-07 21:34 UTC (permalink / raw)
To: Bastien; +Cc: Jisang Yoo, emacs-orgmode
On Tue, May 7, 2013 at 4:54 AM, Bastien <bzg@gnu.org> wrote:
> Hi John,
>
> John Hendy <jw.hendy@gmail.com> writes:
>
>> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
>>> Hi Jisang,
>>>
>>> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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.
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-05-07 21:34 ` John Hendy
@ 2013-05-10 6:49 ` Carsten Dominik
2013-05-17 23:08 ` John Hendy
0 siblings, 1 reply; 9+ messages in thread
From: Carsten Dominik @ 2013-05-10 6:49 UTC (permalink / raw)
To: John Hendy; +Cc: Bastien, emacs-orgmode, Jisang Yoo
On 7.5.2013, at 23:34, John Hendy <jw.hendy@gmail.com> wrote:
> On Tue, May 7, 2013 at 4:54 AM, Bastien <bzg@gnu.org> wrote:
>> Hi John,
>>
>> John Hendy <jw.hendy@gmail.com> writes:
>>
>>> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
>>>> Hi Jisang,
>>>>
>>>> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: M-RET inside the first second-level heading of the first first-level heading
2013-05-10 6:49 ` Carsten Dominik
@ 2013-05-17 23:08 ` John Hendy
0 siblings, 0 replies; 9+ messages in thread
From: John Hendy @ 2013-05-17 23:08 UTC (permalink / raw)
To: Carsten Dominik; +Cc: Bastien, emacs-orgmode, Jisang Yoo
On Fri, May 10, 2013 at 1:49 AM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
>
> On 7.5.2013, at 23:34, John Hendy <jw.hendy@gmail.com> wrote:
>
>> On Tue, May 7, 2013 at 4:54 AM, Bastien <bzg@gnu.org> wrote:
>>> Hi John,
>>>
>>> John Hendy <jw.hendy@gmail.com> writes:
>>>
>>>> On Fri, Apr 26, 2013 at 1:54 AM, Bastien <bzg@gnu.org> wrote:
>>>>> Hi Jisang,
>>>>>
>>>>> Jisang Yoo <jisang.yoo.ac+org@gmail.com> 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.
>
Much appreciated, and I'll be following the other M-RET and C-RET
thread as it seems some of this behavior will change in the near
future.
Thanks!
John
> - 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
>>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-05-17 23:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-25 20:39 M-RET inside the first second-level heading of the first first-level heading Jisang Yoo
2013-04-25 21:51 ` John Hendy
2013-04-26 6:54 ` Bastien
2013-05-02 18:51 ` John Hendy
2013-05-02 18:52 ` John Hendy
2013-05-07 9:54 ` Bastien
2013-05-07 21:34 ` John Hendy
2013-05-10 6:49 ` Carsten Dominik
2013-05-17 23:08 ` John Hendy
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).