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