SWANK defines defstructs in the keyword package

Stas Boukarev stassats at gmail.com
Mon Jul 3 19:57:50 UTC 2017


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.



More information about the slime-devel mailing list