SWANK defines defstructs in the keyword package

Martin Simmons martin at lispworks.com
Wed Jul 5 10:58:04 UTC 2017


Thanks, here is another one, in swank.lisp this time (hopefully the last one).



>>>>> On Mon, 3 Jul 2017 22:57:50 +0300, Stas Boukarev said:
> 
> Applied, thanks.
> 
> On Mon, Jul 3, 2017 at 8:41 PM, Martin Simmons <martin at lispworks.com> wrote:
> > 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.
> >>
> 
> 
> 
> -- 
> With best regards, Stas.
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: remove-keyword-defstructs-2.patch
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20170705/e748d5ab/attachment.ksh>


More information about the slime-devel mailing list