Subject: Re: bug#12254: 24.2; completion fails backward-char

From: Stefan Monnier <[email-masked]>
Date: Wed, 29 Aug 2012 14:05:19 -0400

tags 12254 notabug
thanks

> (defun b-completion-at-point ()
>   (let ((beg (progn
>                (skip-syntax-backward "w")
>                (point)))
>         (end (progn
>                (skip-syntax-forward "w")
>                (point))))
>     (list beg end '("IGNORE" "DEBUG" "HELLO"))))

This needs to save-excursion.

> This is a regression. It doesn't happen in Emacs 23.4.

That's only because completion-at-point-functions is used less often so
the bug in the above code doesn't bite as often.
But your above completion function is already buggy in Emacs-23.4 since
it can't complete "IG!R" to "IGNORE", whereas after adding the
save-excursion such completion works just fine.

        Stefan