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: CL package serious deficiencies Date: Tue, 07 Feb 2012 12:36:46 -0500 Message-ID: References: <33271707.post@talk.nabble.com> <33278115.post@talk.nabble.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1328636229 15589 80.91.229.3 (7 Feb 2012 17:37:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 7 Feb 2012 17:37:09 +0000 (UTC) Cc: Emacs-devel@gnu.org To: egnarts-ms Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 07 18:37:08 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ruoya-0005NS-J7 for ged-emacs-devel@m.gmane.org; Tue, 07 Feb 2012 18:37:08 +0100 Original-Received: from localhost ([::1]:52773 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ruoya-0000Vl-50 for ged-emacs-devel@m.gmane.org; Tue, 07 Feb 2012 12:37:08 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:33560) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuoyP-0000Ct-He for Emacs-devel@gnu.org; Tue, 07 Feb 2012 12:37:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RuoyJ-0005hp-NO for Emacs-devel@gnu.org; Tue, 07 Feb 2012 12:36:57 -0500 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:49274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuoyJ-0005hg-Gt for Emacs-devel@gnu.org; Tue, 07 Feb 2012 12:36:51 -0500 Original-Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q17Halbj010131; Tue, 7 Feb 2012 12:36:47 -0500 Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 0E16613037A; Tue, 7 Feb 2012 12:36:47 -0500 (EST) In-Reply-To: <33278115.post@talk.nabble.com> (egnarts-ms's message of "Tue, 7 Feb 2012 04:04:54 -0800 (PST)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4125=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4125> : streams <726555> : uri <1061624> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.20 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:148307 Archived-At: >> I'd start by declaring symbol-macrolet and defsubst* as deprecated >> (they both suffer from serious bugs, the corresponding features aren't >> very important and no one is willing/able to fix them). >> Of course lexical-let will be marked obsolete soon as well. > 1. Please explain what are those bugs "defsubst*" is suffering from ? I'm > intrigued. defubst* performs substitution in a completely naive way without paying attention to Lisp syntax and scoping rules. E.g. try (defsubst* sm-foo (a b) (cons a '(a))) and then (byte-compile '(lambda () (sm-foo 2 3))) and you'll see that both occurrences of the `a' symbol have been replaced by 2, even though the second is not a reference to the variable `a'. > 2. What the hell does making "lexical-let" obsolete mean ? I guess, > introducing true lexical scope, like in Common Lisp and Scheme? Yup, it's in Emacs-24. >> Fixing the setf-method handling shouldn't be that hard (basically >> adding macroexpand-1 and making it use it). > I have actually added `macroexpand-1' as a C subroutine, and > `cl-macroexpand-1' function. It seems to work well for 2 weeks now :) Care to submit a patch for review? Stefan