Subject: Re: bug#62106: 29.0.60; Emacs 29 changing user option values (?)
From: Michael Albinus <[email-masked]>
To: Michael Heerdegen <[email-masked]>
Cc: [email-masked], Drew Adams <[email-masked]>
Date: Sat, 11 Mar 2023 17:34:09 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 29.1

Michael Heerdegen <[email-masked]> writes:

Hi,

>> I downloaded the Windows binary posted today, with dependencies
>> included, and gave it a naive try using my setup.  Naturally I ran into
>> some problems.  But when I went to exit, my `kill-emacs-query-functions'
>> code that checks for changes to user option values (using function
>> `customize-unsaved') let me know that something had changed these option
>> values (I had not changed them):
>>
>> connection-local-criteria-alist
>>
>> Its value is
>>
>> (((:application tramp)
>>   tramp-connection-local-default-system-profile tramp-connection-local-default-shell-profile))
>>
>> Original value was nil
>>
>>
>> connection-local-profile-alist
>>
>> The value is a long, complex Tramp alist.  Original value was nil.
>>
>> So it looks like Tramp (?) might be messing with user-ooption values,
>> without resetting their state to tell Customize that they haven't been
>> changed since last saved.  This should be a no-no.
>
> Let's CC Michael (I mean, the other one).  He changed that in
> 6058d3ebb41 - Respect customization nature of `connection-local-*' user
> options.
>
> Dunno what the intention was - could we use `setopt' here?

`setopt' does not really help. Using `customize-save-variable' instead
of `customize-set-variable' does the trick.

Pushed to the emacs-29 branch, closing the bug. Pls reply if it doesn't
work as expected.

> Michael.

Best regards, Michael.