emacs-diffs
[Top][All Lists]
Advanced

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

master 76429f4d17 3/4: Ensure 'eshell-output-object' always returns nil


From: Lars Ingebrigtsen
Subject: master 76429f4d17 3/4: Ensure 'eshell-output-object' always returns nil for consistency
Date: Mon, 21 Feb 2022 12:39:47 -0500 (EST)

branch: master
commit 76429f4d1792b890c6fc69a5bd7a5cdef28d257a
Author: Jim Porter <jporterbugs@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Ensure 'eshell-output-object' always returns nil for consistency
    
    This prevents functions like 'eshell-print' from writing doubled
    output when run in Eshell.  Previously, the result would be:
    
      ~ $ eshell-print hi
      hihi
    
    * lisp/eshell/esh-io.el (eshell-output-object): Always return nil.
---
 lisp/eshell/esh-io.el | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index e457f65c18..fc1124561a 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -491,14 +491,19 @@ Returns what was actually sent, or nil if nothing was 
sent."
   object)
 
 (defun eshell-output-object (object &optional handle-index handles)
-  "Insert OBJECT, using HANDLE-INDEX specifically)."
+  "Insert OBJECT, using HANDLE-INDEX specifically.
+If HANDLE-INDEX is nil, output to `eshell-output-handle'.
+HANDLES is the set of file handles to use; if nil, use
+`eshell-current-handles'."
   (let ((target (car (aref (or handles eshell-current-handles)
                           (or handle-index eshell-output-handle)))))
-    (if (and target (not (listp target)))
-       (eshell-output-object-to-target object target)
-      (while target
-       (eshell-output-object-to-target object (car target))
-       (setq target (cdr target))))))
+    (if (listp target)
+        (while target
+         (eshell-output-object-to-target object (car target))
+         (setq target (cdr target)))
+      (eshell-output-object-to-target object target)
+      ;; Explicitly return nil to match the list case above.
+      nil)))
 
 (provide 'esh-io)
 ;;; esh-io.el ends here



reply via email to

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