From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: stephen_leake@stephe-leake.org Newsgroups: gmane.emacs.bugs Subject: bug#21185: 25.0.50; byte-compiler warn on quote lexical var Date: Tue, 04 Aug 2015 04:17:21 -0500 Message-ID: <86y4hre7ku.fsf@stephe-leake.org> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1438679911 10514 80.91.229.3 (4 Aug 2015 09:18:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Aug 2015 09:18:31 +0000 (UTC) To: 21185@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Aug 04 11:18:18 2015 Return-path: Envelope-to: geb-bug-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 1ZMYMT-0003k0-Ep for geb-bug-gnu-emacs@m.gmane.org; Tue, 04 Aug 2015 11:18:17 +0200 Original-Received: from localhost ([::1]:34144 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMYMS-0003nn-C2 for geb-bug-gnu-emacs@m.gmane.org; Tue, 04 Aug 2015 05:18:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMYMK-0003mW-Ny for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:18:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMYMF-0004sC-DN for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:18:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37630) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMYMF-0004oi-8c for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:18:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZMYME-0006Yu-Jr for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:18:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: stephen_leake@stephe-leake.org Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Aug 2015 09:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21185 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.143867987125205 (code B ref -1); Tue, 04 Aug 2015 09:18:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Aug 2015 09:17:51 +0000 Original-Received: from localhost ([127.0.0.1]:39076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZMYM2-0006YS-Dd for submit@debbugs.gnu.org; Tue, 04 Aug 2015 05:17:50 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:45378) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZMYLz-0006YJ-Ge for submit@debbugs.gnu.org; Tue, 04 Aug 2015 05:17:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMYLx-0002Xu-Ij for submit@debbugs.gnu.org; Tue, 04 Aug 2015 05:17:47 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:52436) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMYLx-0002Wp-FN for submit@debbugs.gnu.org; Tue, 04 Aug 2015 05:17:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMYLv-0003jS-8Y for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:17:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMYLp-0001Zk-Uk for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:17:43 -0400 Original-Received: from gproxy1-pub.mail.unifiedlayer.com ([69.89.25.95]:50876) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1ZMYLp-00018O-LC for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 05:17:37 -0400 Original-Received: (qmail 20028 invoked by uid 0); 4 Aug 2015 09:17:33 -0000 Original-Received: from unknown (HELO cmgw3) (10.0.90.84) by gproxy1.mail.unifiedlayer.com with SMTP; 4 Aug 2015 09:17:33 -0000 Original-Received: from host114.hostmonster.com ([74.220.207.114]) by cmgw3 with id 0fHS1r00E2UdiVW01fHVyY; Tue, 04 Aug 2015 09:17:32 -0600 X-Authority-Analysis: v=2.1 cv=Qc314Krv c=1 sm=1 tr=0 a=CQdxDb2CKd3SRg4I0/XZPQ==:117 a=CQdxDb2CKd3SRg4I0/XZPQ==:17 a=DsvgjBjRAAAA:8 a=f5113yIGAAAA:8 a=9i_RQKNPAAAA:8 a=hEr_IkYJT6EA:10 a=x_XPkuGwIRMA:10 a=uRRa74qj2VoA:10 a=g2Jlpuu6fPErGmUW05cA:9 a=5ta8IXYzoi8q4o9Q:21 a=iC2h1ylat4ljbyl4:21 Original-Received: from [76.218.37.33] (port=62644 helo=TAKVER2) by host114.hostmonster.com with esmtpa (Exim 4.84) (envelope-from ) id 1ZMYLe-00072k-SG for bug-gnu-emacs@gnu.org; Tue, 04 Aug 2015 03:17:27 -0600 X-Identified-User: {2442:host114.hostmonster.com:stephele:stephe-leake.org} {sentby:smtp auth 76.218.37.33 authed with stephen_leake@stephe-leake.org} X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:105297 Archived-At: This file gives an example where a new byte-compiler warning would be useful: ;; quote-lexical-var.el -*- lexical-binding: t -*- (defun display-var (var) "Display variable value of VAR (a symbol), if any." (cond ((boundp var) (message "%s: %s" (symbol-name var) (symbol-value var))) (t (message "%s not bound" (symbol-name var))))) (defun quote-lexical-var () (let ((my-var "foo")) (message "non-quoted my-var: %s" my-var) (display-var 'my-var))) (provide 'quote-lexical-var) ;; end of file To see the problem, execute (in emacs master, -Q): (add-to-list 'load-path "/home/stephe/Elisp_Work/") ;; path containing above file (byte-compile-file "/home/stephe/Elisp_Work/quote-lexical-var.el") (require 'quote-lexical-var) (display-var 'default-directory) This gives "default-directory: /home/stephe" as expected. (quote-lexical-var) This gives: non-quoted my-var: foo my-var: not bound Quoting lexical variables does not work; there is no symbol available at run-time. I've been bitten by this problem when converting code to use lexical binding; it would be helpful if the byte-compiler warned about it. In GNU Emacs 25.0.50.4 (x86_64-w64-mingw32) of 2015-08-02 on TAKVER2 Repository revision: d2c4309d46529bac656f332677d2c5e199577845 Windowing system distributor `Microsoft Corp.', version 6.3.9600 Configured using: `configure --prefix=/mingw64 PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message dired format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 multi-tty make-network-process emacs) Memory information: ((conses 16 82209 4908) (symbols 56 18803 0) (miscs 48 36 106) (strings 32 14166 4682) (string-bytes 1 381142) (vectors 16 10489) (vector-slots 8 395072 6302) (floats 8 121 16) (intervals 56 221 2) (buffers 976 11))