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

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 13 Mar 2021 13:45:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
47063: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47063
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#47063: 27.1; Tramp customizations overridden by tramp-loaddefs.el
From: Michael Albinus <[email-masked]>
To: Aaron Zeng <[email-masked]>
Cc: [email-masked]
Date: Sat, 13 Mar 2021 14:44:39 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 28.1

Aaron Zeng <[email-masked]> writes:

Hi Aaron,

> That still seems like a bug, though.  Customizations are supposed to
> be applied even if the corresponding package isn't yet loaded.

Should be fixed now in the master branch. If you don't want to install
this locally, you might install Tramp 2.5.0.3, which is planned to be
released via GNU ELPA end of the month.

Closing the bug.

Best regards, Michael.

Subject: 27.1; Tramp customizations overridden by tramp-loaddefs.el
From: Aaron Zeng <[email-masked]>
To: [email-masked]
Date: Thu, 11 Mar 2021 00:02:32 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello there,

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.

In GNU Emacs 27.1 (build 1, x86_64-apple-darwin17.7.0, NS
appkit-1561.60 Version 10.13.6 (Build 17G65))
System Description:  macOS 11.2.2

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure
 --prefix=/nix/store/94vgwpfys6y08ri6p2czzy35i24inc5n-emacs-27.1
 --disable-build-details --with-modules --with-ns
 --disable-ns-self-contained
 CFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=101200'

Configured features:
RSVG GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS
MODULES THREADS JSON PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs text-property-search time-date
subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm seq byte-opt
gv bytecomp byte-compile cconv tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize mule-util term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads kqueue cocoa ns
multi-tty make-network-process emacs)

Memory information:
((conses 16 48799 7025)
 (symbols 48 6052 1)
 (strings 32 15746 994)
 (string-bytes 1 519667)
 (vectors 16 7304)
 (vector-slots 8 78007 5350)
 (floats 8 22 253)
 (intervals 56 176 0)
 (buffers 1000 12))