Subject: [PATCH] 30.0.50; Bug in tramp-ssh-controlmaster-options

From: Benson Chu <[email-masked]>
Date: Mon, 08 May 2023 09:56:28 -0500

Hello, I am using tramp with an old version of ssh (6.6.1), which
doesn't have the -G options. #'tramp-ssh-controlmaster-option is assumed
to return a string, and with my version of ssh,
#'tramp-ssh-controlmaster-option returns nil due to the recent changes
adding the "suppress" option.

This patch fixes the bug, returning an empty string where previously nil
was returned.

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.17.8, Xaw scroll bars) of 2023-05-07 built on ArchDawn
Repository revision: d5ab8b6f2459b0c0111edc1ac7da20e1452c1f33
Repository branch: safe-to-build
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Arch Linux

Configured using:
 'configure --with-native-compilation --with-tree-sitter
 --with-x-toolkit=lucid --prefix=/home/benson/'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM LUCID ZLIB

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

Major mode: VTerm

Minor modes in effect:
  dap-tooltip-mode: t
  dap-ui-many-windows-mode: t
  dap-ui-controls-mode: t
  dap-ui-mode: t
  dap-auto-configure-mode: t
  dap-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  org-roam-db-autosync-mode: t
  doom-modeline-mode: t
  global-exwm-edit-mode: t
  exwmx-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  org-super-agenda-mode: t
  org-edna-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  shackle-mode: t
  pdf-occur-global-minor-mode: t
  erc-colorize-mode: t
  erc-hl-nicks-mode: t
  auto-insert-mode: t
  pyvenv-mode: t
  projectile-mode: t
  display-hard-drive-space-mode: t
  display-time-mode: t
  display-battery-mode: t
  async-bytecomp-package-mode: t
  which-function-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  marginalia-mode: t
  savehist-mode: t
  server-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  pestctrl-minor-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/benson/.emacs.d/elpa/transient-20230315.1520/transient hides /home/benson/emacs-git/lisp/transient
