Subject: 25.0.50; incorrect warning from byte compiler

From: Tom Tromey <[email-masked]>
Date: Wed, 05 Nov 2014 21:14:27 -0700

Byte compile this file:

; -*- lexical-binding:t -*-
(require 'bytecomp)
(defun z ()
  (byte-compile-close-variables
   (message "hi")))

I get:

In toplevel form:
q.el:3:1:Warning: Unused lexical variable `byte-compile-free-assignments'
q.el:3:1:Warning: Unused lexical variable `byte-compile-free-references'
q.el:3:1:Warning: Unused lexical variable `byte-compile--outbuffer'

I think the warning seems wrong.  bytecomp.el has a defvar for each of
these variables, so I expected them not to be considered lexical.

In GNU Emacs 25.0.50.8 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.9)
 of 2014-11-05 on bapiya
Repository revision: 118301 [email-masked]
Windowing system distributor `Fedora Project', version 11.0.11404000
Configured using:
 `configure --prefix=/home/tromey/Emacs/install'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  which-function-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill

Recent messages:
C-x C-g is undefined
Saving file /home/tromey/Emacs/ET/q.el...
Wrote /home/tromey/Emacs/ET/q.el
Saving file /home/tromey/Emacs/ET/q.el...
Wrote /home/tromey/Emacs/ET/q.el
Making completion list...
Mark saved where search started [2 times]
Mark set
Mark saved where search started
Mark set [2 times]
Quit

Load-path shadows:
/home/tromey/.emacs.d/elpa/css-mode-1.0/css-mode hides /home/tromey/Emacs/install/share/emacs/25.0.50/lisp/textmodes/css-mode
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/25.0.50/lisp/play/bubbles

Features:
(shadow sort mail-extr warnings emacsbug sendmail copyright dabbrev
misearch multi-isearch shell message dired rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev mail-utils gmm-utils mailheader make-mode texinfo sh-script
smie executable sgml-mode smerge-mode bug-reference goto-addr add-log
cc-mode cc-fonts cc-guess cc-menus cc-cmds vc-arch vc-mtn vc-hg vc-sccs
vc-svn vc-cvs vc-rcs jka-compr vc-bzr vc-git diff-mode easy-mmode
flyspell ispell diminish projectile edmacro kmacro pkg-info find-func
lisp-mnt epl grep compile dash s appt diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs which-func imenu minimap autorevert filenotify
desktop frameset cus-start cus-load status erc-services erc-list
erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete
erc-track erc-match erc-button wid-edit erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat format-spec auth-source cl-macs
gv eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core
gnus-util mm-util mail-prsvr password-cache thingatpt pp advice help-fns
vc-dir ewoc vc cl-loaddefs cl-lib vc-dispatcher cc-styles cc-align
cc-engine cc-vars cc-defs bbdb timezone ange-ftp comint ansi-color ring
server savehist dwarf-mode-autoloads gdb-shell-autoloads
jabber-autoloads lisppaste-autoloads pydoc-info-autoloads info-look info
easymenu weblogger-autoloads package epg-config bbdb-autoloads time-date
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd 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 cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 421995 36333)
 (symbols 48 36948 0)
 (miscs 40 21361 845)
 (strings 32 76233 10784)
 (string-bytes 1 2288448)
 (vectors 16 30564)
 (vector-slots 8 656796 18204)
 (floats 8 151 435)
 (intervals 56 16761 235)
 (buffers 976 171)
 (heap 1024 59018 1707))