[slime-devel] [bug] ecl-swank chokes on cl-ppcre docstring

Daniel Herring dherring at tentpost.com
Fri Jan 30 03:53:10 UTC 2009


On Mon, 29 Dec 2008, Daniel Herring wrote:

> Steps to reproduce:
> * load ECL in Slime
> * evaluate a form like the following
> (defmacro break-slime (&rest args)
>   "Syntax: this-is-bad"
>   (list args))
> * Slime complains
> "THIS-IS-BAD is not of type CONS.
>   [Condition of type TYPE-ERROR]"

Slime patch attached.  Please apply; it is a showstopper bug when 
encountered.

Thanks,
Daniel
-------------- next part --------------
From c460651231b0b2d3fe6f2f73a83832459761503c Mon Sep 17 00:00:00 2001
From: D Herring <dherring at at.tentpost.dot.com>
Date: Thu, 29 Jan 2009 22:49:18 -0500
Subject: [PATCH] swank-ecl bugfix

This bug was triggered by
cl-ppcre/util.lisp:46
"Syntax: WITH-UNIQUE-NAMES ( { var | (var x) }* ) declaration* form*"

It resulted in spurious warnings whenever slime attempted symbol completion.
---
 swank-ecl.lisp |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/swank-ecl.lisp b/swank-ecl.lisp
index ade08f9..92f9755 100644
--- a/swank-ecl.lisp
+++ b/swank-ecl.lisp
@@ -183,7 +183,9 @@
           (multiple-value-bind (arglist errorp)
               (ignore-errors
                 (values (read-from-string docstring t nil :start pos)))
-            (if errorp :not-available (cdr arglist)))
+            (if (or errorp (not (listp arglist)))
+                :not-available
+                (cdr arglist)))
           :not-available ))))
 
 (defimplementation arglist (name)
-- 
1.6.0.2



More information about the slime-devel mailing list