From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martyn Jago Subject: Re: Re: [BUG] Unmatched #+end-src Date: Sat, 12 Mar 2011 21:05:32 +0000 Message-ID: <87d3lwkq1v.fsf@btinternet.com> References: <87ei6cffbw.fsf@btinternet.com> <87bp1gw1a4.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from [140.186.70.92] (port=51182 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PyW0T-0007Qo-Bv for emacs-orgmode@gnu.org; Sat, 12 Mar 2011 16:05:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PyW0Q-0006Ib-OP for emacs-orgmode@gnu.org; Sat, 12 Mar 2011 16:05:49 -0500 Received: from lo.gmane.org ([80.91.229.12]:53589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PyW0Q-0006ID-Iu for emacs-orgmode@gnu.org; Sat, 12 Mar 2011 16:05:46 -0500 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PyW0O-0006cZ-Ub for emacs-orgmode@gnu.org; Sat, 12 Mar 2011 22:05:44 +0100 Received: from 88-96-171-142.dsl.zen.co.uk ([88.96.171.142]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 12 Mar 2011 22:05:44 +0100 Received: from martyn.jago by 88-96-171-142.dsl.zen.co.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 12 Mar 2011 22:05:44 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Nicolas writes: Hi > Hello, > > Aankhen 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