emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r114790: * lisp/subr.el (add-to-list): Preserve retu


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r114790: * lisp/subr.el (add-to-list): Preserve return value in compiler-macro.
Date: Fri, 25 Oct 2013 01:10:39 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 114790
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15692
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Thu 2013-10-24 21:10:27 -0400
message:
  * lisp/subr.el (add-to-list): Preserve return value in compiler-macro.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/subr.el                   subr.el-20091113204419-o5vbwnq5f7feedwu-151
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-10-25 00:49:33 +0000
+++ b/lisp/ChangeLog    2013-10-25 01:10:27 +0000
@@ -1,3 +1,8 @@
+2013-10-25  Stefan Monnier  <address@hidden>
+
+       * subr.el (add-to-list): Preserve return value in compiler-macro
+       (bug#15692).
+
 2013-10-25  RĂ¼diger Sonderfeld  <address@hidden>
 
        * progmodes/octave.el (octave-lookfor): Handle empty lookfor

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2013-10-18 04:27:34 +0000
+++ b/lisp/subr.el      2013-10-25 01:10:27 +0000
@@ -1541,13 +1541,14 @@
                             (byte-compile-log-warning msg t :error))))
                (code
                 (macroexp-let2 macroexp-copyable-p x element
-                  `(unless ,(if compare-fn
-                                (progn
-                                  (require 'cl-lib)
-                                  `(cl-member ,x ,sym :test ,compare-fn))
-                              ;; For bootstrapping reasons, don't rely on
-                              ;; cl--compiler-macro-member for the base case.
-                              `(member ,x ,sym))
+                  `(if ,(if compare-fn
+                            (progn
+                              (require 'cl-lib)
+                              `(cl-member ,x ,sym :test ,compare-fn))
+                          ;; For bootstrapping reasons, don't rely on
+                          ;; cl--compiler-macro-member for the base case.
+                          `(member ,x ,sym))
+                       ,sym
                      ,(if append
                           `(setq ,sym (append ,sym (list ,x)))
                         `(push ,x ,sym))))))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]