Subject: bug#358: dabbrev-abbrev-char-regexp

From: Noam Postavsky <[email-masked]>
Date: Thu, 23 Mar 2017 16:50:27 -0400

On Thu, Mar 23, 2017 at 4:24 PM, Drew Adams <[email-masked]> wrote:
>> >> +For instance, if you are programming in Lisp, `yes-or-no-p' is a
>> >> +symbol, while `yes', `or', `no' and `p' are considered words.
>> >
>> > This text (same as before) is a bit misleading.  It makes it sound
>> > like `yes', `or', `no', and `p' are considered words but not symbols.
>> > They are also considered symbols.  Each of their characters has word
>> > syntax, but in Lisp those names name symbols.
>> >
>> > It is better not to talk about Lisp symbols at all here, I think.
>> > This is about the syntax categories symbol and word.  It is not
>> > about which names can be used for Lisp symbols.  (And there is
>> > no such thing as a Lisp "word".)
>>
>> The text is using "symbol" as a shorthand for "text which
>> `forward-symbol' would move over" or "sequence of characters with word
>> or symbol constituent syntax", and "word" as short for "text which
>> `forward-word' would move over" or "sequence of characters with word
>> constituent syntax".
>
> Yes, that's the intended meaning.  Which is why it should not
> mention Lisp symbols, which are something else again.

Oh, your objection is about mentioning `yes-or-no-p'?

> I don't think any example is needed.  Essentially we are saying
> here that if a letter has word syntax and `-' has symbol syntax
> then \"\\\\sw\" matches a word char and \"\\\\sw\\\\|\\\\s_\"
> matches a word char or a symbol char.  Not worth saying, IMO.

So the last paragraph would be just:

For instance, suppose the current buffer is `emacs-lisp-mode'.
If this variable is nil or \"\\\\sw\\\\|\\\\s_\", then expanding
`yes-or-no-' looks for a symbol starting with `yes-or-no-'.  If
you set this variable to \"\\\\sw\", that expansion looks for a
word prefixed with `no-' (e.g., it would match `no-problem', but
not `no-problem-found').  If expanding `yes-or-no' it would look
for a word starting with `no' (e.g. `normal')."

Or did you mean just drop it entirely?