SWANK defines defstructs in the keyword package
Martin Simmons
martin at lispworks.com
Mon Jul 3 17:41:00 UTC 2017
Thanks, I've attached a patch that works for LispWorks, but I think only SBCL
uses the readers.
>>>>> On Mon, 3 Jul 2017 20:04:46 +0300, Stas Boukarev said:
>
> I'd apply a patch that performs this.
>
> On Mon, Jul 3, 2017 at 7:52 PM, Martin Simmons <martin at lispworks.com> wrote:
> > Hi,
> >
> > swank/backend.lisp defines some defstructs in the keyword package:
> >
> > (defstruct (:location (:type list) :named
> > (:constructor make-location
> > (buffer position &optional hints)))
> > buffer position
> > ;; Hints is a property list optionally containing:
> > ;; :snippet SOURCE-TEXT
> > ;; This is a snippet of the actual source text at the start of
> > ;; the definition, which could be used in a text search.
> > hints)
> >
> > (defstruct (:error (:type list) :named (:constructor)) message)
> >
> > ;;; Valid content for BUFFER slot
> > (defstruct (:file (:type list) :named (:constructor)) name)
> > (defstruct (:buffer (:type list) :named (:constructor)) name)
> > (defstruct (:etags-file (:type list) :named (:constructor)) filename)
> >
> > ;;; Valid content for POSITION slot
> > (defstruct (:position (:type list) :named (:constructor)) pos)
> > (defstruct (:tag (:type list) :named (:constructor)) tag1 tag2)
> >
> >
> > This is generally a bad idea because it can lead to clashes in the namespace
> > of structure names (as used by the :include option).
> >
> > AFICS, except for "location", these definitions are never used because they
> > are always constructed using backquote or list.
> >
> > Would you consider removing the defstructs and adding defuns for make-location
> > and its readers?
> >
> > --
> > Martin Simmons
> > LispWorks Ltd
> > http://www.lispworks.com/
> >
>
>
>
> --
> With best regards, Stas.
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: remove-keyword-defstructs.patch
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20170703/d7663076/attachment.ksh>
More information about the slime-devel
mailing list