]> git.eshelyaron.com Git - emacs.git/commitdiff
Accept process-filter t in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 14 Oct 2021 12:32:47 +0000 (14:32 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 14 Oct 2021 12:32:47 +0000 (14:32 +0200)
* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Filter can be t.

* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp-test30-make-process): Test filter equal t.

lisp/net/tramp-adb.el
lisp/net/tramp-sh.el
lisp/net/tramp.el
test/lisp/net/tramp-tests.el

index 63ffb2d057bf4b79ef2d4224e5e06dadae543840..6d8bed1d78620124cf2643447f11f15b71721d04 100644 (file)
@@ -947,7 +947,7 @@ implementation will be used."
            (setq connection-type 'pty))
          (unless (memq connection-type '(nil pipe pty))
            (signal 'wrong-type-argument (list #'symbolp connection-type)))
-         (unless (or (null filter) (functionp filter))
+         (unless (or (null filter) (eq filter t) (functionp filter))
            (signal 'wrong-type-argument (list #'functionp filter)))
          (unless (or (null sentinel) (functionp sentinel))
            (signal 'wrong-type-argument (list #'functionp sentinel)))
index 8fa53cb5a23b01100c5f26026511143e22556683..6984dd8b4297361c7b46d51d13a1d6e861bfa771 100644 (file)
@@ -2785,7 +2785,7 @@ implementation will be used."
            (setq connection-type 'pty))
          (unless (memq connection-type '(nil pipe pty))
            (signal 'wrong-type-argument (list #'symbolp connection-type)))
-         (unless (or (null filter) (functionp filter))
+         (unless (or (null filter) (eq filter t) (functionp filter))
            (signal 'wrong-type-argument (list #'functionp filter)))
          (unless (or (null sentinel) (functionp sentinel))
            (signal 'wrong-type-argument (list #'functionp sentinel)))
index a8ae71b147ca43e388d967d28c5b360fa5855267..318b4e454dadbad2d4c76c34a96a263de789fdb9 100644 (file)
@@ -4141,7 +4141,7 @@ substitution.  SPEC-LIST is a list of char/value pairs used for
          (setq connection-type 'pty))
        (unless (memq connection-type '(nil pipe pty))
          (signal 'wrong-type-argument (list #'symbolp connection-type)))
-       (unless (or (null filter) (functionp filter))
+       (unless (or (null filter) (eq filter t) (functionp filter))
          (signal 'wrong-type-argument (list #'functionp filter)))
        (unless (or (null sentinel) (functionp sentinel))
          (signal 'wrong-type-argument (list #'functionp sentinel)))
index ebedbaf45f27c7ea6588082994d83d60c07b8a4c..da15401be056a819e85c906abcac2522e15b0c28 100644 (file)
@@ -4562,6 +4562,24 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
        ;; Cleanup.
        (ignore-errors (delete-process proc)))
 
+      (unwind-protect
+         (with-temp-buffer
+           (setq proc (start-file-process "test3" (current-buffer) "cat"))
+           (should (processp proc))
+           (should (equal (process-status proc) 'run))
+           (set-process-filter proc t)
+           (process-send-string proc "foo\n")
+           (process-send-eof proc)
+           ;; Read output.
+           (with-timeout (10 (tramp--test-timeout-handler))
+             (while (process-live-p proc)
+               (while (accept-process-output proc 0 nil t))))
+           ;; No output due to process filter.
+           (should (= (point-min) (point-max))))
+
+       ;; Cleanup.
+       (ignore-errors (delete-process proc)))
+
       ;; Process connection type.
       (when (and (tramp--test-sh-p)
                 (not (tramp-direct-async-process-p))
@@ -4735,6 +4753,28 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
        ;; Cleanup.
        (ignore-errors (delete-process proc)))
 
+      (unwind-protect
+         (with-temp-buffer
+           (setq proc
+                 (with-no-warnings
+                   (make-process
+                    :name "test3" :buffer (current-buffer) :command '("cat")
+                    :filter t
+                    :file-handler t)))
+           (should (processp proc))
+           (should (equal (process-status proc) 'run))
+           (process-send-string proc "foo\n")
+           (process-send-eof proc)
+           ;; Read output.
+           (with-timeout (10 (tramp--test-timeout-handler))
+             (while (process-live-p proc)
+               (while (accept-process-output proc 0 nil t))))
+           ;; No output due to process filter.
+           (should (= (point-min) (point-max))))
+
+       ;; Cleanup.
+       (ignore-errors (delete-process proc)))
+
       ;; Process sentinel.
       (unwind-protect
          (with-temp-buffer