[slime-devel] Wrong type argument: arrayp, nil for C-c C-s

Stas Boukarev stassats at gmail.com
Tue Apr 28 13:05:23 UTC 2009


On Sun, Apr 26, 2009 at 3:22 AM, Tamas K Papp <tkpapp at gmail.com> wrote:
> Hi,
>
> When trying to complete a symbol with C-c C-s, I get the error message
>
> Wrong type argument: arrayp, nil
>
> in the *Messages* buffer, I see
>
> char-syntax: Wrong type argument: arrayp, nil
>
> in *slime-events*:
>
> (:emacs-rex
>  (swank:arglist-for-echo-area
>  '(("make-instance")
>    ("bind")
>    ("defun"))
>  :arg-indices
>  '(0 2 5)
>  :print-right-margin 1000 :print-lines 1)
>  ":istc-sunk" t 29)
> (:return
>  (:ok "(make-instance class &allow-other-keys &rest initargs)")
>  29)
> (:emacs-rex
>  (swank:arglist-for-echo-area
>  '(("make-instance" "'model")
>    ("bind")
>    ("defun"))
>  :arg-indices
>  '(2 2 5)
>  :print-right-margin 1000 :print-lines 1)
>  ":istc-sunk" t 30)
> (:return
>  (:ok "(make-instance 'model &key r sigma delta q h b beta m alpha theta &allow-other-keys &rest ===> initargs <===)")
>  30)
>
> The cursor was standing at the end of this form:
>
> (make-instance 'model
>
> I am using the latest SLIME from CVS.
>

The attached patch fixes this, perhaps not in the best fashion, here
is the description:

contrib/slime-parse.el (slime-make-form-spec-from-string):
Added (set-syntax-table lisp-mode-syntax-table), because of this:
(with-temp-buffer
  (erase-buffer)
  (set-syntax-table lisp-mode-syntax-table)
  (insert "'foo")
  (goto-char 1)
  (thing-at-point 'sexp)) => "'foo"

Without set-syntax-table it returns nil. This fixes (make-instance 'foo C-c C-s

(slime-parse-sexp-at-point): remove unused flets.


-- 
With best regards, Stas.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slime-parse.patch
Type: application/octet-stream
Size: 2703 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20090428/5a57503e/attachment.obj>


More information about the slime-devel mailing list