* lisp/emacs-lisp/cl.el (letf): Make it an alias of cl-letf.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 13 Dec 2012 01:46:47 +0000 (20:46 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 13 Dec 2012 01:46:47 +0000 (20:46 -0500)
(cl--symbol-function): Remove (now that funbound is like nil).

lisp/ChangeLog
lisp/emacs-lisp/cl.el

index 3d3892a..97b44b2 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/cl.el (letf): Make it an alias of cl-letf.
+       (cl--symbol-function): Remove (now that funbound is like nil).
+
 2012-12-12  Glenn Morris  <rgm@gnu.org>
 
        * button.el (button--area-button-p): Fix typo.
index 7241b3c..3782175 100644 (file)
                callf2
                callf
                letf*
-               ;; letf
+               letf
                rotatef
                shiftf
                remf
@@ -504,28 +504,6 @@ rather than relying on `lexical-binding'."
 ;; not 100% compatible: not worth the trouble to add them to cl-lib.el, but we
 ;; still need to support old users of cl.el.
 
-(defmacro cl--symbol-function (symbol)
-  "Like `symbol-function' but return `cl--unbound' if not bound."
-  ;; (declare (gv-setter (lambda (store)
-  ;;                       `(if (eq ,store 'cl--unbound)
-  ;;                            (fmakunbound ,symbol) (fset ,symbol ,store)))))
-  `(if (fboundp ,symbol) (symbol-function ,symbol) 'cl--unbound))
-(gv-define-setter cl--symbol-function (store symbol)
-  `(if (eq ,store 'cl--unbound) (fmakunbound ,symbol) (fset ,symbol ,store)))
-
-(defmacro letf (bindings &rest body)
-  "Dynamically scoped let-style bindings for places.
-For more details, see `cl-letf'.  This macro behaves like that one
-in almost every respect (apart from details that relate to some
-deprecated usage of `symbol-function' in place forms)."  ; bug#12760
-  (declare (indent 1) (debug cl-letf))
-  ;; Like cl-letf, but with special handling of symbol-function.
-  `(cl-letf ,(mapcar (lambda (x) (if (eq (car-safe (car x)) 'symbol-function)
-                                `((cl--symbol-function ,@(cdar x)) ,@(cdr x))
-                              x))
-                     bindings)
-            ,@body))
-
 (defun cl--gv-adapt (cl-gv do)
   ;; This function is used by all .elc files that use define-setf-expander and
   ;; were compiled with Emacs>=24.3.