Subject: bug#53783: 29.0.50; eshell/sudo and eshell/su always use localhost as host

From: Russell Sim <[email-masked]>
Date: Fri, 04 Feb 2022 20:34:04 +0100

Hey,

When using eshell if I call `sudo pwd` it will open a different host to if i
call `cd /sudo::/ && pwd` in the first case it will visit "/sudo:root@localhost:" and in the
other case it will visit my system "/sudo:root@mowgli:"

I would like to have them both visit the host's actual name "mowgli" so
that i can reduce the number of open sessions and also take advantage of
being able to store sudo passwords.

Would it be reasonable for eshell/sudo and eshell/su to instead either
use tramp-default-host or tramp-system-name which ever is more
appropriate?

Many thanks,
Russell

In GNU Emacs 29.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.31, cairo version 1.16.0)
 of 2022-01-22 built on mowgli
Repository revision: 246557f33e13a437d3582445f914a7170ee11027
Repository branch: master
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure --with-modules --with-native-compilation --with-mailutils
 --with-toolkit-scroll-bars --with-sound=alsa --with-pop=yes
 --without-xwidgets --prefix /home/russell/.local/stow/emacs --with-pgtk
 CC=gcc'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_AU.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: IELM

Minor modes in effect:
  rainbow-delimiters-mode: t
  elisp-slime-nav-mode: t
  org-roam-db-autosync-mode: t
  global-hl-todo-mode: t
  which-function-mode: t
  global-flycheck-mode: t
  marginalia-mode: t
  vertico-mode: t
  global-fish-completion-mode: t
  fish-completion-mode: t
  global-project-shells-mode: t
  project-shells-mode: t
  async-bytecomp-package-mode: t
  recursion-indicator-mode: t
  global-rs-edit-mode: t
  rs-edit-mode: t
  global-rs-global-mode: t
  rs-global-mode: t
  popper-mode: t
  gcmh-mode: t
  winum-mode: t
  override-global-mode: t
  envrc-global-mode: t
  envrc-mode: t
  minions-mode: t
  editorconfig-mode: t
  global-diff-hl-mode: t
  winner-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-anzu-mode: t
  anzu-mode: t
  projectile-mode: t
  volatile-highlights-mode: t
  global-hl-line-mode: t
  super-save-mode: t
  windmove-mode: t
  recentf-mode: t
  savehist-mode: t
  save-place-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-strict-mode: t
  smartparens-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  shell-dirtrack-mode: t
  which-key-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/russell/.emacs-prelude.d/elpa/transient-20211208.1819/transient hides /home/russell/.local/stow/emacs/share/emacs/29.0.50/lisp/transient

