diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-12-12 20:46:47 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-12-12 20:46:47 -0500 |
commit | eb8006c61fee921dedba1cf708b390e12b89836d (patch) | |
tree | c19f7508669125bdd52fa291d0a297a35514a814 | |
parent | de8cbebe112804e3f7f8e5ebd1e5a3661e311b9c (diff) | |
download | emacs-eb8006c61fee921dedba1cf708b390e12b89836d.tar.gz |
* lisp/emacs-lisp/cl.el (letf): Make it an alias of cl-letf.
(cl--symbol-function): Remove (now that funbound is like nil).
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/emacs-lisp/cl.el | 24 |
2 files changed, 6 insertions, 23 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3d3892a12be..97b44b22975 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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. diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 7241b3c5984..37821758fa5 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -220,7 +220,7 @@ 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. |