Mercurial > emacs
diff lisp/emacs-lisp/macroexp.el @ 90200:f9a65d7ebd29
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-68
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 459-473)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 86-87)
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 07 Jul 2005 12:43:14 +0000 |
parents | 18a818a2ee7c |
children | 5b1a238fcbb4 |
line wrap: on
line diff
--- a/lisp/emacs-lisp/macroexp.el Thu Jun 30 00:31:46 2005 +0000 +++ b/lisp/emacs-lisp/macroexp.el Thu Jul 07 12:43:14 2005 +0000 @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; @@ -45,15 +45,17 @@ ;; 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) +(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)." - (let ((var (car #1#)) - (list (cadr #1#)) +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"))