Subject: bug#76815: 31.0.50; [PATCH] Turning off semantic-mode should apply to each buffer)

From: Eli Zaretskii <[email-masked]>
Date: Sat, 10 May 2025 14:21:37 +0300

> From: Lin Sun <[email-masked]>
> Date: Sat, 10 May 2025 05:15:17 +0000
> 
> Hi Eli, Please help review the patch, thank you!
> 
> From: Lin Sun
> > There is a bug that turn off semantic-mode it only restores current buffer's imenu-create-index-function but actually turning on semantic-mode had changed each buffer's variable.
> > Reproduce steps:
> > 1) Open two files (eg /tmp/a.c, /tmp/b.c) in two buffers;
> > 2) Turn on semantic-mode, it will change the imenu-create-index-function value for each buffer;
> > 3) Turn off semantic-mode, it will restore current buffer's value (eg: b.c), but another one (eg: a.c) won't restored.
> >
> > When turning on semantic-mode, it applies changes to each buffer,
> >  1048         (dolist (b (buffer-list))
> >  1049           (with-current-buffer b
> >  1050             (semantic-new-buffer-fcn))))
> >
> > But turning off semantic does not restore the var for each buffer, only restores current buffer.
> >
> > This patch will fix the issue. Please help review it. Thanks.

It looks reasonable, but then I don't use semantic-mode.

Po Lu, any comments?