From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: Dynamic let for lexical scope? Date: Wed, 13 Feb 2019 03:59:49 +0100 Message-ID: <87wom4o0ka.fsf@web.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="178708"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: help-gnu-emacs@gnu.org To: Hi-Angel Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Feb 13 04:00:26 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtkmf-000kN0-FA for geh-help-gnu-emacs@m.gmane.org; Wed, 13 Feb 2019 04:00:25 +0100 Original-Received: from localhost ([127.0.0.1]:49719 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtkme-0008Ke-Hv for geh-help-gnu-emacs@m.gmane.org; Tue, 12 Feb 2019 22:00:24 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:47094) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtkmD-00087d-4J for help-gnu-emacs@gnu.org; Tue, 12 Feb 2019 21:59:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gtkmC-0007s7-CM for help-gnu-emacs@gnu.org; Tue, 12 Feb 2019 21:59:57 -0500 Original-Received: from mout.web.de ([212.227.17.12]:60315) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gtkmB-0007pJ-Vt for help-gnu-emacs@gnu.org; Tue, 12 Feb 2019 21:59:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1550026790; bh=inTRm83XEh1jbmh09SjyC9ZAz1KkQ79kWqkg6HJrviw=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=pehg0m6W8i2ijUW12bug6mcYn2AlpBsjq8aIH8hqok+2Ttb5WIbcaUFwSoRGc0GOW CJZI/4hJU6WOCcm7Q/du5gJx/dGxkqT2i4uwNM/zOx7SWqjIbz1DPL6LOscE8HJa/P NqC4LxQicN9EcQQfeSx9upn+tN+LiMsTsJtqsdqA= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Ljamy-1hV0P82LHc-00barP; Wed, 13 Feb 2019 03:59:50 +0100 In-Reply-To: (Hi-Angel's message of "Wed, 13 Feb 2019 02:23:01 +0300") X-Provags-ID: V03:K1:87gwAgp3+WJ1TtiKvaKerJ0XExhDIQOTTxfNwpoV+aeo3GDnbxf ZMKY0Wjnn/G7mhqS029+WInCTwxFKxC5Z43So353XHAcO9KvZPhjypZ+EIZPTxxSJ9Tucbw ivnTXPEvEIZIHQeGsuYvdptmUgrXGEMb+HPFyRN2izS7Gnfx7RbKskJPZJq7GqM+edM81FE laOoVCdceAWSiSu2K7bcQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:Pq6pYm4ePaE=:furGgQ3KBjtq9JfGU+RxWE neC4P6c3zFZ3I2AQ/ORikMzlqZVoWAGC1O3rg2p3CSPkPNQ1oJBSxWQpUzs4a39BdHJFS4OkD RYG67RDK42xq9Zw2q2cR0KvpnPU7IxNskvmOoy53Uknjdglhm+RwTKTewV4tlFJFxXx46pAGf ZrBxYY3iGIdH6SeRHEc4o3Y+pXYFxGNJ61qIFk8ovjPjbSekBWeC5cy8yTMIbs0EvedQJd1Wx kKSB9mCAlgaWN1ZmADm9dfy+ws0/6UY/hsC1l9Rg895yOXDl5iQsP0Q6eqZZ6jT7syXNvoyNN 9hvNxLFHMu0/9T44J698KsZOaUXbqr4rTEJG60J/Y9YfFin/Ouy9wIVlLjIwmJiynjL2oxkCA 9ri2bUV7ujcXaNcy1NovQVfs+S4OQIweLgzIDcOKByPu6mT/H9s3/32qWCyNRLAm6pQAHNyFa SmXuhZKD148k9qkQa6PNEoWcwfoizbcdRRWRd1xYSD9vu5+SqaI7Y87aSnoIifOVOzN9HOGO2 aHbqwxY1IBBcHEBlr6qrmKgWiGttMmgmOEmT+AwT1NdavraAQV23EBIX+xjfX5/3n7iJD7VKI /v8KVE7BH3fzwlEETDnXOo72T5Hv6OfSqh3q078iXrdfTX8SU0mDJa6QftiL8W849p/+onCyE bKdh3eBQOdAqNI1qA5p8mz0hEfk/YcyHBeY1xS6kcx9O5Acyxmt/8h9PGfEMKh2S6noFBlHyO BpMkKRf7Wa+VFKduuPfScWDPbBr3RxgdNnIjWmdIDfx1UbzLrMHzfvvtBKg11+t6QvG2jEHI X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.12 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.help:119385 Archived-At: Hi-Angel writes: > I have the following function: > > (defun sort-lines-nocase (beg end) > (let ((sort-fold-case t)) > (sort-lines nil beg end))) > > It temporarily changes sort-fold-case. Now, when compiled with > > ;;; -*- lexical-binding: t -*- > > at the top, it causes a warning "Unused lexical variable > =E2=80=98sort-fold-case=E2=80=99". The canonical answer is: add (defvar sort-fold-case) to get local dynamical binding: (defun sort-lines-nocase (beg end) (defvar sort-fold-case) (let ((sort-fold-case t)) (sort-lines nil beg end))) In your case, I guess the problem is that `sort-lines' is autoloaded and the variable is not yet declared when you compile (or evaluate for the first time). So you could also add (eval-when-compile (require 'sort)) It's a matter of taste which alternative is better or cleaner. If you use more stuff from sort.el, it's probably better to `require' it. Michael.