Subject: Re: bug#36516: Wrong dynamic abbrev expansion after space

From: Alan Third <[email-masked]>
Date: Sat, 27 Jul 2019 18:18:31 +0100

On Tue, Jul 09, 2019 at 12:35:44AM +0300, Juri Linkov wrote:
> >> The example in the first part of my bug report demonstrates that
> >> this useful feature works as documented in the manual.
> >
> > It does?  Please explain how it does, because I don't see it.
> 
> For example:
> 
> 0. emacs -Q
> 1. Type these two lines:
> str 1
> str 2
> 2. On the third line type:
>  s                      ;; self-insert-command
>  M-/                    ;; dabbrev-expand
>  SPC                    ;; self-insert-command
>  C-M-/                  ;; dabbrev-completion
> 
> This correctly displays all available completions
> “str 1” and “str 2”.  But ‘s M-/ SPC M-/ M-/’ doesn't get
> the second completion.

’s M-/ SPC M-/’ doesn’t do a normal completion, it does this (from 
the manual):

    After you have expanded a dynamic abbrev, you can copy additional
    words that follow the expansion in its original context. Simply type
    <SPC> M-/ for each additional word you want to copy. The spacing and
    punctuation between words is copied along with the words.

I suppose that subsequent M-/’s are undocumented, but the current
behaviour is, IMO, definitely confusing as it seems to search other
buffers for completions even though there are valid completions in the
current buffer.

-- 
Alan Third