Odd. My patch works for me, and MHOOO's code simply applies a very similar 
patch at runtime, so I'd guess that your swank code is getting loaded from a 
location other than the one you patched.

I guess Phil's very busy, but if he can apply this patch, then the regular 
swank-clojure 1.3.0-SNAPSHOT on clojars should end up containing the fix.

-Steve



On 19 Aug 2010, at 03:39, doug wrote:

> Great plugin- thanks steve
> i applied your patch but still throws on clojure.main and on some
> (import '(java.util.concurrent....
> 
> MHOOO's code above seems to resolve my errors.
> 
> thanks -doug
> 
> On Aug 18, 1:44 pm, MHOOO <[email protected]> wrote:
>> I can get rid of those errors by evaling this in the repl. Does this
>> work for you as well?:
>> (do
>>   (require 'clojure.contrib.with-ns)
>>   (clojure.contrib.with-ns/with-ns
>>     'swank.commands.basic
>>     (defn- describe-to-string [var]
>>       {:pre [(var? var)]}
>>       (with-out-str
>>         (print-doc var)))
>> 
>>     (defn- describe-symbol* [symbol-name]
>>       (with-emacs-package
>>         (let [v (try (ns-resolve (maybe-ns *current-package*) (symbol
>> symbol-name))
>>                      (catch ClassNotFoundException e
>>                        nil))]
>>           (if (and v (var? v))
>>             (describe-to-string v)
>>             (str "Unknown symbol " symbol-name)))))))
>> 
>> On Aug 17, 10:38 am, Stefan Kamphausen <[email protected]> wrote:
>> 
>> 
>> 
>>> Hi,
>> 
>>> just yesterday I took a first look at auto-complete together with your
>>> slime auto completion sources.
>> 
>>> I'm encountering some Exceptions, though,
>> 
>>> If I'm in a .clj-buffer and start typing
>> 
>>>   (clojure.
>> 
>>> and then wait for the auto completion to popup I see a list of
>>> possible completions like, e.g., clojure.set, clojure.xml and more,
>>> and then an Exception pops up:
>> 
>>> clojure.set
>>>   [Thrown class java.lang.ClassNotFoundException]
>> 
>>> Restarts:
>>>  0: [QUIT] Quit to the SLIME top level
>>>  1: [ABORT] ABORT to SLIME level 0
>> 
>>> Backtrace:
>>>   0: java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>>   1: java.security.AccessController.doPrivileged(Native Method)
>>>   2: java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>   3: clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:
>>> 58)
>>>   4: java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>   5: java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>>   6: java.lang.Class.forName0(Native Method)
>>>   7: java.lang.Class.forName(Class.java:247)
>>>   8: clojure.lang.RT.classForName(RT.java:1566)
>>>   9: clojure.lang.Compiler.maybeResolveIn(Compiler.java:5700)
>>>  10: clojure.core$ns_resolve.invoke(core.clj:3380)
>>>  11: swank.commands.basic$describe_symbol_STAR_.invoke(basic.clj:184)
>>>  12: swank.commands.basic
>>> $eval880$documentation_symbol__881.invoke(basic.clj:201)
>>>  13: clojure.lang.Var.invoke(Var.java:365)
>>>  14: user$eval1927.invoke(NO_SOURCE_FILE)
>>>  15: clojure.lang.Compiler.eval(Compiler.java:5424)
>>>  16: clojure.lang.Compiler.eval(Compiler.java:5391)
>>>  17: clojure.core$eval.invoke(core.clj:2382)
>>>  18: swank.core$eval_in_emacs_package.invoke(core.clj:94)
>>>  19: swank.core$eval_for_emacs.invoke(core.clj:241)
>>>  20: clojure.lang.Var.invoke(Var.java:373)
>>>  21: clojure.lang.AFn.applyToHelper(AFn.java:169)
>>>  22: clojure.lang.Var.applyTo(Var.java:482)
>>>  23: clojure.core$apply.invoke(core.clj:540)
>>>  24: swank.core$eval_from_control.invoke(core.clj:101)
>>>  25: swank.core$sldb_loop$fn__401.invoke(core.clj:203)
>>>  26: swank.core$sldb_loop.invoke(core.clj:200)
>>>  27: swank.core$invoke_debugger.invoke(core.clj:216)
>>>  28: swank.core$sldb_debug.invoke(core.clj:220)
>>>  29: swank.core$eval_for_emacs.invoke(core.clj:279)
>>>  30: clojure.lang.Var.invoke(Var.java:373)
>>>  31: clojure.lang.AFn.applyToHelper(AFn.java:169)
>>>  32: clojure.lang.Var.applyTo(Var.java:482)
>>>  33: clojure.core$apply.invoke(core.clj:540)
>>>  34: swank.core$eval_from_control.invoke(core.clj:101)
>>>  35: swank.core$spawn_worker_thread$fn__455$fn__456.invoke(core.clj:
>>> 300)
>>>  36: clojure.lang.AFn.applyToHelper(AFn.java:159)
>>>  37: clojure.lang.AFn.applyTo(AFn.java:151)
>>>  38: clojure.core$apply.invoke(core.clj:540)
>>>  39: swank.core$spawn_worker_thread$fn__455.doInvoke(core.clj:296)
>>>  40: clojure.lang.RestFn.invoke(RestFn.java:398)
>>>  41: clojure.lang.AFn.run(AFn.java:24)
>>>  42: java.lang.Thread.run(Thread.java:619)
>> 
>>> Another one shows up if I hit TAB (bound to indent-for-tab-command)
>>> before the completion shows up I get a
>> 
>>> No message.
>>>   [Thrown class java.lang.NullPointerException]
>> 
>>> Restarts:
>>>  0: [QUIT] Quit to the SLIME top level
>> 
>>> Backtrace:
>>>   0: clojure.lang.Compiler$FnMethod.parse(Compiler.java:4290)
>>>   1: clojure.lang.Compiler$FnExpr.parse(Compiler.java:3173)
>>>   2: clojure.lang.Compiler.analyzeSeq(Compiler.java:5367)
>>>   3: clojure.lang.Compiler.analyze(Compiler.java:5190)
>>>   4: clojure.lang.Compiler.analyze(Compiler.java:5151)
>>>   5: clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3057)
>>>   6: clojure.lang.Compiler.analyzeSeq(Compiler.java:5371)
>>>   7: clojure.lang.Compiler.analyze(Compiler.java:5190)
>>>   8: clojure.lang.Compiler.analyze(Compiler.java:5151)
>>>   9: clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:4670)
>>>  10: clojure.lang.Compiler$FnMethod.parse(Compiler.java:4328)
>>>  11: clojure.lang.Compiler$FnExpr.parse(Compiler.java:3173)
>>>  12: clojure.lang.Compiler.analyzeSeq(Compiler.java:5367)
>>>  13: clojure.lang.Compiler.analyze(Compiler.java:5190)
>>>  14: clojure.lang.Compiler.eval(Compiler.java:5421)
>>>  15: clojure.lang.Compiler.eval(Compiler.java:5391)
>>>  16: clojure.core$eval.invoke(core.clj:2382)
>>>  17: swank.core$eval_in_emacs_package.invoke(core.clj:94)
>>>  18: swank.core$eval_for_emacs.invoke(core.clj:241)
>>>  19: clojure.lang.Var.invoke(Var.java:373)
>>>  20: clojure.lang.AFn.applyToHelper(AFn.java:169)
>>>  21: clojure.lang.Var.applyTo(Var.java:482)
>>>  22: clojure.core$apply.invoke(core.clj:540)
>>>  23: swank.core$eval_from_control.invoke(core.clj:101)
>>>  24: swank.core$spawn_worker_thread$fn__455$fn__456.invoke(core.clj:
>>> 300)
>>>  25: clojure.lang.AFn.applyToHelper(AFn.java:159)
>>>  26: clojure.lang.AFn.applyTo(AFn.java:151)
>>>  27: clojure.core$apply.invoke(core.clj:540)
>>>  28: swank.core$spawn_worker_thread$fn__455.doInvoke(core.clj:296)
>>>  29: clojure.lang.RestFn.invoke(RestFn.java:398)
>>>  30: clojure.lang.AFn.run(AFn.java:24)
>>>  31: java.lang.Thread.run(Thread.java:619)
>> 
>>> Did anybody else see this?  I can reproduce this at will and can
>>> easily test things if you want.
>> 
>>> Kind regards,
>>> Stefan
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to