]> git.eshelyaron.com Git - emacs.git/commitdiff
When redirecting in Eshell, check for "/dev/null" specifically
authorJim Porter <jporterbugs@gmail.com>
Wed, 21 Dec 2022 00:20:50 +0000 (16:20 -0800)
committerJim Porter <jporterbugs@gmail.com>
Thu, 22 Dec 2022 01:14:41 +0000 (17:14 -0800)
This is so that users can type "cmd ... > /dev/null" in Eshell no
matter what their system's null device is called.  (Users can still
use their system's null device name when redirecting, too.  Eshell
doesn't need to do anything special to support that.)  This partially
reverts 67a8bdb90c9b5865b7f17290c7135b1a5458c36d.  See bug#59545.

Do not merge to master.

* lisp/eshell/esh-io.el (eshell-set-output-handle): Use "/dev/null"
literally.

lisp/eshell/esh-io.el

index 4620565f857f9f767828868030e1b99d4990c78b..d223be680f92f478c6518ad9628d70bc2688c144 100644 (file)
@@ -342,7 +342,11 @@ If HANDLES is nil, use `eshell-current-handles'."
   (when target
     (let ((handles (or handles eshell-current-handles)))
       (if (and (stringp target)
-               (string= target (null-device)))
+               ;; The literal string "/dev/null" is intentional here.
+               ;; It just provides compatibility so that users can
+               ;; redirect to "/dev/null" no matter the actual value
+               ;; of `null-device'.
+               (string= target "/dev/null"))
           (aset handles index nil)
         (let ((where (eshell-get-target target mode))
               (current (car (aref handles index))))