From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: pathological byte-compilation Date: Tue, 25 Jun 2002 19:32:50 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: References: <200206250126.g5P1QY005606@rum.cs.yale.edu> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1025049525 10076 127.0.0.1 (25 Jun 2002 23:58:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 25 Jun 2002 23:58:45 +0000 (UTC) Cc: monnier+gnu/emacs@rum.cs.yale.edu, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17N0Cr-0002cP-00 for ; Wed, 26 Jun 2002 01:58:45 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17N0Eh-00081T-00 for ; Wed, 26 Jun 2002 02:00:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17Mzp4-0000E1-00; Tue, 25 Jun 2002 19:34:10 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 3.34 #1 (Debian)) id 17Mznm-0008TZ-00; Tue, 25 Jun 2002 19:32:50 -0400 Original-To: miles@gnu.org In-Reply-To: (message from Miles Bader on 25 Jun 2002 10:51:33 +0900) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:5208 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:5208 That transformation assumed a `lexical style' use of `let', which isn't something you can do generally, but in the case of defsubst, I think it would probably be safe to say that argument bindings are not guaranteed to be visible (via dynamic binding) in functions called from defsubt body. I hesitate to agree with this. However, in many defsubsts only primitives will be called. It should be possible to determine that nothing called from the defsubst will ever look at variable bindings.