[Top][All Lists]

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

Suggested patch for eshell (em-dirs.el)

From: Ted Roden
Subject: Suggested patch for eshell (em-dirs.el)
Date: Thu, 14 Apr 2011 10:57:26 -0400

I made a tiny patch to eshell (specifically em-dirs.el) which makes it return non-nil when you successfully 'cd' into a directory. This means you can do:

   cd some-existing-directory && echo 'success'

Without the patch, it never gets to the echo.

I'm pretty much a lisp beginner, but this seems to work:

diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 1aa2c34..26256a2 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -403,4 +403,5 @@ in the minibuffer:
  (if eshell-list-files-after-cd
     ;; Let-bind eshell-last-command around this?
     (eshell-plain-command "ls" (cdr args)))
- nil))))
+ nil))
+    ""))

 (put 'eshell/cd 'eshell-no-numeric-conversions t)
It returns an empty string which satisfies the "&&" without printing any visible characters to the screen.

In practice, it looks like this:

   ~ $ cd /tmp
   /tmp $ mkdir existing-dir
   /tmp $ cd non-existant && echo "success"
   No such directory found via CDPATH environment variable
   /tmp $ cd existing-dir && echo "success"
   /tmp/existing-dir $ 

Any feedback would be appreciated. 


reply via email to

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