Subject: 24.4; incorrect byte-compile on arithmatic comparisons

From: Shigeru Fukaya <[email-masked]>
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