mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-19 10:22:27 +00:00
* lisp/emacs-lisp/cl.el (letf): Make it an alias of cl-letf.
(cl--symbol-function): Remove (now that funbound is like nil).
This commit is contained in:
parent
de8cbebe11
commit
eb8006c61f
@ -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.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user