Subject: Re: bug#47063: 27.1; Tramp customizations overridden by tramp-loaddefs.el

From: Aaron Zeng <[email-masked]>
Date: Thu, 11 Mar 2021 12:05:56 -0500

Hi Michael,

Are you suggesting that I should add that to my .emacs?  Or do you
mean that I am inadvertently loading tramp.el somewhere in my .emacs?

If the latter, I was able to see the issue when using a .emacs file
consisting solely of the custom-set-variables call in my previous
email and loading no other init files, so I don't think that's the
culprit.

Thanks,
Aaron

On Thu, Mar 11, 2021 at 8:56 AM Michael Albinus <[email-masked]> wrote:
>
> Aaron Zeng <[email-masked]> writes:
>
> > Hello there,
>
> Hi Aaron,
>
> > I noticed that my M-x customize settings were not being applied for
> > some TRAMP defcustoms, namely, tramp-use-ssh-controlmaster-options.
> > With the following barebones ~/.emacs:
> >
> >     (custom-set-variables
> >      ;; custom-set-variables was added by Custom.
> >      ;; If you edit it by hand, you could mess it up, so be careful.
> >      ;; Your init file should contain only one such instance.
> >      ;; If there is more than one, they won't work right.
> >      '(tramp-use-ssh-controlmaster-options nil))
> >     (custom-set-faces
> >      ;; custom-set-faces was added by Custom.
> >      ;; If you edit it by hand, you could mess it up, so be careful.
> >      ;; Your init file should contain only one such instance.
> >      ;; If there is more than one, they won't work right.
> >      )
> >
> > I found that connecting to `/ssh::/' (localhost) ended up using TRAMP's
> > ControlMaster options despite the customization.  I also noticed that
> > `tramp-use-ssh-controlmaster-options' was set to t.  Furthermore, if the
> > following line is prepended to the init file:
> >
> >     (debug-watch 'tramp-use-ssh-controlmaster-options)
> >
> > It is clear that the defvar in tramp-loaddefs.el is where the variable
> > gets set to t.  I'm not familiar with the purpose of the *-loaddefs.el
> > files and why they are different from regular generated autoload files,
> > but it would seem that it's preventing customizations from being applied
> > properly.
> >
> > My current workaround is to add the NOW argument in
> > `custom-set-variables', like so:
> >
> >     (custom-set-variables
> >       '(tramp-use-ssh-controlmaster-options nil t))
> >
> > Which seems to apply the customization corectly.  But this argument is
> > not saved automatically by the M-x customize interface.
>
> Perhaps you add (require 'tramp) somewhere in your ~/.emacs?
>
> Best regards, Michael.