Subject: Re: bug#63891: 29.0.91; customize-save-variable should not save all variables if a custom file exists

From: Jimmy Wong <[email-masked]>
Date: Sun, 4 Jun 2023 15:00:01 +0100

This branch: https://github.com/emacs-mirror/emacs/blob/emacs-29/lisp/cus-edit.el#L1109

No it does not saves only one variable to file, it only saves one variable to file if you have only modified one variable.

As a matter of fact, custom-variable-save, custom-variable-mark-to-reset-standard, custom-face-save, custom-face-mark-to-reset-standard and custom-group-save all have the same problem. They all call custom-save-all and they all dump all modified customizable variable values on file without regard to whether it’s a single variable, face or a group the user asked Emacs to save.
On 4 Jun 2023 at 2:23 PM +0100, Eli Zaretskii <[email-masked]>, wrote:
> > Date: Sun, 4 Jun 2023 14:02:55 +0100
> > From: Jimmy Wong <[email-masked]>
> > Cc: [email-masked]
> >
> > Yes sorry, I mean customize-save-variable, custom-save-variable doesn’t exist. There’s a branch in
> > customize-save-variable that saves all previously updated variables to the custom file if it exists.
>
> I don't think I understand. customize-save-variable saves only a
> single variable: the one whose name you type, with the value you type.
> Which branch there does more, and how can you invoke that branch?
>
> > I just took a look at cus-edit.el, there appears to be no function that can surgically serialize just one
> > variable value to the custom file.
>
> customize-save-variable is that function.