unofficial mirror of emacs-devel@gnu.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).