all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* macroexpand-all
@ 2004-02-09  9:06 Miles Bader
  2004-02-09 15:56 ` macroexpand-all Stefan Monnier
  2004-02-09 16:55 ` macroexpand-all Kim F. Storm
  0 siblings, 2 replies; 4+ messages in thread
From: Miles Bader @ 2004-02-09  9:06 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 592 bytes --]

One of the cl functions Martin wanted for cc-mode was `macroexpand-all'.

I'd like to add the following file to emacs, `lisp/emacs-lisp/macroexp.el',
which implements `macroexpand-all'.  I wrote it for my lexical-binding
branch, in which _all_ compiler macroexpansion is done using macroexpand-all
on top-level file forms, so it's received a fair bit of testing (at least,
all of emacs lisp code has passed through it :-).

One unusual point is that this implementation also tries to avoid consing in
the case where a form contains no macros (as is true of many).

Any objections/comments?



[-- Attachment #2: macroexpand-all implementation - lisp/emacs-lisp/macroexp.el --]
[-- Type: application/emacs-lisp, Size: 7374 bytes --]

[-- Attachment #3: Type: text/plain, Size: 94 bytes --]




Thanks,

-Miles
-- 
`The suburb is an obsolete and contradictory form of human settlement'

[-- Attachment #4: Type: text/plain, Size: 141 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-02-11  3:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-09  9:06 macroexpand-all Miles Bader
2004-02-09 15:56 ` macroexpand-all Stefan Monnier
2004-02-11  3:39   ` macroexpand-all Miles Bader
2004-02-09 16:55 ` macroexpand-all Kim F. Storm

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.