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

* Re: macroexpand-all
  2004-02-09  9:06 macroexpand-all Miles Bader
@ 2004-02-09 15:56 ` Stefan Monnier
  2004-02-11  3:39   ` macroexpand-all Miles Bader
  2004-02-09 16:55 ` macroexpand-all Kim F. Storm
  1 sibling, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2004-02-09 15:56 UTC (permalink / raw)
  Cc: emacs-devel

> 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
[...]
> Any objections/comments?

Objections?  Hell no!
Please do it.  Then we can pass the content of `interactive' specs
through it easily, so we can then use CL macros in interactive specs
without having to load CL at runtime.


        Stefan

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

* Re: macroexpand-all
  2004-02-09  9:06 macroexpand-all Miles Bader
  2004-02-09 15:56 ` macroexpand-all Stefan Monnier
@ 2004-02-09 16:55 ` Kim F. Storm
  1 sibling, 0 replies; 4+ messages in thread
From: Kim F. Storm @ 2004-02-09 16:55 UTC (permalink / raw)
  Cc: emacs-devel

Miles Bader <miles@lsi.nec.co.jp> writes:

> 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?
> 

I don't mind.  It should go into emacs-lisp directory.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

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

* Re: macroexpand-all
  2004-02-09 15:56 ` macroexpand-all Stefan Monnier
@ 2004-02-11  3:39   ` Miles Bader
  0 siblings, 0 replies; 4+ messages in thread
From: Miles Bader @ 2004-02-11  3:39 UTC (permalink / raw)
  Cc: emacs-devel, bug-cc-mode, Martin Stjernholm

> > I'd like to add the following file to emacs, `lisp/emacs-lisp/macroexp.el',
> > which implements `macroexpand-all'.
>
> Please do it.

Ok, I did.

-Miles
-- 
Quidquid latine dictum sit, altum viditur.


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn


^ 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).