From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/62754 Path: news.gmane.org!not-for-mail From: Dave Love Newsgroups: gmane.emacs.gnus.general,gmane.emacs.devel Subject: Re: use of (defvar ) Date: Thu, 13 Apr 2006 17:44:58 +0100 Message-ID: References: <87lkuhdsyb.fsf-monnier+emacs@gnu.org> <87bqvas2ls.fsf-monnier+emacs@gnu.org> <85bqv881dp.fsf@lola.goethe.zz> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1144946734 20068 80.91.229.2 (13 Apr 2006 16:45:34 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 13 Apr 2006 16:45:34 +0000 (UTC) Cc: Stefan Monnier , ding@gnus.org, emacs-devel@gnu.org Original-X-From: ding-owner+m11281@lists.math.uh.edu Thu Apr 13 18:45:30 2006 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FU4wh-0003kJ-7f for ding-account@gmane.org; Thu, 13 Apr 2006 18:45:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1FU4wZ-0001ii-00; Thu, 13 Apr 2006 11:45:19 -0500 Original-Received: from nas02.math.uh.edu ([129.7.128.40]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1FU4wP-0001ib-00 for ding@lists.math.uh.edu; Thu, 13 Apr 2006 11:45:09 -0500 Original-Received: from quimby.gnus.org ([80.91.224.244]) by nas02.math.uh.edu with esmtp (Exim 4.52) id 1FU4wM-00030B-N1 for ding@lists.math.uh.edu; Thu, 13 Apr 2006 11:45:08 -0500 Original-Received: from s2.ukfsn.org ([217.158.120.143] helo=mail.ukfsn.org) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1FU4wE-0004c2-00 for ; Thu, 13 Apr 2006 18:44:58 +0200 Original-Received: from localhost (84-45-211-153.no-dns-yet.enta.net [84.45.211.153]) by mail.ukfsn.org (Postfix) with ESMTP id CD38CE6F8B; Thu, 13 Apr 2006 17:41:24 +0100 (BST) Original-Received: from fx by localhost with local (Exim 4.60) (envelope-from ) id 1FU4wE-0003mR-6d; Thu, 13 Apr 2006 17:44:58 +0100 Original-To: David Kastrup X-Draft-From: ("nnml:Misc" 588) In-Reply-To: <85bqv881dp.fsf@lola.goethe.zz> (David Kastrup's message of "Tue, 11 Apr 2006 19:31:46 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) X-Spam-Score: -2.6 (--) Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: news.gmane.org gmane.emacs.gnus.general:62754 gmane.emacs.devel:52835 Archived-At: David Kastrup writes: > defvar is the main way to inform the system a variable could be bound > dynamically instead of just lexically. Having it omitted on runtime > could lead to hard to find bugs if we change to lexical binding at one > time. [I'll believe that when I see it (even more than Emacs 22).] defvars are often not added with the intention of actually distinguishing dynamic and putative lexical binding, but specifically to suppress the compiler warning when people care. They may well not be in the right place to signal that bindings are lexical. If that ever becomes an issue, you need diagnostics for the existing code which correctly (in Emacs 21) uses the guard, and for `declare', at least.