[slime-devel] slime-complete-form broken

Matthias Koeppe mkoeppe+slime at mail.math.uni-magdeburg.de
Thu Jan 10 10:02:16 UTC 2008


Hi Tobias,

I noticed that slime-complete-form is broken in SLIME CVS.  Since you
did the most recent changes to arglist-related parsing, I hope you can
fix it.

Create this Lisp buffer:
---------------------------------------------------------
(defun

(defun foo (a)
  a)
---------------------------------------------------------

Then move point after the first "defun" and press C-c C-s.  

SLIME now inserts "varlist body...)" and then signals "Wrong type
argument: stringp, nil".

It should have inserted "name varlist body...)" instead (it should
also not signal an error).

Apparently the "defun foo" form is taken as an actual argument to the
first "defun" form and consumes the formal argument "name".  This is
wrong.  For slime-complete-form, the parser should ignore everything
that is beyond the token around point, as in earlier versions of the
code (I remark it is NOT sufficient to just stop before the next
top-level expression).

The wrong-type-arg error is occuring in code related to the automatic
closing of parens.

Thanks,
Matthias
-- 
Matthias Köppe -- http://www.math.uni-magdeburg.de/~mkoeppe



More information about the slime-devel mailing list