It's supposed to - but I was too lazy to write a walker. Fortunately
there's a contrib for it now and I've added that feature. Again, this
needs contrib so if it's not there it'll fallback on plain old
macroexpand.

- Jeff

On Apr 17, 2:22 pm, Paul Drummond <paul.drumm...@iode.co.uk> wrote:
> Thanks guys - it's great that this is in clojure-swank now as well!  I
> simply updated and it works - no code changes required :)
>
> It looks like slime-macroexpand-all doesn't do what I expected it to
> do though.  Is it just the same as the clojure macroexpand function?
> I was hoping it would do a "recursive" expansion to include sub-forms.
>  I will keep digging...
>
> Thanks again,
> Paul.
>
> 2009/4/17 Jeffrey Chu <joc...@gmail.com>:
>
>
>
>
>
> > Thanks for the tip. I've added it to swank-clojure (only if you have
> > clojure.contrib installed though, so don't forget to have that
> > around).
>
> > - Jeff
>
> > On Apr 17, 12:14 pm, David Nolen <dnolen.li...@gmail.com> wrote:
> >> If you have the latest version of clojure.contrib you can do the following:
> >> Modify the namespace declaration in swank-clojure/swank/commands/basic.clj
> >> to look like the following:
>
> >> (ns swank.commands.basic
> >>   (:refer-clojure :exclude [load-file])
> >>   (:use (swank util commands core)
> >>         (swank.util.concurrent thread)
> >>         (swank.util string clojure)
> >> clojure.contrib.pprint)
> >>   (:require (swank.util [sys :as sys]))
> >>   (:import (java.io StringReader File)
> >>            (java.util.zip ZipFile)
> >>            (clojure.lang LineNumberingPushbackReader)))
>
> >> In the same file modify apply-macro-expander to look like the following:
>
> >> (defn- apply-macro-expander [expander string]
> >>  (binding [*print-suppress-namespaces* true]
> >>    (with-pprint-dispatch *code-dispatch*
> >>      (write (expander (read-from-string string)) :pretty true :stream
> >> nil))))
>
> >> Now that pprint is a part of contrib, these two changes should probably be
> >> incorporated into swank-clojure.
>
> >> On Fri, Apr 17, 2009 at 2:39 PM, Paul Drummond 
> >> <paul.drumm...@iode.co.uk>wrote:
>
> >> > Up until now I have made do with a simple clojure repl in Emacs but as
> >> > I am playing around with macros I feel it's time to test drive
> >> > clojure-swank and it's fancy macro expansion features!
>
> >> > I have installed clojure-swank following the instructions on the wiki
> >> > and the installation seems to have worked.  I can launch slime and I
> >> > get a clojure repl.  If I evaluate a function, then switch back to my
> >> > editor and type the function name followed by a space the arguments
> >> > for the function appear thanks to Slime.  So far so good.
>
> >> > When it comes to trying out other commands some things work, things
> >> > don't work as expected.  While I am curious which features are
> >> > available and which features others use on a daily basis, at the
> >> > moment I just want to focus on getting macro expansion to work.
>
> >> > Can someone please explain what steps I need to take to get
> >> > macro-expansion to work from a stock swank-clojure installation?  I
> >> > tried following the steps explained in a previous thread (the pprint
> >> > announcement) but I get confused as these instructions refer to
> >> > cl-format which was before pprint was added to clojure-contrib.
>
> >> > Thanks,
> >> > Paul.
> >> > --
> >> > Iode Software Ltd, registered in England No. 6299803.
>
> >> > Registered Office Address: 12 Sancroft Drive, Houghton-le-Spring, Tyne
> >> > & Wear, DH5 8NE.
>
> >> > This message is intended only for the use of the person(s) ("the
> >> > intended recipient(s)") to whom it is addressed. It may contain
> >> > information which is privileged and confidential within the meaning of
> >> > applicable law. If you are not the intended recipient, please contact
> >> > the sender as soon as possible. The views expressed in this
> >> > communication may not necessarily be the views held by The Company.
>
> --
> Iode Software Ltd, registered in England No. 6299803.
>
> Registered Office Address: 12 Sancroft Drive, Houghton-le-Spring, Tyne
> & Wear, DH5 8NE.
>
> This message is intended only for the use of the person(s) ("the
> intended recipient(s)") to whom it is addressed. It may contain
> information which is privileged and confidential within the meaning of
> applicable law. If you are not the intended recipient, please contact
> the sender as soon as possible. The views expressed in this
> communication may not necessarily be the views held by The Company.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to