From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Default behaviour of RET. Date: Fri, 18 Oct 2013 20:45:51 +0000 Message-ID: <20131018204551.GC3012@acm.acm> References: <20131013172841.GA2498@acm.acm> <525D8946.4070406@gmx.at> <20131016171240.GA3125@acm.acm> <525EDC50.8010401@gmx.at> <20131016192642.GD3125@acm.acm> <87mwm8g61e.fsf@uwakimon.sk.tsukuba.ac.jp> <20131018170320.GC2569@acm.acm> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1382129285 25560 80.91.229.3 (18 Oct 2013 20:48:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 18 Oct 2013 20:48:05 +0000 (UTC) Cc: martin rudalics , "Stephen J. Turnbull" , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 18 22:48:08 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VXGxs-0005IV-Dx for ged-emacs-devel@m.gmane.org; Fri, 18 Oct 2013 22:48:08 +0200 Original-Received: from localhost ([::1]:59351 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VXGxs-0002eQ-1K for ged-emacs-devel@m.gmane.org; Fri, 18 Oct 2013 16:48:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VXGxi-0002eI-6s for emacs-devel@gnu.org; Fri, 18 Oct 2013 16:48:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VXGxa-0007Ub-Rw for emacs-devel@gnu.org; Fri, 18 Oct 2013 16:47:58 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:57230 helo=mail.muc.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VXGxa-0007UR-IZ for emacs-devel@gnu.org; Fri, 18 Oct 2013 16:47:50 -0400 Original-Received: (qmail 30372 invoked by uid 3782); 18 Oct 2013 20:47:48 -0000 Original-Received: from acm.muc.de (pD9518115.dip0.t-ipconnect.de [217.81.129.21]) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 18 Oct 2013 22:47:47 +0200 Original-Received: (qmail 5053 invoked by uid 1000); 18 Oct 2013 20:45:51 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 8.x X-Received-From: 193.149.48.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:164331 Archived-At: Hello, Stefan. On Fri, Oct 18, 2013 at 03:52:22PM -0400, Stefan Monnier wrote: > >> > The traditional docstring says that it moves to the left margin and > >> > handles auto-filling. Eli's suggestion of `(insert "\n")' doesn't do > >> > that, and it's not what `newline' does when corrupted by > >> > `electric-shock-mode'. But I think it's useful behavior, and I think > >> > programs should be able to rely on it (as opposed to users who can > >> > modify the behavior of `One-Flew-Over-the-Cuckoos-Nest-mode' by > >> > removing ?\n, or not invoke the mode in the first place). > >> I can't remember ever seeing a piece of code which wants "the Emacs-23 > >> newline behavior". Usually it either wants to (insert "\n") or it wants > >> to simulate hitting RET. > > I gave an example of such code in the post which opened this thread. To > > recap: > > (newline) > > (insert "(vi)") > > (fill-paragraph) > > The `-and-indent' behaviour messes up the indentation of "(vi)" and > > causes it to get re-attached to the previous paragraph. > I see why the above doesn't want the "simulate RET" behavior. > But I don't see why it wouldn't work just fine with the (insert > "\n") behavior? The `newline' tidies up the previous paragraph, in particular it fills it. It might also cause abbreviations to be expanded. I could easily adapt this piece of code to cope with the `-and-indent' which has been attached to `newline', but that's not the point. The point is that there are a near infinite number of invocations of `newline' in the wild, and an unknown proportion of these, possibly quite high, will depend on `newline' doing precisely what its doc string says. Their existence makes the utility of electric-indent-mode, at the moment, questionable. > >> This discussion would benefit from actual examples of code that > >> fall into neither "do whatever RET does" nor "insert \n". > > See above. Any code which is interested in filling (or, possibly, even > > margins, if anything actually uses these) will get broken by the > > `-and-indent'. > "any code which..." is not concrete. I've given you a concrete example of such code, several times. It's not a particularly bizarre piece of code, either. electric-indent-mode's indentation of a new line is broken. Please take this behaviour out. > Stefan -- Alan Mackenzie (Nuremberg, Germany).