summaryrefslogtreecommitdiff
path: root/lisp/eshell/em-unix.el
diff options
context:
space:
mode:
authorAlex Branham <alex.branham@gmail.com>2018-12-17 12:15:09 +0100
committerMichael Albinus <michael.albinus@gmx.de>2018-12-17 12:15:09 +0100
commit36b05dc84247db1391a423df94e4b9a478e29dc5 (patch)
tree6dff27f40a20402aceec355ffc9551d4e3e3525a /lisp/eshell/em-unix.el
parent09a6cc4778d4b90a0bb8da646425d04d8f8a6ec9 (diff)
downloademacs-36b05dc84247db1391a423df94e4b9a478e29dc5.tar.gz
emacs-36b05dc84247db1391a423df94e4b9a478e29dc5.tar.bz2
emacs-36b05dc84247db1391a423df94e4b9a478e29dc5.zip
New function flatten-tree
Co-authored-by: Basil L. Contovounesios <contovob@tcd.ie> * doc/lispref/lists.texi: Document `flatten-tree'. * lisp/progmodes/js.el (js--maybe-join): * lisp/printing.el (pr-switches): * lisp/lpr.el (lpr-print-region): * lisp/gnus/nnimap.el (nnimap-find-wanted-parts): * lisp/gnus/message.el (message-talkative-question): * lisp/gnus/gnus-sum.el (gnus-remove-thread) (gnus-thread-highest-number, gnus-thread-latest-date): * lisp/eshell/esh-util.el (eshell-flatten-and-stringify): * lisp/eshell/esh-opt.el (eshell-eval-using-options): * lisp/eshell/esh-ext.el (eshell-external-command): * lisp/eshell/em-xtra.el (eshell/expr): * lisp/eshell/em-unix.el (eshell/rm, eshell-mvcpln-template) (eshell/cat, eshell/make, eshell-poor-mans-grep, eshell-grep) (eshell/du, eshell/time, eshell/diff, eshell/locate): * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): * lisp/eshell/em-term.el (eshell-exec-visual): * lisp/eshell/em-dirs.el (eshell-dirs-substitute-cd, eshell/cd): * lisp/eshell/em-basic.el (eshell/printnl): Use new flatten-tree. * lisp/progmodes/js.el (js--flatten-list): * lisp/lpr.el (lpr-flatten-list): * lisp/gnus/message.el (message-flatten-list): * lisp/eshell/esh-util.el (eshell-flatten-list): Obsolete in favor of Emacs-wide `flatten-tree'. * lisp/subr.el (flatten-list): Alias to `flatten-tree' for discoverability. * lisp/subr.el (flatten-tree): New defun. * test/lisp/subr-tests.el (subr-tests-flatten-tree): New test.
Diffstat (limited to 'lisp/eshell/em-unix.el')
-rw-r--r--lisp/eshell/em-unix.el22
1 files changed, 11 insertions, 11 deletions
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index 3aecebc2ebf..e46e1c417d4 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -231,7 +231,7 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine."
This is implemented to call either `delete-file', `kill-buffer',
`kill-process', or `unintern', depending on the nature of the
argument."
- (setq args (eshell-flatten-list args))
+ (setq args (flatten-tree args))
(eshell-eval-using-options
"rm" args
'((?h "help" nil nil "show this usage screen")
@@ -481,7 +481,7 @@ Remove the DIRECTORY(ies), if they are empty.")
(error "%s: missing destination file or directory" ,command))
(if (= len 1)
(nconc args '(".")))
- (setq args (eshell-stringify-list (eshell-flatten-list args)))
+ (setq args (eshell-stringify-list (flatten-tree args)))
(if (and ,(not (equal command "ln"))
(string-match eshell-tar-regexp (car (last args)))
(or (> (length args) 2)
@@ -606,7 +606,7 @@ with `--symbolic'. When creating hard links, each TARGET must exist.")
"Implementation of cat in Lisp.
If in a pipeline, or the file is not a regular file, directory or
symlink, then revert to the system's definition of cat."
- (setq args (eshell-stringify-list (eshell-flatten-list args)))
+ (setq args (eshell-stringify-list (flatten-tree args)))
(if (or eshell-in-pipeline-p
(catch 'special
(dolist (arg args)
@@ -670,7 +670,7 @@ Fallback to standard make when called synchronously."
(compile (concat "make " (eshell-flatten-and-stringify args))))
(throw 'eshell-replace-command
(eshell-parse-command "*make" (eshell-stringify-list
- (eshell-flatten-list args))))))
+ (flatten-tree args))))))
(put 'eshell/make 'eshell-no-numeric-conversions t)
@@ -705,7 +705,7 @@ available..."
(erase-buffer)
(occur-mode)
(let ((files (eshell-stringify-list
- (eshell-flatten-list (cdr args))))
+ (flatten-tree (cdr args))))
(inhibit-redisplay t)
string)
(when (car args)
@@ -750,11 +750,11 @@ external command."
(throw 'eshell-replace-command
(eshell-parse-command (concat "*" command)
(eshell-stringify-list
- (eshell-flatten-list args))))
+ (flatten-tree args))))
(let* ((args (mapconcat 'identity
(mapcar 'shell-quote-argument
(eshell-stringify-list
- (eshell-flatten-list args)))
+ (flatten-tree args)))
" "))
(cmd (progn
(set-text-properties 0 (length args)
@@ -876,7 +876,7 @@ external command."
(defun eshell/du (&rest args)
"Implementation of \"du\" in Lisp, passing ARGS."
(setq args (if args
- (eshell-stringify-list (eshell-flatten-list args))
+ (eshell-stringify-list (flatten-tree args))
'(".")))
(let ((ext-du (eshell-search-path "du")))
(if (and ext-du
@@ -976,7 +976,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
(eshell-parse-command (car time-args)
;;; https://lists.gnu.org/r/bug-gnu-emacs/2007-08/msg00205.html
(eshell-stringify-list
- (eshell-flatten-list (cdr time-args))))))))
+ (flatten-tree (cdr time-args))))))))
(defun eshell/whoami (&rest _args)
"Make \"whoami\" Tramp aware."
@@ -1000,7 +1000,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
(defun eshell/diff (&rest args)
"Alias \"diff\" to call Emacs `diff' function."
- (let ((orig-args (eshell-stringify-list (eshell-flatten-list args))))
+ (let ((orig-args (eshell-stringify-list (flatten-tree args))))
(if (or eshell-plain-diff-behavior
(not (and (eshell-interactive-output-p)
(not eshell-in-pipeline-p)
@@ -1056,7 +1056,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
(string-match "^-" (car args))))
(throw 'eshell-replace-command
(eshell-parse-command "*locate" (eshell-stringify-list
- (eshell-flatten-list args))))
+ (flatten-tree args))))
(save-selected-window
(let ((locate-history-list (list (car args))))
(locate-with-filter (car args) (cadr args))))))