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