emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/macroexp.el


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/macroexp.el
Date: Sun, 03 Jul 2005 12:17:50 -0400

Index: emacs/lisp/emacs-lisp/macroexp.el
diff -c emacs/lisp/emacs-lisp/macroexp.el:1.2 
emacs/lisp/emacs-lisp/macroexp.el:1.3
*** emacs/lisp/emacs-lisp/macroexp.el:1.2       Tue Feb 10 01:52:31 2004
--- emacs/lisp/emacs-lisp/macroexp.el   Sun Jul  3 16:17:50 2005
***************
*** 45,59 ****
  ;; structure of the result with the input.  Doing so recursively using
  ;; `maybe-cons' results in excessively deep recursion for very long
  ;; input forms.
! (defmacro macroexp-accumulate (#1=#:\(var\ list\) &rest body)
    "Return a list of the results of evaluating BODY for each element of LIST.
  Evaluate BODY with VAR bound to each `car' from LIST, in turn.
  Return a list of the values of the final form in BODY.
  The list structure of the result will share as much with LIST as
  possible (for instance, when BODY just returns VAR unchanged, the
! result will be eq to LIST)."
!   (let ((var (car #1#))
!       (list (cadr #1#))
        (shared (make-symbol "shared"))
        (unshared (make-symbol "unshared"))
        (tail (make-symbol "tail"))
--- 45,61 ----
  ;; structure of the result with the input.  Doing so recursively using
  ;; `maybe-cons' results in excessively deep recursion for very long
  ;; input forms.
! (defmacro macroexp-accumulate (var+list &rest body)
    "Return a list of the results of evaluating BODY for each element of LIST.
  Evaluate BODY with VAR bound to each `car' from LIST, in turn.
  Return a list of the values of the final form in BODY.
  The list structure of the result will share as much with LIST as
  possible (for instance, when BODY just returns VAR unchanged, the
! result will be eq to LIST).
! 
! \(fn (VAR LIST) BODY...)"
!   (let ((var (car var+list))
!       (list (cadr var+list))
        (shared (make-symbol "shared"))
        (unshared (make-symbol "unshared"))
        (tail (make-symbol "tail"))




reply via email to

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