summaryrefslogtreecommitdiff
path: root/lisp/eshell/esh-ext.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/eshell/esh-ext.el')
-rw-r--r--lisp/eshell/esh-ext.el24
1 files changed, 9 insertions, 15 deletions
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index 17020245575..c0add0443cb 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -226,21 +226,15 @@ causing the user to wonder if anything's really going on..."
Adds the given PATH to $PATH.")
(if args
(progn
- (if prepend
- (setq args (nreverse args)))
- (while args
- (setenv "PATH"
- (if prepend
- (concat (car args) path-separator
- (getenv "PATH"))
- (concat (getenv "PATH") path-separator
- (car args))))
- (setq args (cdr args)))
- (setq eshell-path-env (getenv "PATH")))
- (let ((paths (parse-colon-path (getenv "PATH"))))
- (while paths
- (eshell-printn (car paths))
- (setq paths (cdr paths)))))))
+ (setq eshell-path-env (getenv "PATH"))
+ (dolist (dir (if prepend (nreverse args) args))
+ (setq eshell-path-env
+ (if prepend
+ (concat dir path-separator eshell-path-env)
+ (concat eshell-path-env path-separator dir))))
+ (setenv "PATH" eshell-path-env))
+ (dolist (dir (parse-colon-path (getenv "PATH")))
+ (eshell-printn dir)))))
(put 'eshell/addpath 'eshell-no-numeric-conversions t)