Subject: bug#77157: [PATCH] 'uniquify' user option setters and automatic buffer refresh

From: Ship Mints <[email-masked]>
Date: Sat, 22 Mar 2025 06:44:53 -0400

On Sat, Mar 22, 2025 at 2:50 AM Eli Zaretskii <[email-masked]> wrote:

> > From: Ship Mints <[email-masked]>
> > Date: Fri, 21 Mar 2025 16:02:34 -0400
> > Cc: [email-masked]
> >
> >  Please tell in the doc string that changing the style in the middle of
> >  an Emacs session must be done via Customize or by using setopt, but
> >  not by setting the variable directly (unless uniquify--set-option is
> >  then invoked).
> >
> > Eli, how is this wording which I'll put in each docstring?
> >
> > "To reflect a change to this option's value in your live buffer names,
> > use `customize' interactively, or use `setopt' in Elisp, both of which
> > call `uniquify--set-option' (setq will not do that for you)."
>
> We usually use the following style for such variables:
>
>   Setting this variable directly will not usually take effect;
>   use either \\[customize] or `setopt', or call `uniquify--set-option'
>   or restart `uniquify-mode' after setting the variable directly.
>

I'll adapt this language.  Uniquify isn't implemented as a mode.  It's a
rename buffer hook in buffer.c and depends on 'uniquify-buffer-name-style'
to have a defined style.

Even the function 'uniquify-unload-function' doesn't attempt to remove the
hook (it probably should set 'uniquify-buffer-name-style' to nil as part of
its business).  It's not even clear if unload ever gets called by anyone.
Perhaps a candidate to obsolete.