Subject: bug#61274: 29.0.60; dabbrev-capf signals errors

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 Feb 2023 20:09:50 +0200

> Date: Sat, 4 Feb 2023 18:30:41 +0100
> Cc: [email-masked]
> From: Daniel Mendler <[email-masked]>
> 
> > Then there's something here that puzzles me: the recipe presented by
> > Daniel is basically identical to what dabbrev-completion does.  And
> > yet dabbrev-completion produces different effects when invoked in the
> > same buffer with the same text at point.  What is responsible for the
> > difference in behavior?
> 
> You mean that the stringp type error does not occur? There is some code
> in `dabbrev-completion' which sets up Dabbrev (resets variables etc), so
> this is likely causing the difference.

This is solved by my patch.

I thought there was some difference in behavior even after that, but
it looks like I cannot reproduce it now, so I will consider that my
dream.

> However the second issue still occurs even with `dabbrev-completion'.
> When I execute `dabbrev-completion' in a buffer where no completions are
> found, I get the message "dabbrev--abbrev-at-point: No possible
> abbreviation preceding point", while the message should be the usual "No
> match" from `completion-at-point'.

I see a different message:

  completion--some: No dynamic expansion for "x" found in this-buffer

Which IMO is completely reasonable.