/home/benson/.emacs.d/elpa/modus-themes-20230413.1203/theme-loaddefs hides /home/benson/emacs-git/lisp/theme-loaddefs
/home/benson/.emacs.d/lisp/scratch hides /home/benson/.emacs.d/lisp/ti-config/libraries/scratch
/home/benson/.emacs.d/elpa/memoize-20200103.2036/memoize hides /home/benson/.emacs.d/submodule/emacs-memoize/memoize
/home/benson/.emacs.d/elpa/ivy-20230410.1815/colir hides /home/benson/.emacs.d/submodule/k-useless/colir
/home/benson/.emacs.d/elpa/ts-20220822.181350/ts hides /home/benson/.emacs.d/submodule/ts.el/ts
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-res hides /home/benson/.emacs.d/submodule/xelb/xcb-res
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-systemtray hides /home/benson/.emacs.d/submodule/xelb/xcb-systemtray
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xv hides /home/benson/.emacs.d/submodule/xelb/xcb-xv
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-dri2 hides /home/benson/.emacs.d/submodule/xelb/xcb-dri2
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-types hides /home/benson/.emacs.d/submodule/xelb/xcb-types
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xf86vidmode hides /home/benson/.emacs.d/submodule/xelb/xcb-xf86vidmode
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xinput hides /home/benson/.emacs.d/submodule/xelb/xcb-xinput
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-screensaver hides /home/benson/.emacs.d/submodule/xelb/xcb-screensaver
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xproto hides /home/benson/.emacs.d/submodule/xelb/xcb-xproto
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-render hides /home/benson/.emacs.d/submodule/xelb/xcb-render
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-keysyms hides /home/benson/.emacs.d/submodule/xelb/xcb-keysyms
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-debug hides /home/benson/.emacs.d/submodule/xelb/xcb-debug
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-cursor hides /home/benson/.emacs.d/submodule/xelb/xcb-cursor
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xkb hides /home/benson/.emacs.d/submodule/xelb/xcb-xkb
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-record hides /home/benson/.emacs.d/submodule/xelb/xcb-record
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xlib hides /home/benson/.emacs.d/submodule/xelb/xcb-xlib
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xvmc hides /home/benson/.emacs.d/submodule/xelb/xcb-xvmc
/home/benson/.emacs.d/elpa/xelb-0.18/el_client hides /home/benson/.emacs.d/submodule/xelb/el_client
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-dpms hides /home/benson/.emacs.d/submodule/xelb/xcb-dpms
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-renderutil hides /home/benson/.emacs.d/submodule/xelb/xcb-renderutil
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-shape hides /home/benson/.emacs.d/submodule/xelb/xcb-shape
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-icccm hides /home/benson/.emacs.d/submodule/xelb/xcb-icccm
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xevie hides /home/benson/.emacs.d/submodule/xelb/xcb-xevie
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-present hides /home/benson/.emacs.d/submodule/xelb/xcb-present
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-ge hides /home/benson/.emacs.d/submodule/xelb/xcb-ge
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xfixes hides /home/benson/.emacs.d/submodule/xelb/xcb-xfixes
/home/benson/.emacs.d/elpa/xelb-0.18/xcb hides /home/benson/.emacs.d/submodule/xelb/xcb
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xc_misc hides /home/benson/.emacs.d/submodule/xelb/xcb-xc_misc
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-dri3 hides /home/benson/.emacs.d/submodule/xelb/xcb-dri3
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xf86dri hides /home/benson/.emacs.d/submodule/xelb/xcb-xf86dri
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xselinux hides /home/benson/.emacs.d/submodule/xelb/xcb-xselinux
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-ewmh hides /home/benson/.emacs.d/submodule/xelb/xcb-ewmh
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-composite hides /home/benson/.emacs.d/submodule/xelb/xcb-composite
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-bigreq hides /home/benson/.emacs.d/submodule/xelb/xcb-bigreq
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xembed hides /home/benson/.emacs.d/submodule/xelb/xcb-xembed
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-randr hides /home/benson/.emacs.d/submodule/xelb/xcb-randr
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xinerama hides /home/benson/.emacs.d/submodule/xelb/xcb-xinerama
/home/benson/.emacs.d/elpa/xelb-0.18/xelb hides /home/benson/.emacs.d/submodule/xelb/xelb
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xtest hides /home/benson/.emacs.d/submodule/xelb/xcb-xtest
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-shm hides /home/benson/.emacs.d/submodule/xelb/xcb-shm
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xim hides /home/benson/.emacs.d/submodule/xelb/xcb-xim
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-sync hides /home/benson/.emacs.d/submodule/xelb/xcb-sync
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-glx hides /home/benson/.emacs.d/submodule/xelb/xcb-glx
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-damage hides /home/benson/.emacs.d/submodule/xelb/xcb-damage
/home/benson/.emacs.d/elpa/xelb-0.18/xcb-xprint hides /home/benson/.emacs.d/submodule/xelb/xcb-xprint
/usr/share/emacs/site-lisp/mu4e/mu4e-folders hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-folders
/usr/share/emacs/site-lisp/mu4e/mu4e-message hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-message
/usr/share/emacs/site-lisp/mu4e/mu4e-vars hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-vars
/usr/share/emacs/site-lisp/mu4e/mu4e-icalendar hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-icalendar
/usr/share/emacs/site-lisp/mu4e/mu4e-compose hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-compose
/usr/share/emacs/site-lisp/mu4e/mu4e-mark hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-mark
/usr/share/emacs/site-lisp/mu4e/mu4e-search hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-search
/usr/share/emacs/site-lisp/mu4e/mu4e-actions hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-actions
/usr/share/emacs/site-lisp/mu4e/mu4e-contrib hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-contrib
/usr/share/emacs/site-lisp/mu4e/mu4e-update hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-update
/usr/share/emacs/site-lisp/mu4e/mu4e-helpers hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-helpers
/usr/share/emacs/site-lisp/mu4e/mu4e hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e
/usr/share/emacs/site-lisp/mu4e/mu4e-org hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-org
/usr/share/emacs/site-lisp/mu4e/mu4e-speedbar hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-speedbar
/usr/share/emacs/site-lisp/mu4e/mu4e-headers hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-headers
/usr/share/emacs/site-lisp/mu4e/mu4e-lists hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-lists
/usr/share/emacs/site-lisp/mu4e/mu4e-main hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-main
/usr/share/emacs/site-lisp/mu4e/mu4e-bookmarks hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-bookmarks
/usr/share/emacs/site-lisp/mu4e/mu4e-draft hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-draft
/usr/share/emacs/site-lisp/mu4e/mu4e-contacts hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-contacts
/usr/share/emacs/site-lisp/mu4e/mu4e-server hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-server
/usr/share/emacs/site-lisp/mu4e/mu4e-view hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-view
/usr/share/emacs/site-lisp/mu4e/mu4e-context hides /home/benson/.emacs.d/submodule/mu/mu4e/mu4e-context

Features:
(shadow sort mail-extr emacsbug magit-patch macros tabify
org-roam-dailies scheme slime-asdf ...)

Memory information:
((conses 16 4295309 788024)
 (symbols 48 120245 5)
 (strings 32 1017035 37461)
 (string-bytes 1 40123215)
 (vectors 16 418091)
 (vector-slots 8 7085908 676667)
 (floats 8 2908 14301)
 (intervals 56 211852 23664)
 (buffers 984 136))