Subject: bug#12300: 24.2.50; Unused lexical argument warning

From: Ivan Kanis <[email-masked]>
Date: Wed, 29 Aug 2012 07:31:10 +0200

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgment at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

1) emacs -Q
2) byte compile following:

;;; -*- lexical-binding: t -*-

(defun nterm-emulate (process output)
  "Dispatch characters from process"
  (message output))

(let ((process (start-process "foo" (current-buffer) "false")))
  (set-process-filter process 'nterm-emulate))

I get the following warning:

 foo.el:3:1:Warning: Unused lexical argument `process'

I think there should not be any warning if a function argument is not
used. I cannot change the function prototype for a process filter.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/home/ubuntu/emacs-bzr/share/emacs/24.2.50/etc/DEBUG.

In GNU Emacs 24.2.50.2 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2012-08-23 on tao
Bzr revision: 109757 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
Configured using:
 `configure '--prefix=/home/ubuntu/emacs-bzr' 'CFLAGS=-g''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  icomplete-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-pcomplete-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-match-mode: t
  erc-spelling-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-scrolltobottom-mode: t
  show-paren-mode: t
  eldoc-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  recentf-mode: t
  display-time-mode: t
  outline-minor-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
  line-number-mode: t

Recent input:
C-f C-f C-f C-f C-f <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> 1 l 
<backspace> C-e z <backspace> <backspace> M-j M-j C-] 
C-p <return> ( l e t SPC ( ( p r o c e s s SPC ( s 
t a r <tab> SPC " f o o " SPC t SPC f a l s e <backspace> 
<backspace> <backspace> <backspace> <backspace> " f 
a s l <backspace> <backspace> l s e ) <backspace> " 
C-b C-b C-b C-b C-b C-b C-b C-b <backspace> ( c u r 
<tab> b <tab> ) SPC <backspace> C-e ) ) ) <backspace> 
C-n <tab> C-p C-e ) C-n <tab> ) M-j M-j C-] C-b C-b 
C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b 
C-b C-b <backspace> p r o c e s s SPC C-e M-j M-j C-n 
C-n C-a C-SPC ESC > M-w C-w C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-k 
C-k C-k C-k C-x C-s C-x C-g M-x b y t e - c o m <tab> 
<return> f o o . e l <return> C-x b * <return> M-k 
M-k C-x b w a r <return> M-k M-k C-x b C-g C-x C-b 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n <return> C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-o <home> C-SPC 
C-n C-w C-/ M-w C-x b f o <return> C-y <return> C-x 
C-s M-x M-p <return> M-p <return> C-p C-p C-f C-f C-f 
C-f C-f C-f C-f C-f C-d C-d C-d C-d C-d C-d C-d C-d 
C-d C-d C-d C-d C-d C-d C-d C-a C-SPC C-n C-n C-n C-n 
C-n C-n C-n C-n C-n M-w M-x r e p o r t <tab> <ret
urn>

Recent messages:
byte-code: Beginning of buffer [6 times]
Mark set [2 times]
Undo!
Mark set
Saving file /home/ubuntu/tmp/foo.el...
Wrote /home/ubuntu/tmp/foo.el
Compiling /home/ubuntu/tmp/foo.el...done
Wrote /home/ubuntu/tmp/foo.elc
Auto-saving...done
Mark activated

