* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
@ 2023-03-21 12:00 Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 13:08 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-03-21 12:00 UTC (permalink / raw)
To: 62329
The recent rename of tramp-use-ssh-controlmaster-options in commit
1c39347d585 seems to cause some problems, namely Emacs now fails with an
error when trying to load tramp-sh (which happens automatically in some
TRAMP flows) if tramp is already loaded and compilation-mode-hook ran.
To reproduce:
1. emacs -Q
2. (require 'tramp)
This further requires tramp-integration which adds a function
called tramp-compile-disable-ssh-controlmaster-options to
compilation-mode-hook
3. Do something that runs compilation-mode-hook, e.g. M-x compile with
some dummy compilation command like "true".
4. Try to load tramp-sh with e.g. (require 'tramp-sh)
Emacs fails with an error saying:
"Don’t know how to make a buffer-local variable an alias:
tramp-use-connection-share".
AFAIU This happens because at this point tramp-use-connection-share is
already a localized symbol and tramp-sh tries to call defvaralias on it.
Thanks,
Eshel
In GNU Emacs 30.0.50 (build 25, x86_64-apple-darwin22.3.0, NS
appkit-2299.40 Version 13.2.1 (Build 22D68)) of 2023-03-21 built on
esmac.local
Repository revision: 42fba8f36b19536964d6deb6a34f3fd1c02b43dd
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2299
System Description: macOS 13.2.1
Configured using:
'configure --with-native-compilation --with-json --with-tree-sitter'
Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB
Important settings:
value of $LC_CTYPE: UTF-8
locale-coding-system: utf-8-unix
Major mode: Debugger
Minor modes in effect:
shell-dirtrack-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-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
font-lock-mode: t
blink-cursor-mode: t
buffer-read-only: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils help-fns radix-tree cl-print debug backtrace
find-func compile text-property-search tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell pcomplete comint ansi-osc
ansi-color ring parse-time iso8601 time-date ls-lisp format-spec
auth-source eieio eieio-core cl-loaddefs comp comp-cstr warnings icons
rx cl-seq cl-macs cl-extra help-mode cl-lib password-cache json subr-x
map byte-opt gv bytecomp byte-compile rmc iso-transl tooltip cconv eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
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 lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads dbusbind
kqueue cocoa ns lcms2 multi-tty make-network-process native-compile
emacs)
Memory information:
((conses 16 120777 8827)
(symbols 48 9991 0)
(strings 32 30989 2026)
(string-bytes 1 1006709)
(vectors 16 22054)
(vector-slots 8 390621 12591)
(floats 8 47 25)
(intervals 56 395 0)
(buffers 984 13))
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
2023-03-21 12:00 bug#62329: 30.0.50; Error in TRAMP due to variable aliasing Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-03-21 13:08 ` Michael Albinus
2023-03-21 13:23 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 6+ messages in thread
From: Michael Albinus @ 2023-03-21 13:08 UTC (permalink / raw)
To: Eshel Yaron; +Cc: 62329
Eshel Yaron <me@eshelyaron.com> writes:
Hi Eshel,
> The recent rename of tramp-use-ssh-controlmaster-options in commit
> 1c39347d585 seems to cause some problems, namely Emacs now fails with an
> error when trying to load tramp-sh (which happens automatically in some
> TRAMP flows) if tramp is already loaded and compilation-mode-hook ran.
> To reproduce:
>
> 1. emacs -Q
> 2. (require 'tramp)
> This further requires tramp-integration which adds a function
> called tramp-compile-disable-ssh-controlmaster-options to
> compilation-mode-hook
> 3. Do something that runs compilation-mode-hook, e.g. M-x compile with
> some dummy compilation command like "true".
> 4. Try to load tramp-sh with e.g. (require 'tramp-sh)
> Emacs fails with an error saying:
> "Don’t know how to make a buffer-local variable an alias:
> tramp-use-connection-share".
> AFAIU This happens because at this point tramp-use-connection-share is
> already a localized symbol and tramp-sh tries to call defvaralias on it.
Thanks for the report. This is the same problem as reported in
bug#62295, I'll merge them.
I hope to find a fix, soon.
> Thanks,
> Eshel
Best regards, Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
2023-03-21 13:08 ` Michael Albinus
@ 2023-03-21 13:23 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 16:20 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-03-21 13:23 UTC (permalink / raw)
To: Michael Albinus; +Cc: 62329
Michael Albinus <michael.albinus@gmx.de> writes:
> Eshel Yaron <me@eshelyaron.com> writes:
>
> Hi Eshel,
>
> Thanks for the report. This is the same problem as reported in
> bug#62295, I'll merge them.
>
> I hope to find a fix, soon.
Great, thanks. In the meantime my dirty workaround is putting the
following in my init.el:
(with-eval-after-load 'compile
(require 'tramp-sh))
This causes the defvaralias call to happen before
tramp-use-connection-share is localized, which seems to work alright.
The downside is that tramp-sh is loaded the first time I use M-x compile
even if I'm only working locally.
--
Eshel
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
2023-03-21 13:23 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-03-21 16:20 ` Michael Albinus
2023-03-21 17:05 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 6+ messages in thread
From: Michael Albinus @ 2023-03-21 16:20 UTC (permalink / raw)
To: Eshel Yaron; +Cc: 62329
[-- Attachment #1: Type: text/plain, Size: 620 bytes --]
Eshel Yaron <me@eshelyaron.com> writes:
Hi Eshel,
>> I hope to find a fix, soon.
>
> Great, thanks. In the meantime my dirty workaround is putting the
> following in my init.el:
>
> (with-eval-after-load 'compile
> (require 'tramp-sh))
>
> This causes the defvaralias call to happen before
> tramp-use-connection-share is localized, which seems to work alright.
> The downside is that tramp-sh is loaded the first time I use M-x compile
> even if I'm only working locally.
In my local environment, I have inverted the definition of the variable
alias. This seems to solve the bug.
Could you pls try this patch?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1115 bytes --]
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 24e90447b24..339eb1fa9ab 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -106,6 +106,8 @@ tramp-initial-end-of-output
(defconst tramp-end-of-heredoc (md5 tramp-end-of-output)
"String used to recognize end of heredoc strings.")
+(define-obsolete-variable-alias
+ 'tramp-use-ssh-controlmaster-options 'tramp-use-connection-share "30.1")
(defcustom tramp-use-connection-share (not (eq system-type 'windows-nt))
"Whether to use connection share in ssh or PuTTY.
Set it to t, if you want Tramp to apply respective options. These
@@ -122,11 +124,6 @@ tramp-use-connection-share
;; Check with (safe-local-variable-p 'tramp-use-connection-share 'suppress)
:safe (lambda (val) (and (memq val '(t nil suppress)) t)))
-(defvaralias 'tramp-use-connection-share 'tramp-use-ssh-controlmaster-options)
-(make-obsolete-variable
- 'tramp-use-ssh-controlmaster-options
- "Use `tramp-use-connection-share' instead" "30.1")
-
(defvar tramp-ssh-controlmaster-options nil
"Which ssh Control* arguments to use.
[-- Attachment #3: Type: text/plain, Size: 36 bytes --]
Thanks, and best regards, Michael.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
2023-03-21 16:20 ` Michael Albinus
@ 2023-03-21 17:05 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 20:26 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-03-21 17:05 UTC (permalink / raw)
To: Michael Albinus; +Cc: 62329
Michael Albinus <michael.albinus@gmx.de> writes:
> In my local environment, I have inverted the definition of the variable
> alias. This seems to solve the bug.
>
> Could you pls try this patch?
>
> diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
> index 24e90447b24..339eb1fa9ab 100644
> --- a/lisp/net/tramp-sh.el
> +++ b/lisp/net/tramp-sh.el
> @@ -106,6 +106,8 @@ tramp-initial-end-of-output
> (defconst tramp-end-of-heredoc (md5 tramp-end-of-output)
> "String used to recognize end of heredoc strings.")
>
> +(define-obsolete-variable-alias
> + 'tramp-use-ssh-controlmaster-options 'tramp-use-connection-share "30.1")
> (defcustom tramp-use-connection-share (not (eq system-type 'windows-nt))
> "Whether to use connection share in ssh or PuTTY.
> Set it to t, if you want Tramp to apply respective options. These
> @@ -122,11 +124,6 @@ tramp-use-connection-share
> ;; Check with (safe-local-variable-p 'tramp-use-connection-share 'suppress)
> :safe (lambda (val) (and (memq val '(t nil suppress)) t)))
>
> -(defvaralias 'tramp-use-connection-share 'tramp-use-ssh-controlmaster-options)
> -(make-obsolete-variable
> - 'tramp-use-ssh-controlmaster-options
> - "Use `tramp-use-connection-share' instead" "30.1")
> -
> (defvar tramp-ssh-controlmaster-options nil
> "Which ssh Control* arguments to use.
>
>
> Thanks, and best regards, Michael.
Yes, with this patch I don't get that error anymore, seems to work fine :)
--
Eshel
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#62329: 30.0.50; Error in TRAMP due to variable aliasing
2023-03-21 17:05 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-03-21 20:26 ` Michael Albinus
0 siblings, 0 replies; 6+ messages in thread
From: Michael Albinus @ 2023-03-21 20:26 UTC (permalink / raw)
To: Eshel Yaron; +Cc: 62329-done
Version: 30.1
Eshel Yaron <me@eshelyaron.com> writes:
Hi Eshel,
>> In my local environment, I have inverted the definition of the variable
>> alias. This seems to solve the bug.
>>
>> Could you pls try this patch?
>
> Yes, with this patch I don't get that error anymore, seems to work fine :)
Thanks for the feedback, I've pushed the patch to master. Closing the
bug.
Best regards, Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-21 20:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-21 12:00 bug#62329: 30.0.50; Error in TRAMP due to variable aliasing Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 13:08 ` Michael Albinus
2023-03-21 13:23 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 16:20 ` Michael Albinus
2023-03-21 17:05 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-21 20:26 ` Michael Albinus
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).