branch: elpa/dart-mode
commit d6bb4e8937f4f0b113df75e97ed38d4d8f9b9893
Author: Harry Terkelsen <[email protected]>
Commit: Harry Terkelsen <[email protected]>

    Document why we are using pipes rather than pty
---
 dart-mode.el | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dart-mode.el b/dart-mode.el
index efbdec0..026d25f 100644
--- a/dart-mode.el
+++ b/dart-mode.el
@@ -684,6 +684,12 @@ directory or the current file directory to the analysis 
roots."
      (dart--analysis-server-process dart--analysis-server))
     (kill-buffer (dart--analysis-server-buffer dart--analysis-server)))
   (let ((dart-process
+         ;; set process-connection-type to nil so that emacs starts
+         ;; the analysis server controlled by a pipe rather than a
+         ;; pseudo-terminal. If the process is controlled by a
+         ;; pseudo-terminal, emacs will buffer requests to the analysis
+         ;; server with interspersed EOFs, which confuses the analysis
+         ;; server. This does not happen with pipes.
          (let ((process-connection-type nil))
            (start-process "dart-analysis-server"
                           "*dart-analysis-server*"

Reply via email to