Load-path shadows:
/home/ubuntu/.emacs.d-bzr/org/org-attach hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-attach
/home/ubuntu/.emacs.d-bzr/org/org-archive hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-archive
/home/ubuntu/.emacs.d-bzr/org/org-agenda hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-agenda
/home/ubuntu/.emacs.d-bzr/org/ob hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob
/home/ubuntu/.emacs.d-bzr/org/ob-tangle hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-tangle
/home/ubuntu/.emacs.d-bzr/org/ob-table hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-table
/home/ubuntu/.emacs.d-bzr/org/org hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org
/home/ubuntu/.emacs.d-bzr/org/org-w3m hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-w3m
/home/ubuntu/.emacs.d-bzr/org/org-timer hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-timer
/home/ubuntu/.emacs.d-bzr/org/org-table hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-table
/home/ubuntu/.emacs.d-bzr/org/org-src hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-src
/home/ubuntu/.emacs.d-bzr/org/org-special-blocks hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-special-blocks
/home/ubuntu/.emacs.d-bzr/org/ob-lob hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-lob
/home/ubuntu/.emacs.d-bzr/org/ob-keys hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-keys
/home/ubuntu/.emacs.d-bzr/org/org-irc hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-irc
/home/ubuntu/.emacs.d-bzr/org/org-exp-blocks hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-exp-blocks
/home/ubuntu/.emacs.d-bzr/org/org-bbdb hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-bbdb
/home/ubuntu/.emacs.d-bzr/org/org-info hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-info
/home/ubuntu/.emacs.d-bzr/org/org-indent hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-indent
/home/ubuntu/.emacs.d-bzr/org/org-id hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-id
/home/ubuntu/.emacs.d-bzr/org/org-habit hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-habit
/home/ubuntu/.emacs.d-bzr/org/org-gnus hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-gnus
/home/ubuntu/.emacs.d-bzr/org/org-footnote hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-footnote
/home/ubuntu/.emacs.d-bzr/org/org-faces hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-faces
/home/ubuntu/.emacs.d-bzr/org/org-exp hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-exp
/home/ubuntu/.emacs.d-bzr/org/ob-ref hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-ref
/home/ubuntu/.emacs.d-bzr/org/org-publish hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-publish
/home/ubuntu/.emacs.d-bzr/org/org-pcomplete hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-pcomplete
/home/ubuntu/.emacs.d-bzr/org/org-mobile hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-mobile
/home/ubuntu/.emacs.d-bzr/org/org-mks hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-mks
/home/ubuntu/.emacs.d-bzr/org/org-macs hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-macs
/home/ubuntu/.emacs.d-bzr/org/org-mac-message hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-mac-message
/home/ubuntu/.emacs.d-bzr/org/org-lparse hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-lparse
/home/ubuntu/.emacs.d-bzr/org/org-list hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-list
/home/ubuntu/.emacs.d-bzr/org/org-latex hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-latex
/home/ubuntu/.emacs.d-bzr/org/org-entities hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-entities
/home/ubuntu/.emacs.d-bzr/org/org-docview hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-docview
/home/ubuntu/.emacs.d-bzr/org/org-datetree hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-datetree
/home/ubuntu/.emacs.d-bzr/org/org-compat hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-compat
/home/ubuntu/.emacs.d-bzr/org/org-clock hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-clock
/home/ubuntu/.emacs.d-bzr/org/org-capture hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/org-capture
/home/ubuntu/.emacs.d-bzr/org/ob-comint hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/org/ob-comint
/home/ubuntu/.emacs.d-bzr/misc/erc-goodies hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/erc/erc-goodies
/home/ubuntu/.emacs.d-bzr/emms/tq hides /home/ubuntu/emacs-bzr/share/emacs/24.2.50/lisp/emacs-lisp/tq

Features:
(shadow sort bbdb-message hashcash cookie1 mail-extr gnus-msg gnus-art
mm-uu mml2015 epg-config mm-view mml-smime smime dig mailcap gnus-sum
nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec
gnus-int gnus-range gnus-win gnus gnus-ems nnheader emacsbug message
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mail-utils cl-macs gv ibuf-ext ibuffer compile ido uniquify help-mode
debug tea-time icomplete network-stream starttls tls erc-ring
erc-netsplit erc-pcomplete erc-button erc-fill erc-stamp erc-join
erc-avatar erc-log erc-track erc-match erc-spelling flyspell ispell
erc-goodies erc erc-backend erc-compat auth-source eieio gnus-util
mm-util mail-prsvr password-cache thingatpt pp paren eldoc image-file
tabify vc-git autoinsert org-habit org-agenda org-w3m org-irc org-info
org-gnus org-bbdb ivan-w3m ivan-term ivan-slime ivan-re-builder ivan-org
ivan-newsticker newst-backend xml derived ivan-muse ivan-message
misearch multi-isearch ivan-japanese ivan-ido ivan-gnus ivan-french
ivan-english ivan-emms ivan-elim elim browse-url cl cl-lib ivan-comint
ivan-bbdb bbdb timezone auto-complete-config auto-complete popup
ivan-php ivan-common-code recentf tree-widget saveplace time rx
org-drill org-learn org-id org byte-opt warnings bytecomp byte-compile
cconv macroexp ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys org-pcomplete pcomplete comint ansi-color ring
org-list org-faces org-entities noutline outline easy-mmode
ob-emacs-lisp ob org-compat org-macs ob-eval format-spec find-func
cal-menu calendar cal-loaddefs advice help-fns advice-preload cus-edit
easymenu cus-start cus-load wid-edit ivan-var ivan-fun ivan-keymap
edmacro kmacro ivan-face time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-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 loaddefs button faces
cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)