emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/sweeprolog 5ddb7e85ba 2/2: Stop pty echo with 'stty' inste


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog 5ddb7e85ba 2/2: Stop pty echo with 'stty' instead of 'comint-process-echoes'
Date: Sun, 22 Oct 2023 10:02:46 -0400 (EDT)

branch: elpa/sweeprolog
commit 5ddb7e85bae6229d6b2a6ba8fd50dd72120c6ad1
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    Stop pty echo with 'stty' instead of 'comint-process-echoes'
    
    * sweeprolog.el (sweeprolog-top-level-buffer): Call 'stty PTY -echo'
    on GNU/Linux systems.
---
 sweeprolog.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index b0fd0e07cf..0e6c682d91 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -3241,17 +3241,19 @@ top-level."
               (if sweeprolog-top-level-use-pty
                   (progn
                     (make-comint-in-buffer "sweeprolog-top-level" buf nil)
-                    (setq-local comint-process-echoes t)
-                    (process-send-eof (get-buffer-process buf))
-                    (sweeprolog--query-once "sweep" "sweep_top_level_start_pty"
-                                            (process-tty-name 
(get-buffer-process buf))))
+                    (let* ((proc (get-buffer-process buf))
+                           (tty (process-tty-name proc)))
+                      (when (eq system-type 'gnu/linux)
+                        ;; make sure the pty does not echo input
+                        (call-process "stty" nil nil nil "-F" tty "-echo"))
+                      (process-send-eof proc)
+                      (sweeprolog--query-once "sweep" 
"sweep_top_level_start_pty" tty)))
                 (unless sweeprolog-prolog-server-port
                   (sweeprolog-start-prolog-server))
                 (make-comint-in-buffer "sweeprolog-top-level"
                                        buf
                                        (cons "localhost"
                                              sweeprolog-prolog-server-port))
-                (setq-local comint-process-echoes nil)
                 (sweeprolog--query-once "sweep" 
"sweep_accept_top_level_client" nil)))
         (let ((proc (get-buffer-process buf)))
           (set-process-filter proc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]