emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r108613: * lisp/emacs-lisp/cl-macs


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r108613: * lisp/emacs-lisp/cl-macs.el (cl--transform-function-property): Remove.
Date: Fri, 02 Nov 2012 01:45:46 -0000
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 108613
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Thu 2012-06-14 21:07:03 -0400
message:
  * lisp/emacs-lisp/cl-macs.el (cl--transform-function-property): Remove.
  (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro):
  Use `cl-function' instead.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/cl-loaddefs.el
  lisp/emacs-lisp/cl-macs.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-06-14 23:53:41 +0000
+++ b/lisp/ChangeLog    2012-06-15 01:07:03 +0000
@@ -1,3 +1,9 @@
+2012-06-15  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/cl-macs.el (cl--transform-function-property): Remove.
+       (cl-define-setf-expander, cl-deftype, cl-define-compiler-macro):
+       Use `cl-function' instead.
+
 2012-06-14  Juanma Barranquero  <address@hidden>
 
        * makefile.w32-in (COMPILE_FIRST): Remove subr.el.

=== modified file 'lisp/emacs-lisp/cl-loaddefs.el'
--- a/lisp/emacs-lisp/cl-loaddefs.el    2012-06-14 10:20:32 +0000
+++ b/lisp/emacs-lisp/cl-loaddefs.el    2012-06-15 01:07:03 +0000
@@ -267,7 +267,7 @@
 ;;;;;;  cl-return cl-block cl-etypecase cl-typecase cl-ecase cl-case
 ;;;;;;  cl-load-time-value cl-eval-when cl-destructuring-bind cl-function
 ;;;;;;  cl-defmacro cl-defun cl-gentemp cl-gensym) "cl-macs" "cl-macs.el"
-;;;;;;  "ed740fe712e6d259cb14a1ca5576332f")
+;;;;;;  "57801d8e4d72553371d59eca7b44292f")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'cl-gensym "cl-macs" "\

=== modified file 'lisp/emacs-lisp/cl-macs.el'
--- a/lisp/emacs-lisp/cl-macs.el        2012-06-13 20:52:25 +0000
+++ b/lisp/emacs-lisp/cl-macs.el        2012-06-15 01:07:03 +0000
@@ -54,15 +54,6 @@
 (defvar cl-optimize-safety)
 (defvar cl-optimize-speed)
 
-
-;; This kludge allows macros which use cl--transform-function-property
-;; to be called at compile-time.
-
-(eval-and-compile
-  (or (fboundp 'cl--transform-function-property)
-      (defun cl--transform-function-property (n p f)
-        `(put ',n ',p #'(lambda . ,f)))))
-
 ;;; Initialization.
 
 ;;; Some predicates for analyzing Lisp forms.
@@ -361,11 +352,6 @@
        (if (car res) `(progn ,(car res) ,form) form))
     `(function ,func)))
 
-(defun cl--transform-function-property (func prop form)
-  (let ((res (cl--transform-lambda form func)))
-    `(progn ,@(cdr (cdr (car res)))
-           (put ',func ',prop #'(lambda . ,(cdr res))))))
-
 (declare-function help-add-fundoc-usage "help-fns" (docstring arglist))
 
 (defun cl--make-usage-var (x)
@@ -1894,8 +1880,7 @@
   `(cl-eval-when (compile load eval)
      ,@(if (stringp (car body))
            (list `(put ',func 'setf-documentation ,(pop body))))
-     ,(cl--transform-function-property
-       func 'setf-method (cons args body))))
+     (put ',func 'setf-method (cl-function (lambda ,args ,@body)))))
 
 ;;;###autoload
 (defmacro cl-defsetf (func arg1 &rest args)
@@ -2785,8 +2770,8 @@
 The type name can then be used in `cl-typecase', `cl-check-type', etc."
   (declare (debug cl-defmacro) (doc-string 3))
   `(cl-eval-when (compile load eval)
-     ,(cl--transform-function-property
-       name 'cl-deftype-handler (cons `(&cl-defs '('*) ,@arglist) body))))
+     (put ',name 'cl-deftype-handler
+          (cl-function (lambda (&cl-defs '('*) ,@arglist) ,@body)))))
 
 (defun cl--make-type-test (val type)
   (if (symbolp type)
@@ -2891,10 +2876,10 @@
     (while (consp p) (push (pop p) res))
     (setq args (nconc (nreverse res) (and p (list '&rest p)))))
   `(cl-eval-when (compile load eval)
-     ,(cl--transform-function-property
-       func 'compiler-macro
-       (cons (if (memq '&whole args) (delq '&whole args)
-               (cons '_cl-whole-arg args)) body))
+     (put ',func 'compiler-macro
+          (cl-function (lambda ,(if (memq '&whole args) (delq '&whole args)
+                             (cons '_cl-whole-arg args))
+                         ,@body)))
      ;; This is so that describe-function can locate
      ;; the macro definition.
      (let ((file ,(or buffer-file-name


reply via email to

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