GNU bug report logs - #18767
24.4; incorrect byte-compile on arithmatic comparisons

Previous Next

Package: emacs;

Reported by: Shigeru Fukaya <shigeru.fukaya <at> gmail.com>

Date: Sat, 18 Oct 2014 20:00:02 UTC

Severity: normal

Found in version 24.4

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


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

From: Shigeru Fukaya <shigeru.fukaya <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4; incorrect byte-compile on arithmatic comparisons
Date: Sun, 19 Oct 2014 04:58:31 +0900
Hello,

byte-compile of arithmatic comparison operators on more than two
arguments is incorrect.

(disassemble (lambda () (< (a) (b) (c))))

byte code:
  args: nil
0	constant  a
1	call	  0
2	constant  b
3	call	  0
4	lss	  
5	goto-if-nil-else-pop 1
8	constant  b
9	call	  0
10	constant  c
11	call	  0
12	lss	  
13:1	return	  


Functions a, b, c should be called once respectively if the function
has possibility of side effect.
But b may be called twice, and c may not be called.


I'm sorry for late report at the very time of release, but I noticed
just now.

Regards,
Shigeru





This bug report was last modified 10 years and 277 days ago.

Previous Next


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