diff options
author | Robin Templeton <[email protected]> | 2014-07-18 15:02:38 -0400 |
---|---|---|
committer | Robin Templeton <[email protected]> | 2015-04-20 00:29:01 -0400 |
commit | f88feb5d1ec0a34752f688017190cf56798850fc (patch) | |
tree | 135eac8cabd8ffff7ca0281ec275417823462418 /lisp/emacs-lisp/cl.el | |
parent | f208afd539a97efa1dd94686ff3d2c2ebfd09944 (diff) |
rm cl labels
Diffstat (limited to 'lisp/emacs-lisp/cl.el')
-rw-r--r-- | lisp/emacs-lisp/cl.el | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index d99166e41c..fa77810e2e 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -481,26 +481,6 @@ will not work - use `labels' instead" (symbol-name (car x)))) bindings) ,@body)) -(defmacro labels (bindings &rest body) - "Make temporary function bindings. -Like `cl-labels' except that the lexical scoping is handled via `lexical-let' -rather than relying on `lexical-binding'." - (declare (indent 1) (debug cl-flet) (obsolete cl-labels "24.3")) - (let ((vars nil) (sets nil) (newenv macroexpand-all-environment)) - (dolist (binding bindings) - ;; It's important that (not (eq (symbol-name var1) (symbol-name var2))) - ;; because these var's *names* get added to the macro-environment. - (let ((var (make-symbol (format "--cl-%s--" (car binding))))) - (push var vars) - (push `(cl-function (lambda . ,(cdr binding))) sets) - (push var sets) - (push (cons (car binding) - `(lambda (&rest cl-labels-args) - (cl-list* 'funcall ',var - cl-labels-args))) - newenv))) - (macroexpand-all `(lexical-let ,vars (setq ,@sets) ,@body) newenv))) - ;; Generalized variables are provided by gv.el, but some details are ;; 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. |