GNU bug report logs - #8737
byte compiler doesn't warn about unused pure expressions

Previous Next

Package: emacs;

Reported by: Andreas Röhler <andreas.roehler <at> easy-emacs.de>

Date: Fri, 27 May 2011 07:24:02 UTC

Severity: wishlist

Tags: confirmed

Found in version 23.2

To reply to this bug, email your comments to 8737 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#8737; Package emacs. (Fri, 27 May 2011 07:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andreas Röhler <andreas.roehler <at> easy-emacs.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 27 May 2011 07:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2; garbage numbers
Date: Fri, 27 May 2011 09:23:22 +0200
 `emacs -Q':

(defun foo ())

12345

;;;;;;

Should some garbage numbers exist in a buffer, Emacs
evals and compiles that without warning.

Is that okay?

Best regards,

Andreas

--
https://code.launchpad.net/~a-roehler/python-mode/components-python-mode
https://code.launchpad.net/s-x-emacs-werkstatt/

In GNU Emacs 23.2.1 (i586-suse-linux-gnu, GTK+ Version 2.22.1)
 of 2011-02-22 on build27
Windowing system distributor `The X.Org Foundation', version 11.0.10903000
configured using `configure  '--with-pop' '--without-hesiod' 
'--with-kerberos' '--with-kerberos5' '--with-xim' '--enable-autodepend' 
'--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' 
'--datadir=/usr/share' '--localstatedir=/var' 
'--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--with-x' 
'--with-sound' '--with-sync-input' '--with-xpm' '--with-jpeg' 
'--with-tiff' '--with-gif' '--with-png' '--with-rsvg' '--with-dbus' 
'--without-gpm' '--with-x-toolkit=gtk' '--x-includes=/usr/include' 
'--x-libraries=/usr/lib:/usr/share/X11' '--with-xft' '--with-libotf' 
'--with-m17n-flt' '--build=i586-suse-linux' 
'build_alias=i586-suse-linux' 'CC=gcc-4.3' 'CFLAGS=-fomit-frame-pointer 
-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
-funwind-tables -fasynchronous-unwind-tables -g -D_GNU_SOURCE -std=gnu89 
-pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label 
-Wno-unprototyped-calls -fno-optimize-sibling-calls 
-DSYSTEM_PURESIZE_EXTRA=55000 	 -DSITELOAD_PURESIZE_EXTRA=10000 ' 
'LDFLAGS=-Wl,-O2 -Wl,--hash-size=65521''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-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-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> C-x C-w e i n <backspace> l . e k <backspace>
l <return> <up> <up> <up> <up> C-k C-k C-k C-k C-k
( d e f e u <backspace> <backspace> u n SPC f o o SPC
( ) ) C-j <return> 1 2 3 4 5 C-x C-s M-x e b <backspace>
v l <backspace> l <backspace> a l <return> b u <tab>
<return> M-x c <backspace> b y t e - c o m p i l <tab>
<return> <return> M-x r e p o r t - e m a c s - b u
<tab> <return>

Recent messages:
Loading /usr/share/emacs/23.2/leim/leim-list.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Saving file /home/MYNAME/eil.el...
Wrote /home/MYNAME/eil.el
Saving file /home/MYNAME/eil.el...
Wrote /home/MYNAME/eil.el
Compiling /home/MYNAME/eil.el...
Fontifying *Compile-Log*... 
(regexps.......................................................)
Compiling /home/MYNAME/eil.el...done
Wrote /home/MYNAME/eil.elc

Load-path shadows:
/usr/share/emacs/site-lisp/make-regexp hides 
/usr/share/emacs/site-lisp/psgml/make-regexp
/usr/share/emacs/site-lisp/flim/md5 hides /usr/share/emacs/site-lisp/w3/md5
/usr/share/emacs/site-lisp/ess-sas-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-d
/usr/share/emacs/site-lisp/essd-els hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/essd-els
/usr/share/emacs/site-lisp/ess-compat hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-compat
/usr/share/emacs/site-lisp/ess-mode hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-mode
/usr/share/emacs/site-lisp/ess-toolbar hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-toolbar
/usr/share/emacs/site-lisp/ess-sp3-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp3-d
/usr/share/emacs/site-lisp/ess-bugs-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-bugs-l
/usr/share/emacs/site-lisp/noweb-font-lock-mode hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/noweb-font-lock-mode
/usr/share/emacs/site-lisp/ess-noweb hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-noweb
/usr/share/emacs/site-lisp/ess-rdired hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rdired
/usr/share/emacs/site-lisp/ess-mouse hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-mouse
/usr/share/emacs/site-lisp/ess-sp5-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp5-d
/usr/share/emacs/site-lisp/ess-lsp-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-lsp-l
/usr/share/emacs/site-lisp/ess-sp6w-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp6w-d
/usr/share/emacs/site-lisp/ess-sas-a hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-a
/usr/share/emacs/site-lisp/ess-menu hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-menu
/usr/share/emacs/site-lisp/make-regexp hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/make-regexp
/usr/share/emacs/site-lisp/ess-jags-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-jags-d
/usr/share/emacs/site-lisp/ess-rd hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rd
/usr/share/emacs/site-lisp/ess-trns hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-trns
/usr/share/emacs/site-lisp/ess-s4-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s4-d
/usr/share/emacs/site-lisp/ess-eldoc hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-eldoc
/usr/share/emacs/site-lisp/ess hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess
/usr/share/emacs/site-lisp/ess-inf hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-inf
/usr/share/emacs/site-lisp/ess-dde hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-dde
/usr/share/emacs/site-lisp/ess-rutils hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rutils
/usr/share/emacs/site-lisp/ess-bugs-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-bugs-d
/usr/share/emacs/site-lisp/ess-omg-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-omg-l
/usr/share/emacs/site-lisp/ess-custom hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-custom
/usr/share/emacs/site-lisp/ess-sp6-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp6-d
/usr/share/emacs/site-lisp/ess-xls-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-xls-d
/usr/share/emacs/site-lisp/ess-s-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s-l
/usr/share/emacs/site-lisp/ess-comp hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-comp
/usr/share/emacs/site-lisp/noweb-mode hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/noweb-mode
/usr/share/emacs/site-lisp/ess-arc-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-arc-d
/usr/share/emacs/site-lisp/ess-font-lock hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-font-lock
/usr/share/emacs/site-lisp/ess-swv hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-swv
/usr/share/emacs/site-lisp/ess-sas-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-l
/usr/share/emacs/site-lisp/ess-sta-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sta-d
/usr/share/emacs/site-lisp/ess-sta-l hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sta-l
/usr/share/emacs/site-lisp/ess-help hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-help
/usr/share/emacs/site-lisp/ess-vst-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-vst-d
/usr/share/emacs/site-lisp/ess-r-args hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-r-args
/usr/share/emacs/site-lisp/mouseme hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/mouseme
/usr/share/emacs/site-lisp/ess-roxy hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-roxy
/usr/share/emacs/site-lisp/ess-site hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-site
/usr/share/emacs/site-lisp/msdos hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/msdos
/usr/share/emacs/site-lisp/ess-r-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-r-d
/usr/share/emacs/site-lisp/ess-utils hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-utils
/usr/share/emacs/site-lisp/ess-s3-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s3-d
/usr/share/emacs/site-lisp/ess-sp4-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp4-d
/usr/share/emacs/site-lisp/ess-omg-d hides 
/usr/share/emacs/site-lisp/ess-5.13/lisp/ess-omg-d
/usr/share/emacs/site-lisp/epg/epg hides /usr/share/emacs/23.2/lisp/epg
/usr/share/emacs/site-lisp/epg/epa-dired hides 
/usr/share/emacs/23.2/lisp/epa-dired
/usr/share/emacs/site-lisp/epg/epa-file hides 
/usr/share/emacs/23.2/lisp/epa-file
/usr/share/emacs/site-lisp/epg/epg-config hides 
/usr/share/emacs/23.2/lisp/epg-config
/usr/share/emacs/site-lisp/epg/epa hides /usr/share/emacs/23.2/lisp/epa
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4
/usr/share/emacs/site-lisp/epg/epa-mail hides 
/usr/share/emacs/23.2/lisp/epa-mail
/usr/share/emacs/site-lisp/ruby-mode hides 
/usr/share/emacs/23.2/lisp/progmodes/ruby-mode
/usr/share/emacs/site-lisp/nxml-mode/nxml-glyph hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-glyph
/usr/share/emacs/site-lisp/nxml-mode/nxml-mode hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-mode
/usr/share/emacs/site-lisp/nxml-mode/xmltok hides 
/usr/share/emacs/23.2/lisp/nxml/xmltok
/usr/share/emacs/site-lisp/nxml-mode/rng-uri hides 
/usr/share/emacs/23.2/lisp/nxml/rng-uri
/usr/share/emacs/site-lisp/nxml-mode/rng-dt hides 
/usr/share/emacs/23.2/lisp/nxml/rng-dt
/usr/share/emacs/site-lisp/nxml-mode/nxml-outln hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-outln
/usr/share/emacs/site-lisp/nxml-mode/rng-maint hides 
/usr/share/emacs/23.2/lisp/nxml/rng-maint
/usr/share/emacs/site-lisp/nxml-mode/rng-match hides 
/usr/share/emacs/23.2/lisp/nxml/rng-match
/usr/share/emacs/site-lisp/nxml-mode/nxml-ns hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-ns
/usr/share/emacs/site-lisp/nxml-mode/nxml-rap hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-rap
/usr/share/emacs/site-lisp/nxml-mode/rng-valid hides 
/usr/share/emacs/23.2/lisp/nxml/rng-valid
/usr/share/emacs/site-lisp/nxml-mode/rng-parse hides 
/usr/share/emacs/23.2/lisp/nxml/rng-parse
/usr/share/emacs/site-lisp/nxml-mode/rng-xsd hides 
/usr/share/emacs/23.2/lisp/nxml/rng-xsd
/usr/share/emacs/site-lisp/nxml-mode/nxml-util hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-util
/usr/share/emacs/site-lisp/nxml-mode/rng-nxml hides 
/usr/share/emacs/23.2/lisp/nxml/rng-nxml
/usr/share/emacs/site-lisp/nxml-mode/nxml-enc hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-enc
/usr/share/emacs/site-lisp/nxml-mode/rng-pttrn hides 
/usr/share/emacs/23.2/lisp/nxml/rng-pttrn
/usr/share/emacs/site-lisp/nxml-mode/rng-cmpct hides 
/usr/share/emacs/23.2/lisp/nxml/rng-cmpct
/usr/share/emacs/site-lisp/nxml-mode/xsd-regexp hides 
/usr/share/emacs/23.2/lisp/nxml/xsd-regexp
/usr/share/emacs/site-lisp/nxml-mode/rng-loc hides 
/usr/share/emacs/23.2/lisp/nxml/rng-loc
/usr/share/emacs/site-lisp/nxml-mode/nxml-uchnm hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-uchnm
/usr/share/emacs/site-lisp/nxml-mode/nxml-parse hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-parse
/usr/share/emacs/site-lisp/nxml-mode/rng-util hides 
/usr/share/emacs/23.2/lisp/nxml/rng-util
/usr/share/emacs/site-lisp/nxml-mode/nxml-maint hides 
/usr/share/emacs/23.2/lisp/nxml/nxml-maint
/usr/share/emacs/site-lisp/flim/ntlm hides 
/usr/share/emacs/23.2/lisp/net/ntlm
/usr/share/emacs/site-lisp/flim/sasl-digest hides 
/usr/share/emacs/23.2/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/hmac-md5 hides 
/usr/share/emacs/23.2/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides 
/usr/share/emacs/23.2/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/hmac-def hides 
/usr/share/emacs/23.2/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/sasl hides 
/usr/share/emacs/23.2/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-cram hides 
/usr/share/emacs/23.2/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/egg/its/thai hides 
/usr/share/emacs/23.2/lisp/language/thai
/usr/share/emacs/site-lisp/egg/leim-list hides 
/usr/share/emacs/23.2/leim/leim-list

Features:
(shadow sort mail-extr message idna sendmail regexp-opt ecomplete rfc822
mml easymenu mml-sec password-cache mm-decode mm-bodies mm-encode
mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev
nnheader gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit
mailheader canlock sha1 hex-util hashcash mail-utils emacsbug byte-opt
compile comint ring bytecomp byte-compile egg-util lpr disp-table
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag 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 loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#8737; Package emacs. (Fri, 27 May 2011 12:48:02 GMT) Full text and rfc822 format available.

Message #8 received at 8737 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 8737 <at> debbugs.gnu.org
Subject: Re: bug#8737: 23.2; garbage numbers
Date: Fri, 27 May 2011 09:47:33 -0300
severity 8737 wishlist
thanks

>  `emacs -Q':

> (defun foo ())

> 12345

> ;;;;;;

> Should some garbage numbers exist in a buffer, Emacs
> evals and compiles that without warning.

> Is that okay?

Why not.  A number is a valid expression that evaluates to itself.
It's true that it's a disappointment that the byte-compiler doesn't warn
"56 evaluated for its side-effect" or something like that, since it does
warn in other cases, but it doesn't seem like a big deal.


        Stefan




Severity set to 'wishlist' from 'minor' Request was from Stefan Monnier <monnier <at> iro.umontreal.ca> to control <at> debbugs.gnu.org. (Fri, 27 May 2011 12:48:03 GMT) Full text and rfc822 format available.

Changed bug title to 'byte compiler doesn't warn about unused pure expressions' from '23.2; garbage numbers' Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 21 Sep 2018 12:37:02 GMT) Full text and rfc822 format available.

Added tag(s) confirmed. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 12 Mar 2025 03:59:02 GMT) Full text and rfc822 format available.

This bug report was last modified 92 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.