* Re: [Emacs-diffs] emacs-26 4ab4551: Firm up documentation of generalized variables [not found] ` <20180321175856.0D4C42041C@vcs0.savannah.gnu.org> @ 2018-03-21 19:56 ` Stefan Monnier 2018-03-22 20:27 ` Alan Mackenzie 0 siblings, 1 reply; 3+ messages in thread From: Stefan Monnier @ 2018-03-21 19:56 UTC (permalink / raw) To: Alan Mackenzie; +Cc: emacs-devel > * doc/lispref/variables.texi (Generalized Variables) > (Setting Generalized Variables): Define a generalized variable as something > setf can write to. Remove the insinuation that hackers have poor memories. > State explicitly that the list of GVs given is complete. Remove the > suggestion that `setf' has superseded, or is in the process of superseding, Thanks, it's indeed more clear now. But note that the list is not "complete". Stefan ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Emacs-diffs] emacs-26 4ab4551: Firm up documentation of generalized variables 2018-03-21 19:56 ` [Emacs-diffs] emacs-26 4ab4551: Firm up documentation of generalized variables Stefan Monnier @ 2018-03-22 20:27 ` Alan Mackenzie 2018-03-22 21:03 ` Stefan Monnier 0 siblings, 1 reply; 3+ messages in thread From: Alan Mackenzie @ 2018-03-22 20:27 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Hello, Stefan. On Wed, Mar 21, 2018 at 15:56:51 -0400, Stefan Monnier wrote: > > * doc/lispref/variables.texi (Generalized Variables) > > (Setting Generalized Variables): Define a generalized variable as something > > setf can write to. Remove the insinuation that hackers have poor memories. > > State explicitly that the list of GVs given is complete. Remove the > > suggestion that `setf' has superseded, or is in the process of superseding, > Thanks, it's indeed more clear now. > But note that the list is not "complete". What the paragraph I modified actually says on this point is: The following Lisp forms are the forms in Emacs that will work as generalized variables, and so may appear in the @var{place} argument of @code{setf}: I take it this isn't quite accurate. How is it inaccurate? Is it (i) because there are more GVs in the cl-*.el files? Or (ii) because users can create their own GVs? Or (iii) <something else>? Depending on the answer, I suggest one of the following corrections: The following Lisp forms are the forms in standard Emacs that will work as generalized variables, and so may appear in the PLACE argument of `setf'. You can load more such forms from the file xxxx.el. The following Lisp forms are the forms in standard Emacs that will work as generalized variables, and so may appear in the PLACE argument of `setf'. You can also create your own generalized variables (see Adding Generalized Variables). It would be nice to fix this. What do you think? > Stefan -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Emacs-diffs] emacs-26 4ab4551: Firm up documentation of generalized variables 2018-03-22 20:27 ` Alan Mackenzie @ 2018-03-22 21:03 ` Stefan Monnier 0 siblings, 0 replies; 3+ messages in thread From: Stefan Monnier @ 2018-03-22 21:03 UTC (permalink / raw) To: Alan Mackenzie; +Cc: emacs-devel > The following Lisp forms are the forms in Emacs that will work as > generalized variables, and so may appear in the @var{place} argument > of @code{setf}: > > I take it this isn't quite accurate. How is it inaccurate? While it doesn't say so explicitly it gives the impression of being exhaustive. I'm not sure it's a big deal, tho, since the rest of the doc explains how to add more forms, hence clarifies the fact that it's indeed not exhaustive. > Is it (i) because there are more GVs in the cl-*.el files? Or (ii) > because users can create their own GVs? Or (iii) <something else>? I guess a mix of the two (e.g. cl-defstruct creates more, and some of the preloaded files use cl-defstruct, so even the core predefines more places than the ones listed). Similarly, accessors defined using `defmacro` (e.g. (defmacro mything-secondfield (x) `(cadr ,x))) will also work as places, which makes yet more places available. > It would be nice to fix this. What do you think? I have the impression it's going to be difficult to keep this list exhaustive, so we might just add a "catch all" case which refers to a vague notion of "accessor" maybe. Or maybe just leave it as is. Stefan ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-03-22 21:03 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20180321175854.17105.90124@vcs0.savannah.gnu.org> [not found] ` <20180321175856.0D4C42041C@vcs0.savannah.gnu.org> 2018-03-21 19:56 ` [Emacs-diffs] emacs-26 4ab4551: Firm up documentation of generalized variables Stefan Monnier 2018-03-22 20:27 ` Alan Mackenzie 2018-03-22 21:03 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).