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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 04 Jun 2023 17:26:43 +0300

> Date: Sun, 4 Jun 2023 15:00:01 +0100
> From: Jimmy Wong <[email-masked]>
> Cc: [email-masked]
> 
> This branch: https://github.com/emacs-mirror/emacs/blob/emacs-29/lisp/cus-edit.el#L1109

I don't know what that is.  I'm using the Emacs Git repository, the
emacs-29 branch.

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

That's not what I see.  I've modified several options using the
menu-bar's Options menu, then typed

  M-x customize-save-variable RET truncate-lines RET y

and saw that only truncate-lines was written to the custom file.

If you see something else, please show a complete recipe that
reproduces the behavior you see.

> 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.

I wasn't talking about custom-save-all -- that indeed saves all the
options customized in this session.  I was talking about
customize-save-variable, which prompts for a single variable and its
value, and saves only that single variable, at least in my testing.