diff options
| author | Stefan Monnier | 2014-10-20 20:23:50 +0100 |
|---|---|---|
| committer | Glenn Morris | 2014-10-20 20:23:50 +0100 |
| commit | d20b72d9fa987ea9a511c6bed909c09929dc78f8 (patch) | |
| tree | c22a63e39e951d5dc084341cbefacadc3de0f214 | |
| parent | 83bad90efe943e7c88431b7a71bc1d5cf1304c92 (diff) | |
| download | emacs-d20b72d9fa987ea9a511c6bed909c09929dc78f8.tar.gz emacs-d20b72d9fa987ea9a511c6bed909c09929dc78f8.zip | |
Restore temporarily reverted bytecomp change
* lisp/emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg case.
Fixes: debbugs:18767
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4c9b60ea4cd..c1a57cf373e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-10-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg | ||
| 4 | case (bug#18767). | ||
| 5 | |||
| 1 | 2014-10-20 Glenn Morris <rgm@gnu.org> | 6 | 2014-10-20 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * Version 24.4 released. | 8 | * Version 24.4 released. |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index e5f8a8cc22a..69c4e0f1628 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -3261,11 +3261,11 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" | |||
| 3261 | (byte-defop-compiler cons 2) | 3261 | (byte-defop-compiler cons 2) |
| 3262 | (byte-defop-compiler aref 2) | 3262 | (byte-defop-compiler aref 2) |
| 3263 | (byte-defop-compiler set 2) | 3263 | (byte-defop-compiler set 2) |
| 3264 | (byte-defop-compiler (= byte-eqlsign) 2-and) | 3264 | (byte-defop-compiler (= byte-eqlsign) 2) ;; -and bug#18767 |
| 3265 | (byte-defop-compiler (< byte-lss) 2-and) | 3265 | (byte-defop-compiler (< byte-lss) 2) ;; -and bug#18767 |
| 3266 | (byte-defop-compiler (> byte-gtr) 2-and) | 3266 | (byte-defop-compiler (> byte-gtr) 2) ;; -and bug#18767 |
| 3267 | (byte-defop-compiler (<= byte-leq) 2-and) | 3267 | (byte-defop-compiler (<= byte-leq) 2) ;; -and bug#18767 |
| 3268 | (byte-defop-compiler (>= byte-geq) 2-and) | 3268 | (byte-defop-compiler (>= byte-geq) 2) ;; -and bug#18767 |
| 3269 | (byte-defop-compiler get 2) | 3269 | (byte-defop-compiler get 2) |
| 3270 | (byte-defop-compiler nth 2) | 3270 | (byte-defop-compiler nth 2) |
| 3271 | (byte-defop-compiler substring 2-3) | 3271 | (byte-defop-compiler substring 2-3) |
| @@ -3332,6 +3332,7 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" | |||
| 3332 | (defun byte-compile-and-folded (form) | 3332 | (defun byte-compile-and-folded (form) |
| 3333 | "Compile calls to functions like `<='. | 3333 | "Compile calls to functions like `<='. |
| 3334 | These implicitly `and' together a bunch of two-arg bytecodes." | 3334 | These implicitly `and' together a bunch of two-arg bytecodes." |
| 3335 | ;; FIXME: bug#18767 means we can't do it this way! | ||
| 3335 | (let ((l (length form))) | 3336 | (let ((l (length form))) |
| 3336 | (cond | 3337 | (cond |
| 3337 | ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t))) | 3338 | ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t))) |