From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Margolin Newsgroups: gmane.emacs.help Subject: Re: Declaring a local dynamic variable? Date: Sat, 21 Sep 2013 23:49:29 -0400 Organization: A noiseless patient Spider Message-ID: References: NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1379821814 15597 80.91.229.3 (22 Sep 2013 03:50:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 22 Sep 2013 03:50:14 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Sep 22 05:50:18 2013 Return-path: Envelope-to: geh-help-gnu-emacs@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 1VNagb-0002Lt-NR for geh-help-gnu-emacs@m.gmane.org; Sun, 22 Sep 2013 05:50:17 +0200 Original-Received: from localhost ([::1]:33821 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VNagb-000807-Cg for geh-help-gnu-emacs@m.gmane.org; Sat, 21 Sep 2013 23:50:17 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!barmar.motzarella.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 57 Injection-Info: barmar.motzarella.org; posting-host="2be9e9f5dd9af768b8861af71b85fc28"; logging-data="2999"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19daT1jaYVYi3gmQhmXEbaD" User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Cancel-Lock: sha1:pDXj8hAB+Q7pAcebxXsu4zZKbW4= Original-Xref: usenet.stanford.edu gnu.emacs.help:201234 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:93503 Archived-At: In article , Andreas Röhler wrote: > Am 21.09.2013 13:31, schrieb Barry Margolin: > > In article , > > Andreas Röhler wrote: > > > >> Am 20.09.2013 22:59, schrieb Barry Margolin: > >>> In article , > >>> Andreas Röhler wrote: > >>> > >>>> Am 20.09.2013 17:10, schrieb Barry Margolin: > >>>>> In article , > >>>>> Andreas Röhler wrote: > >>>>> > >>>>>> Am 20.09.2013 14:30, schrieb Stefan Monnier: > >>>>>>>> If I purposefully use a local dynamic variable as in: > >>>>>>> > >>>>>>> Use (defvar my-counter) at the file's top-level to indicate that this > >>>>>>> variable is used in a way that relies on dynamic scoping. > >>>>>> > >>>>>> A need to write code just to silence compiler warnings? > >>>>>> Emacs could do better. > >>>>> > >>>>> Other than "code", what would you suggest? > >>>> > >>>> In the precise case: just drop that warning. > >>>> > >>>> In a wider sense, IMO a modular approach is better. > >>>> Restrict compiler warnings to obvious errors, don't mix style questions > >>>> in. > >>> > >>> This isn't a style warning. Often the reason is mistyping a local > >>> variable name. > >>> > >>> (let ((foobar ...)) > >>> ... > >>> (blah fobar) > >>> ...) > >>> > >> > >> This is another case. IIUC there was nothing wrong with the OP's example. > > > > But how is the compiler supposed to know the difference? > > A code-checker might look up, if a variable is defined. > If our eyes may notice the difference, why a checker should not? Look up where? How does it know you're going to load the package that declares the variable later? The warning doesn't happen if you've already loaded the package. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me ***