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: Get rid of verilog-no-change-functions Date: Wed, 16 Sep 2015 09:12:26 -0400 Message-ID: References: <7qa8snz1g8.fsf@emma.svaha.wsnyder.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1442409179 31778 80.91.229.3 (16 Sep 2015 13:12:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Sep 2015 13:12:59 +0000 (UTC) Cc: emacs-devel@gnu.org, Wilson Snyder To: Andreas Schwab Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 16 15:12:47 2015 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 1ZcCVz-0003vW-7R for ged-emacs-devel@m.gmane.org; Wed, 16 Sep 2015 15:12:47 +0200 Original-Received: from localhost ([::1]:50714 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcCVy-0006wL-Mh for ged-emacs-devel@m.gmane.org; Wed, 16 Sep 2015 09:12:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcCVj-0006w3-BZ for emacs-devel@gnu.org; Wed, 16 Sep 2015 09:12:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZcCVg-0007uY-4g for emacs-devel@gnu.org; Wed, 16 Sep 2015 09:12:31 -0400 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:46162) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcCVg-0007tn-09 for emacs-devel@gnu.org; Wed, 16 Sep 2015 09:12:28 -0400 Original-Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t8GDCPfA010650; Wed, 16 Sep 2015 09:12:25 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 2B9916612A; Wed, 16 Sep 2015 09:12:26 -0400 (EDT) In-Reply-To: (Andreas Schwab's message of "Wed, 16 Sep 2015 09:40:43 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5431=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5431> : inlines <3806> : streams <1506163> : uri <2041715> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.22 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:190005 Archived-At: > eval-when-compile doesn't introduce a scope. Depends on your definition of scope. And I'm pretty sure your notion of scope doesn't exactly match the currently implemented notion of scope, so better not depend too much on such corner cases. And yes, the "natural" implementation of eval-when-compile where the compiler just passes the expression to `eval' would end up introducing a new scope and (eval-when-compile (defvar foo)) would end up not having any effect at all. Been there done that! And then took me some time to figure out why the existing code happens to work as people expect it. It really is an accident that derives from a "too lax" implementation of the compiler. Stefan