Excellent!  Many thanks to you guys and Tom Faulhaber (the author of
pprint) - this feature has already helped me so much with debugging my
macro.

2009/4/18 Jeffrey Chu <joc...@gmail.com>:
>
> 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.
> >
>



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