Commit 41e856b5 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg

case.

Fixes: debbugs:18767
parent 9b4fdfd9
2014-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
case (bug#18767).
2014-10-15 Alan Mackenzie <acm@muc.de> 2014-10-15 Alan Mackenzie <acm@muc.de>
   
* cus-edit.el (custom-command-apply): Specify the return value in * cus-edit.el (custom-command-apply): Specify the return value in
......
...@@ -3261,11 +3261,11 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" ...@@ -3261,11 +3261,11 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
(byte-defop-compiler cons 2) (byte-defop-compiler cons 2)
(byte-defop-compiler aref 2) (byte-defop-compiler aref 2)
(byte-defop-compiler set 2) (byte-defop-compiler set 2)
(byte-defop-compiler (= byte-eqlsign) 2-and) (byte-defop-compiler (= byte-eqlsign) 2) ;; -and bug#18767
(byte-defop-compiler (< byte-lss) 2-and) (byte-defop-compiler (< byte-lss) 2) ;; -and bug#18767
(byte-defop-compiler (> byte-gtr) 2-and) (byte-defop-compiler (> byte-gtr) 2) ;; -and bug#18767
(byte-defop-compiler (<= byte-leq) 2-and) (byte-defop-compiler (<= byte-leq) 2) ;; -and bug#18767
(byte-defop-compiler (>= byte-geq) 2-and) (byte-defop-compiler (>= byte-geq) 2) ;; -and bug#18767
(byte-defop-compiler get 2) (byte-defop-compiler get 2)
(byte-defop-compiler nth 2) (byte-defop-compiler nth 2)
(byte-defop-compiler substring 2-3) (byte-defop-compiler substring 2-3)
...@@ -3332,6 +3332,7 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" ...@@ -3332,6 +3332,7 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
(defun byte-compile-and-folded (form) (defun byte-compile-and-folded (form)
"Compile calls to functions like `<='. "Compile calls to functions like `<='.
These implicitly `and' together a bunch of two-arg bytecodes." These implicitly `and' together a bunch of two-arg bytecodes."
;; FIXME: bug#18767 means we can't do it this way!
(let ((l (length form))) (let ((l (length form)))
(cond (cond
((< l 3) (byte-compile-form `(progn ,(nth 1 form) t))) ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment