From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r111086: gmm-utils.el (gmm-flet, gmm-labels): New macros. Date: Wed, 05 Dec 2012 14:29:38 -0500 Message-ID: References: Reply-To: rms@gnu.org NNTP-Posting-Host: plane.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1354735793 30034 80.91.229.3 (5 Dec 2012 19:29:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Dec 2012 19:29:53 +0000 (UTC) Cc: yamaoka@jpl.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 05 20:30:01 2012 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 1TgKfM-0002og-Pd for ged-emacs-devel@m.gmane.org; Wed, 05 Dec 2012 20:29:56 +0100 Original-Received: from localhost ([::1]:48263 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKfA-0007Ej-Q0 for ged-emacs-devel@m.gmane.org; Wed, 05 Dec 2012 14:29:44 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53792) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKf7-00078T-Qg for emacs-devel@gnu.org; Wed, 05 Dec 2012 14:29:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TgKf6-0000Yf-Io for emacs-devel@gnu.org; Wed, 05 Dec 2012 14:29:41 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44379) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKf6-0000YY-Fe for emacs-devel@gnu.org; Wed, 05 Dec 2012 14:29:40 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1TgKf4-0007aw-1M; Wed, 05 Dec 2012 14:29:38 -0500 In-reply-to: (message from Stefan Monnier on Tue, 04 Dec 2012 23:19:05 -0500) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:155306 Archived-At: The problem with defadvice is that it overrides functions. The letf cases we're talking about also override functions, so they're just as nasty as uses of defadvice. Worse, they don't even announce themselves in the docstring and they often remove themselves before you get a chance to see that some overriding is going on. The reason it is bad for the Emacs sources to override functions in the Emacs sources is that it makes for confusion in debugging. Thus my decision many years ago that the Emacs sources should not contain any advice for functions. I considered every use of defadvice in the Emacs source code as a problem to be fixed. I did not fix them all, only for lack of time. I think the same argument applies to letf. So the Emacs sources should not contain advice or letf. Users can use these features -- the only people they might confuse are themselves, and we can leave it up to them to decide whether to take that risk. However, in our code, we should handle these situations in other ways. -- Dr Richard Stallman President, Free Software Foundation 51 Franklin St Boston MA 02110 USA www.fsf.org www.gnu.org Skype: No way! That's nonfree (freedom-denying) software. Use Ekiga or an ordinary phone call