Function: eshell/time
eshell/time is a byte-compiled function defined in em-unix.el.gz.
Signature
(eshell/time &rest ARGS)
Documentation
Implementation of "time" in Lisp.
Source Code
;; Defined in /usr/src/emacs/lisp/eshell/em-unix.el.gz
(defun eshell/time (&rest args)
"Implementation of \"time\" in Lisp."
(let ((time-args (copy-alist args))
(continue t)
last-arg)
(while (and continue args)
(if (not (string-match "^-" (car args)))
(progn
(if last-arg
(setcdr last-arg nil)
(setq args '("")))
(setq continue nil))
(setq last-arg args
args (cdr args))))
(eshell-eval-using-options
"time" args
'((?h "help" nil nil "show this usage screen")
:external "time"
:show-usage
:usage "COMMAND...
Show wall-clock time elapsed during execution of COMMAND.")
(setq eshell-time-start (float-time))
(add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t)
;; after setting
(throw 'eshell-replace-command
(eshell-parse-command (car time-args)
;;; https://lists.gnu.org/r/bug-gnu-emacs/2007-08/msg00205.html
(eshell-stringify-list
(flatten-tree (cdr time-args))))))))