Nicolas <n.goaz...@gmail.com> writes:

Hi

> Hello,
>
> Aankhen <aank...@gmail.com> writes:
>
>>> --8<---------------cut here---------------start------------->8---
>>> * Unmatched #+end-src bug
>>>
>>> #+end_src
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> With the above simple org file, placing the cursor at the end of
>>> #+end_src and hitting return causes emacs to hang.
>>>
>> The =cond= is part of a =while= loop; it just keeps looping, entering
>> that branch and doing nothing (rather than moving point and picking up
>> again from there).  Going by the other branches, I think the correct
>> thing to do is just exit the loop:
>
> I don't think exiting the loop that way is the right thing to do, as it
> always return nil, even though the #+end_ might be in the list.
> Moreover, there are other parts of the file that should also be fixed.

I've supplied a patch which passes all of my tests, but I will look at
providing additional tests looking at other cases within this loop since
I'm currently in the habit of writing tests anyway. 

>
> I think there are 3 options here:
>
> 1. Effectively stop everything, but at least throw an informative error.
> 2. Consider the #+end_ as normal text after all, and resume the loop.
> 3. Consider #+end_ as normal text and message the user about his syntax
>    problem.
>
> I'm not sure yet what's the best way to go, but I think option 2 is
> sufficient.
>
>
> Regards,

Regards

Martyn


Reply via email to