From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lute Kamstra Newsgroups: gmane.emacs.devel Subject: Re: Incompatible change without "warning" Date: Fri, 22 Apr 2005 01:56:44 +0200 Message-ID: <878y3bpttv.fsf@xs4all.nl> References: <16997.28602.876638.54728@farnswood.snap.net.nz> <16998.58339.710430.454702@farnswood.snap.net.nz> <17000.13278.865098.49756@farnswood.snap.net.nz> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1114127725 21927 80.91.229.2 (21 Apr 2005 23:55:25 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 21 Apr 2005 23:55:25 +0000 (UTC) Cc: ich@frank-schmitt.net, rms@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 22 01:55:20 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DOlV8-0007sI-7P for ged-emacs-devel@m.gmane.org; Fri, 22 Apr 2005 01:54:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DOlZw-0007Gf-Ai for ged-emacs-devel@m.gmane.org; Thu, 21 Apr 2005 19:59:28 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DOlZR-0007Ci-6H for emacs-devel@gnu.org; Thu, 21 Apr 2005 19:58:57 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DOlZO-0007CV-Oq for emacs-devel@gnu.org; Thu, 21 Apr 2005 19:58:56 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DOlZO-000765-HX for emacs-devel@gnu.org; Thu, 21 Apr 2005 19:58:54 -0400 Original-Received: from [194.109.24.24] (helo=smtp-vbr4.xs4all.nl) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DOlZw-0002xo-KO; Thu, 21 Apr 2005 19:59:28 -0400 Original-Received: from pijl (a80-127-67-124.adsl.xs4all.nl [80.127.67.124]) by smtp-vbr4.xs4all.nl (8.12.11/8.12.11) with ESMTP id j3LNuib4036880; Fri, 22 Apr 2005 01:56:45 +0200 (CEST) (envelope-from Lute.Kamstra@xs4all.nl) Original-Received: from lute by pijl with local (Exim 3.36 #1 (Debian)) id 1DOlXI-0006v3-00; Fri, 22 Apr 2005 01:56:44 +0200 Original-To: Nick Roberts In-Reply-To: <17000.13278.865098.49756@farnswood.snap.net.nz> (Nick Roberts's message of "Fri, 22 Apr 2005 11:14:38 +1200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Original-Lines: 50 X-Virus-Scanned: by XS4ALL Virus Scanner X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:36260 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:36260 Nick Roberts writes: > Richard Stallman writes: > > Before you install this, please write the changes for etc/NEWS and the > > Lisp manual to install at the same time. > > For completeness, I guess there should be one for functions too. Good idea. > Indeed, there seem to be more uses of make-obsolete than > make-obsolete-variable (possibly bacause defvaralias is newer than > defalias). I see XEmacs has define-obsolete-function-alias so we > could do: > > (defmacro define-obsolete-function-alias (function aliased > &optional docstring when) > "blurb" > `(progn > (defalias ,function ,aliased ,docstring) > (make-obsolete ,function ,aliased ,when))) I think it's better to have WHEN before DOCSTRING. DOCSTRING is hardly ever used while WHEN is used frequently. > Or we could combine the two e.g > > (defmacro define-obsolete-alias (new aliased > &optional docstring when) > "blurb" > `(if (fboundp ,aliased) > (progn > (defalias ,new ,aliased ,docstring) > (make-obsolete ,new ,aliased ,when)) > (progn > (defvaralias ,new ,aliased ,docstring) > (make-obsolete-variable ,new ,aliased ,when)))) Seems like a bad idea to me. For one thing, you can use define-obsolete-{function,variable}-alias before you define ALIASED. (I think XEmacs requires this.) That won't work in this case. > It would have to be done a bit differently though, to deal with case > of a symbol having both a value and a function definition. How can you determine what's the right thing, in that case? Lute.