From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: [Emacs-diffs] /srv/bzr/emacs/trunk r111086: gmm-utils.el(gmm-flet, gmm-labels): New macros. Date: Wed, 5 Dec 2012 11:35:41 -0800 Message-ID: <9CFE702F7B9D4624AAF7B3D460D25E3D@us.oracle.com> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1354736151 31294 80.91.229.3 (5 Dec 2012 19:35:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Dec 2012 19:35:51 +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:36:03 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 1TgKlG-0002mc-NI for ged-emacs-devel@m.gmane.org; Wed, 05 Dec 2012 20:36:02 +0100 Original-Received: from localhost ([::1]:51985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKl4-0002Uy-Q9 for ged-emacs-devel@m.gmane.org; Wed, 05 Dec 2012 14:35:50 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKl2-0002UD-AE for emacs-devel@gnu.org; Wed, 05 Dec 2012 14:35:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TgKl1-0002yK-1M for emacs-devel@gnu.org; Wed, 05 Dec 2012 14:35:48 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:34092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TgKl0-0002xy-QN; Wed, 05 Dec 2012 14:35:46 -0500 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id qB5JZjRG029900 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 5 Dec 2012 19:35:45 GMT Original-Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id qB5JZhst012723 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 5 Dec 2012 19:35:43 GMT Original-Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id qB5JZgbg022082; Wed, 5 Dec 2012 13:35:42 -0600 Original-Received: from dradamslap1 (/130.35.178.8) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 05 Dec 2012 11:35:42 -0800 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: Thread-Index: Ac3THuSEAKYkYMWkR0aC58tcOOPB+wAABhcA X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 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:155308 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. That is exactly the main reason I don't like to use defadvice too much in my own code. Our debugger (I generally use `debug', not `edebug') digests it poorly (not sure how it could do things much better, however). There might be more important reasons to use or not to use defadvice, but debugging confusion is a major reason I avoid it. > 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. Makes sense to me.