bug#81514: 32.0.50; Eglot messages progress reporter shows errors

Stéphane Marks <[email protected]> Wed, 5 Aug 2026 15:56:24 +0200
Newsgroups gmane.emacs.bugs
Message-ID <CAN+1HbqeOLgqkBG9-HZQNm10iV0TGjAGOX+jJzXaVGUQm8swZw@mail.gmail.com>
On Wed, Aug 5, 2026 at 7:34 AM Sean Whitton <[email protected]>
wrote:

> João Távora [05/Aug 12:19pm +01] wrote:
> > On Wed, Aug 5, 2026, 12:15 João Távora <[email protected]> wrote:
> >
> >> Afaik, while Eglot had its shortcomings in its usage of progress
> >> reporters, now hopefully fixed, the real trigger for this regression
> was a
> >> backward incompatible change in progress reporters. Presumably Stéphane
> 's
> >> patch addresses that. If you don't install it, it could be that other
> Elisp
> >> code out there making similar poor usage of reporters as Eglot did until
> >> now will start breaking.
> >>
> >
> > [ Sorry sent too early.]
> >
> > ...anyway, could be a risk worth taking for the general improvement of
> > things, or not. Maintenance policy call... In any case, if so, it should
> be
> > listed under backward incompatible Lisp changes.
>
> Thanks, though I don't think I yet see what's backwards incompatible
> about it.  I'd like to know exactly what this is trying to fix and how.
>

The one-line patch fixes the cases where a progress-reporter-update caller
does not follow the strict API that UPDATE-TEXT is a string, or when
missing, VALUE should be a string.  The now fixed eglot call to
progress-reporter-update using the numeric interface with a non-numeric
(pulsing) reporter tickled the type mismatch.  Our fix below is a defensive
fix should other progress reporter calls make the same mistake and will
prevent signaling an error in innocuous situations such as the eglot case
that was caught by a keen-eyed eglot user.

-      (setq update-text (concat (if update-text " " "") update-text))
+      (setq update-text (if update-text (format " %s" update-text) ""))

-Stéphane