[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25461: [Patch]: Missing doc strings for "," and ",@".
From: |
Alan Mackenzie |
Subject: |
bug#25461: [Patch]: Missing doc strings for "," and ",@". |
Date: |
Thu, 19 Jan 2017 17:58:01 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
Hello, Michael.
On Thu, Jan 19, 2017 at 03:23:32AM +0100, Michael Heerdegen wrote:
> Hi Alan,
> > diff --git a/lisp/emacs-lisp/backquote.el b/lisp/emacs-lisp/backquote.el
> > index 94c561c..86ca010 100644
> > --- a/lisp/emacs-lisp/backquote.el
> > +++ b/lisp/emacs-lisp/backquote.el
> > @@ -247,4 +247,33 @@ backquote-listify
> > tail))
> > (t (cons 'list heads)))))
> > +
> > +;; Give `,' and `,@' documentation strings which can be examined by C-h f.
> > +(put '\, 'function-documentation
> > + "`,' signals that the next form should be evaluated and inserted.
> > +It can occur only in `\\=`' constructs.
> > +
> > +For example:
> > +
> > +b => (ba bb bc) ; assume b has this value
> > +\\=`(a ,b c) => (a (ba bb bc) c) ; insert the value of b
> > +
> > +See also `\\=`' and `,@'.
> I don't think this makes it easier for people to understand things.
> This suggests that "," has some kind of meaning per se, that it is a
> macro-like thing, etc, and that pcase somehow redefines it.
Yes. All these things are true, aren't they?
> Of course there is a logic behind pcase's usage of ` and ,. The
> usage of these suggests a mental model for their "meaning". But we
> should not describe our mental models in docstrings. That's only useful
> for people sharing the same model.
I'm not sure I'm following you here. A high level description of a
function necessarily involves a mental model.
> The bindings of variables depend on context. The semantics of functions
> are fluent (advice, local functions). And also the "meaning" of the
> sexps created by ` and , depend on the context - in Lisp, the "meaning"
> of all sexps depends on context. (foo bar) can be a function call or a
> part of a let variable binding or a list or a pcase pattern. It's not
> different for sexps involving `.
` has a specific meaning, and has had a high quality doc string for
ever. , likewise has a specific meaning, but doesn't yet have a doc
string.
In Emacs Lisp, functions generally have well defined context-free
semantics, though there are exceptions.
> So I think we maximally should describe what the reader does with `
> etc., so that people know what to search for in the manual or remember
> what they already had learned.
We don't do that for other functions. A function's doc string should be
a crisp summary of what a function _does_. A doc string which directs
people to a manual, or is so confusing or unspecific that the reader is
forced to open a manual, is a failed doc string.
, has a definite precise function (disregarding its use in pcase for
now). Have you any specific suggestions on how to improve my wording of
its doc string?
> + ((get function 'reader-macro)
> + "a reader macro")
> We don't have reader macros in Emacs.
The reader performs macro-like actions. What is the correct alternative
term for what the reader does with ', `, ,, #', etc.?
> If we had them, we could implement ', ` etc. as reader macros. But
> using this term in H-f is confusing, because it is not used in the
> manual.
What would be a less confusing alternative?
> Regards,
> Michael
--
Alan Mackenzie (Nuremberg, Germany).
- bug#25461: Missing doc strings for "," and ",@"., (continued)
- bug#25461: Missing doc strings for "," and ",@"., Andreas Schwab, 2017/01/17
- bug#25461: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/17
- bug#25461: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/18
Message not available
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/18
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., npostavs, 2017/01/18
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/19
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., Noam Postavsky, 2017/01/19
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/19
- bug#25461: [Patch]: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/19
bug#25461: [Patch]: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/18
bug#25461: [Patch]: Missing doc strings for "," and ",@".,
Alan Mackenzie <=
bug#25461: [Patch]: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/19
bug#25461: [Patch]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/20
bug#25461: [Patch]: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/20
bug#25461: [Patch]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/21
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/21
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., Michael Heerdegen, 2017/01/23
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/24
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., npostavs, 2017/01/23
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., Alan Mackenzie, 2017/01/24
bug#25461: [Patch #2]: Missing doc strings for "," and ",@"., Noam Postavsky, 2017/01/24