From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: save-excursion and the mark Date: Wed, 15 Apr 2015 10:59:08 -0400 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1429109979 8544 80.91.229.3 (15 Apr 2015 14:59:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Apr 2015 14:59:39 +0000 (UTC) Cc: emacs-devel@gnu.org To: Magnar Sveen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 15 16:59:30 2015 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 1YiOmo-00082S-0f for ged-emacs-devel@m.gmane.org; Wed, 15 Apr 2015 16:59:30 +0200 Original-Received: from localhost ([::1]:60846 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiOmm-00064n-Iu for ged-emacs-devel@m.gmane.org; Wed, 15 Apr 2015 10:59:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37432) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiOmd-00064V-Va for emacs-devel@gnu.org; Wed, 15 Apr 2015 10:59:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YiOmX-0007ZW-Qg for emacs-devel@gnu.org; Wed, 15 Apr 2015 10:59:19 -0400 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:50432) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiOmX-0007UI-KX for emacs-devel@gnu.org; Wed, 15 Apr 2015 10:59:13 -0400 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t3FEx80K014971; Wed, 15 Apr 2015 10:59:08 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 767BD15D9; Wed, 15 Apr 2015 10:59:08 -0400 (EDT) In-Reply-To: (Magnar Sveen's message of "Wed, 15 Apr 2015 13:49:05 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5277=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5277> : inlines <2719> : streams <1422925> : uri <1907374> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.22 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:185457 Archived-At: >> That wouldn't solve the problems with save-excursion. > You're calling save-excursion a "broken API", but it's in use everywhere - Yes, the save-point part of it is used everywhere and works well. The save-mark part of it was used pretty much nowhere and does not work well. > it is a staple of emacs lisp - and has been working for years. Still works. Just ever so slightly differently. > So yeah, offering an alternative for the 1% of cases where it isn't > working as intended would solve the problem. With no breakage. As mentioned, there was breakage. > It's not like you'll get a proper error message when it breaks. I know, just like the previously existing breakage that got fixed by this change. > Are you seriously expecting users of Emacs to storm into emacs-devel in > anticipation of their code breaking prior to a release? There's already been very hot debates about this change, but actual examples of broken code have been really hard to come by, so despite the heat I've gotten, am getting, and will keep getting, I'll stick to my guns for now. > Or are you talking about rolling back a breaking change after the fact, That's clearly an option. Doing so after 25.1 is released would be highly unlikely, but until 25.1 the change is tentative. > creating issues for new code relying on new behavior? Based on what I've seen of existing uses of save-excursion, I'm not worried about this. > It was just the other day that I pointed out a package in Emacs that's > from 1999 to a friend. It's not been changed since. I used it as an > example of how stable Emacs is, and how it allows for a piece of > software to be done. Really done. This new attitude towards breaking > changes saddens me in that light. Every Emacs release introduced incompatible changes. Maybe more so under my maintainership, I don't know. But the only thing that could change my opinion, I think, is more evidence that this change breaks a lot of code (and of course, such evidence is stronger when found in high-quality code, since I'm more willing to break bad code than good code). Stefan