Features:
(shadow sort mail-extr pulse emacsbug sendmail ielm misearch
multi-isearch cl-print tramp-cmds wgrep find-dired easy-kill dired-aux
diff-hl-dired tide tide-lv reveal rfc2104 epa-file tramp-cache em-xtra
em-unix em-tramp em-smart em-script em-prompt em-ls em-glob em-basic
em-alias add-log writegood-mode org-tempo tempo org-crypt ol-w3m ol-mhe
ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group
gnus-undo gnus-start gnus-dbus gnus-spec gnus-win ol-eww eww xdg
url-queue mm-url ol-eshell ol-docview doc-view image-mode exif ol-bibtex
ol-bbdb mule-util cursor-sensor flycheck-rust rainbow-mode
rainbow-delimiters elisp-slime-nav display-line-numbers guru-mode vc-mtn
vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs editorconfig-core
editorconfig-core-handle editorconfig-fnmatch org-roam-protocol
org-protocol org-roam-migrate org-roam-mode org-roam-capture
org-roam-node org-roam-db org-roam-utils org-roam-compat org-roam
org-capture emacsql-sqlite url-http url-auth url-gw emacsql
emacsql-compiler magit-section rs-light-theme persist org-id
org-generic-id org-archive request-deferred deferred request alert log4e
notifications dbus gntp use-package use-package-delight
use-package-diminish prelude-yaml prelude-xml nxml-mode-expansions
rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt
rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap
html-mode-expansions sgml-mode nxml-util nxml-enc xmltok prelude-web
web-mode-expansions smartparens-html web-mode prelude-ts typescript-mode
prelude-shell sh-script executable prelude-scheme geiser
smartparens-rust rust-utils rust-mode rust-rustfmt rust-playpen
rust-compile rust-cargo prelude-rust prelude-ruby prelude-python
prelude-perl prelude-org prelude-lsp lsp-ui lsp-ui-flycheck lsp-ui-doc
goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-mode
network-stream nsm lv inline lsp-ui-util lsp-protocol prelude-js
js2-mode-expansions js2-mode js-mode-expansions smartparens-javascript
js cc-mode-expansions smartparens-c cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs prelude-haskell
prelude-go go-projectile vc-git go-rename go-guru go-eldoc go-mode
find-file prelude-emacs-lisp prelude-common-lisp prelude-lisp prelude-c
prelude-programming hl-todo which-func rs-kubernetes consult-vertico
consult rs-www shr pixel-fill kinsoku svg dom rs-exwm exwm-systemtray
xcb-systemtray xcb-xembed exwm exwm-input xcb-keysyms xcb-xkb
exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout
exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types
xcb-debug rs-ruby rspec-mode rubocop ruby-mode-expansions
smartparens-ruby ruby-mode rs-rust rs-writing smartparens-markdown
markdown-mode flycheck google-translate google-translate-default-ui
google-translate-core-ui facemenu popup ido google-translate-core
google-translate-tk google-translate-backend rs-git rs-tramp rs-rest
restclient rs-typescript rs-programming rs-completion marginalia
orderless vertico rs-lsp eglot array jsonrpc ert debug rs-cue rs-bazel
bazel-mode bazel-util flymake-proc flymake ffap rs-jsonnet jsonnet-mode
smie rs-shell em-banner em-hist em-pred em-term with-editor vterm
face-remap color vterm-module term/xterm xterm server fish-completion
em-cmpl bash-completion eshell-z em-dirs esh-var jka-compr esh-mode
project-shells term disp-table ehelp rs-org org-tree-slide org-timer
org-clock plantuml-mode xml helm-org-ql org-ql-search org-ql-view
transient ov crm org-super-agenda ht helm-org org-ql pcase peg ts
org-habit org-agenda org-refile ob-shell ob-eshell ob-ruby ob-python
python-el-fgallina-expansions smartparens-python python tramp-sh ob-awk
helm-org-rifle the-org-mode-expansions org-element avl-tree
smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval
org-table oc-basic bibtex ol org-keys oc org-compat org-macs
org-loaddefs helm-imenu helm-utils helm-help helm async-bytecomp
helm-global-bindings helm-source helm-multi-match helm-lib async
rs-notmuch all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons rs-gnus gnus-cloud nnimap nnmail gnus-int mail-source
gnus-range message yank-media rmc puny rfc822 mml mml-sec epa derived
mailabbrev gmm-utils mailheader utf7 netrc nnoo gnus nnheader gnus-util
mail-utils range epg rfc6068 epg-config rs-personal time rs-appearance
rs-dark-theme modus-vivendi-theme cal-julian circadian solar cal-dst
cal-menu calendar cal-loaddefs modus-themes recursion-indicator rs-osx
rs-edit-mode rs-global-mode rs-core popper use-package-ensure deadgrep
spinner helpful trace edebug backtrace info-look find-func f elisp-refs
s gcmh winum use-package-bind-key bind-key envrc inheritenv
rs-keybindings rs-packages quelpa mm-decode mm-bodies mm-encode help-fns
radix-tree no-littering use-package-core minions cus-load prelude-linux
exec-path-from-shell prelude-global-keybindings prelude-editor
editorconfig operate-on-number calc-bin calc-ext calc calc-loaddefs
calc-macs diff-hl smartrep log-view pcvs-util vc-dir ewoc vc
vc-dispatcher diff-mode easy-mmode winner undo-tree diff eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
re-builder whitespace tabify browse-kill-ring midnight ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
dired-x dired dired-loaddefs anzu avy projectile lisp-mnt mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr grep compile
ibuf-ext ibuffer ibuffer-loaddefs bookmark text-property-search pp
expand-region text-mode-expansions er-basic-expansions
expand-region-core expand-region-custom flyspell ispell rect etags
fileloop generator xref project volatile-highlights hl-line super-save
windmove recentf tree-widget wid-edit savehist saveplace diminish
edmacro kmacro smartparens-config smartparens-text smartparens advice
dash autorevert filenotify delsel prelude-mode crux tramp tramp-loaddefs
trampver tramp-integration files-x tramp-compat shell pcomplete comint
ansi-color ring parse-time iso8601 time-date ls-lisp format-spec
thingatpt imenu-anywhere imenu prelude-core epl prelude-ui which-key
comp comp-cstr warnings prelude-custom prelude-packages cl-extra
help-mode finder-inf cue-mode-autoloads debian-el helm-easymenu rx
slime-autoloads w3m-load info package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq
gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win 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 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 emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button 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 inotify dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit pgtk lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 1219761 150483)
 (symbols 48 84150 2)
 (strings 32 321554 39875)
 (string-bytes 1 11116171)
 (vectors 16 148837)
 (vector-slots 8 3257191 347128)
 (floats 8 1542 522)
 (intervals 56 10212 692)
 (buffers 992 33))