]> git.eshelyaron.com Git - emacs.git/commitdiff
Eglot: work around Tramp instability bug#61350
authorJoão Távora <joaotavora@gmail.com>
Wed, 1 Mar 2023 11:12:51 +0000 (11:12 +0000)
committerJoão Távora <joaotavora@gmail.com>
Wed, 1 Mar 2023 11:13:24 +0000 (11:13 +0000)
Unconditionally disable ControlMaster for the Eglot's Tramp
connection.

* lisp/progmodes/eglot.el (tramp-ssh-controlmaster-options)
(use-tramp-ssh-controlmaster-options): Forward declare
(eglot--connect): Set variables to unconditionally disable ControlMaster.

lisp/progmodes/eglot.el

index 40fc8f8a12f8f78f4d47d80d2dfb86b4c426db8c..119b4f64c8dceda15c68a9da4c0e548037a362a1 100644 (file)
 (defvar markdown-fontify-code-blocks-natively)
 (defvar company-backends)
 (defvar company-tooltip-align-annotations)
-
+(defvar tramp-ssh-controlmaster-options)
+(defvar tramp-use-ssh-controlmaster-options)
 
 \f
 ;;; User tweakable stuff
@@ -1249,7 +1250,15 @@ This docstring appeases checkdoc, that's all."
                         (contact (cl-subseq contact 0 probe)))
                    `(:process
                      ,(lambda ()
-                        (let ((default-directory default-directory))
+                        (let ((default-directory default-directory)
+                              ;; bug#61350: Tramp turns on a feature
+                              ;; by default that can't (yet) handle
+                              ;; very much data so we turn it off
+                              ;; unconditionally -- just for our
+                              ;; process.
+                              (tramp-use-ssh-controlmaster-options t)
+                              (tramp-ssh-controlmaster-options
+                               "-o ControlMaster=no -o ControlPath=none"))
                           (make-process
                            :name readable-name
                            :command (setq server-info (eglot--cmd contact))