Re: SWANK defines defstructs in the keyword package
Stas Boukarev <[email protected]> Wed, 5 Jul 2017 16:45:42 +0300
| Newsgroups | gmane.lisp.slime.devel |
|---|---|
| Message-ID | <CAF63=10ZXtPpuxh4Gxk+eyoStwBapiAhxNwhbmCJyJErVGDCmw@mail.gmail.com> |
Ok, I did it in a slightly different fashion. On Wed, Jul 5, 2017 at 1:58 PM, Martin Simmons <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> 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. >> -- With best regards, Stas.