From 73171bd4cc3333a43ef8810ba4f7d0a864f20fa8 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 9 Nov 2010 19:57:32 -0800 Subject: [PATCH] Replace some eshell functions that duplicate standard functions. * lisp/eshell/esh-util.el (eshell-time-less-p, eshell-time-to-seconds): Remove. (eshell-read-passwd, eshell-read-hosts): Use time-less-p. * lisp/eshell/esh-test.el (eshell-test, eshell-show-usage-metrics): * lisp/eshell/em-unix.el (eshell-show-elapsed-time, eshell/time): * lisp/eshell/em-pred.el (eshell-pred-file-time): Use float-time. * lisp/eshell/em-ls.el (eshell-ls-sort-entries): Use time-less-p. --- lisp/ChangeLog | 8 ++++++++ lisp/eshell/em-ls.el | 7 +++---- lisp/eshell/em-pred.el | 7 +++---- lisp/eshell/em-unix.el | 6 ++---- lisp/eshell/esh-test.el | 10 ++++------ lisp/eshell/esh-util.el | 18 ++---------------- 6 files changed, 22 insertions(+), 34 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8bffe3f1067..3fa23066963 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,13 @@ 2010-11-10 Glenn Morris + * eshell/esh-util.el (eshell-time-less-p, eshell-time-to-seconds): + Remove. + (eshell-read-passwd, eshell-read-hosts): Use time-less-p. + * eshell/esh-test.el (eshell-test, eshell-show-usage-metrics): + * eshell/em-unix.el (eshell-show-elapsed-time, eshell/time): + * eshell/em-pred.el (eshell-pred-file-time): Use float-time. + * eshell/em-ls.el (eshell-ls-sort-entries): Use time-less-p. + * eshell/em-unix.el (eshell-remove-entries, eshell/rm) (eshell-shuffle-files, eshell-shorthand-tar-command) (eshell-mvcpln-template, eshell/mv, eshell/cp, eshell/ln): diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el index db2a21cd319..84af53efe58 100644 --- a/lisp/eshell/em-ls.el +++ b/lisp/eshell/em-ls.el @@ -612,11 +612,11 @@ In Eshell's implementation of ls, ENTRIES is always reversed." (let ((result (cond ((eq sort-method 'by-atime) - (eshell-ls-compare-entries l r 4 'eshell-time-less-p)) + (eshell-ls-compare-entries l r 4 'time-less-p)) ((eq sort-method 'by-mtime) - (eshell-ls-compare-entries l r 5 'eshell-time-less-p)) + (eshell-ls-compare-entries l r 5 'time-less-p)) ((eq sort-method 'by-ctime) - (eshell-ls-compare-entries l r 6 'eshell-time-less-p)) + (eshell-ls-compare-entries l r 6 'time-less-p)) ((eq sort-method 'by-size) (eshell-ls-compare-entries l r 7 '<)) ((eq sort-method 'by-extension) @@ -941,5 +941,4 @@ to use, and each member of which is the width of that column ;; generated-autoload-file: "esh-groups.el" ;; End: -;; arch-tag: 9295181c-0cb2-499c-999b-89f5359842cb ;;; em-ls.el ends here diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index 15a3deea30c..2b5cb1a0dc4 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el @@ -427,7 +427,7 @@ returning the resultant string." (forward-char)) (if (looking-at "[0-9]+") (progn - (setq when (- (eshell-time-to-seconds (current-time)) + (setq when (- (float-time) (* (string-to-number (match-string 0)) quantum))) (goto-char (match-end 0))) @@ -444,7 +444,7 @@ returning the resultant string." (attrs (file-attributes file))) (unless attrs (error "Cannot stat file `%s'" file)) - (setq when (eshell-time-to-seconds (nth attr-index attrs)))) + (setq when (float-time (nth attr-index attrs)))) (goto-char (1+ end))) `(lambda (file) (let ((attrs (file-attributes file))) @@ -453,7 +453,7 @@ returning the resultant string." '< (if (eq qual ?+) '> - '=)) ,when (eshell-time-to-seconds + '=)) ,when (float-time (nth ,attr-index attrs)))))))) (defun eshell-pred-file-type (type) @@ -605,5 +605,4 @@ that 'ls -l' will show in the first column of its display. " ;; generated-autoload-file: "esh-groups.el" ;; End: -;; arch-tag: 8b5ce022-17f3-4c40-93c7-5faafaa63f31 ;;; em-pred.el ends here diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index 36a89e33fb6..d4f62415084 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el @@ -912,9 +912,7 @@ Summarize disk usage of each FILE, recursively for directories.") (defvar eshell-time-start nil) (defun eshell-show-elapsed-time () - (let ((elapsed (format "%.3f secs\n" - (- (eshell-time-to-seconds (current-time)) - eshell-time-start)))) + (let ((elapsed (format "%.3f secs\n" (- (float-time) eshell-time-start)))) (set-text-properties 0 (length elapsed) '(face bold) elapsed) (eshell-interactive-print elapsed)) (remove-hook 'eshell-post-command-hook 'eshell-show-elapsed-time t)) @@ -940,7 +938,7 @@ Summarize disk usage of each FILE, recursively for directories.") :show-usage :usage "COMMAND... Show wall-clock time elapsed during execution of COMMAND.") - (setq eshell-time-start (eshell-time-to-seconds (current-time))) + (setq eshell-time-start (float-time)) (add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t) ;; after setting (throw 'eshell-replace-command diff --git a/lisp/eshell/esh-test.el b/lisp/eshell/esh-test.el index 971d0cd63e6..50d0a8e861c 100644 --- a/lisp/eshell/esh-test.el +++ b/lisp/eshell/esh-test.el @@ -150,7 +150,7 @@ (defun eshell-test (&optional arg) "Test Eshell to verify that it works as expected." (interactive "P") - (let* ((begin (eshell-time-to-seconds (current-time))) + (let* ((begin (float-time)) (test-buffer (get-buffer-create "*eshell test*"))) (set-buffer (let ((inhibit-redisplay t)) (save-window-excursion (eshell t)))) @@ -176,8 +176,7 @@ (with-current-buffer test-buffer (insert (format "\n\n--- %s --- (completed in %d seconds)\n" (current-time-string) - (- (eshell-time-to-seconds (current-time)) - begin))) + (- (float-time) begin))) (message "Eshell test suite completed: %s failure%s" (if (> eshell-test-failures 0) (number-to-string eshell-test-failures) @@ -223,14 +222,13 @@ (if (eq eshell-show-usage-metrics t) (- eshell-metric-after-command eshell-metric-before-command 7) - (- (eshell-time-to-seconds + (- (float-time eshell-metric-after-command) - (eshell-time-to-seconds + (float-time eshell-metric-before-command)))) "\n")))) nil t)) (provide 'esh-test) -;; arch-tag: 6e32275a-8285-4a4e-b7cf-819aa7c86b8e ;;; esh-test.el ends here diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el index 17db2f71f9e..0a2ebba528f 100644 --- a/lisp/eshell/esh-util.el +++ b/lisp/eshell/esh-util.el @@ -341,20 +341,6 @@ Prepend remote identification of `default-directory', if any." "Flatten and stringify all of the ARGS into a single string." (mapconcat 'eshell-stringify (eshell-flatten-list args) " ")) -;; the next two are from GNUS, and really should be made part of Emacs -;; some day -(defsubst eshell-time-less-p (t1 t2) - "Say whether time T1 is less than time T2." - (or (< (car t1) (car t2)) - (and (= (car t1) (car t2)) - (< (nth 1 t1) (nth 1 t2))))) - -(defsubst eshell-time-to-seconds (time) - "Convert TIME to a floating point number." - (+ (* (car time) 65536.0) - (cadr time) - (/ (or (car (cdr (cdr time))) 0) 1000000.0))) - (defsubst eshell-directory-files (regexp &optional directory) "Return a list of files in the given DIRECTORY matching REGEXP." (directory-files (or directory default-directory) @@ -468,7 +454,7 @@ list." "Read the contents of /etc/passwd for user names." (if (or (not (symbol-value result-var)) (not (symbol-value timestamp-var)) - (eshell-time-less-p + (time-less-p (symbol-value timestamp-var) (nth 5 (file-attributes file)))) (progn @@ -522,7 +508,7 @@ list." "Read the contents of /etc/passwd for user names." (if (or (not (symbol-value result-var)) (not (symbol-value timestamp-var)) - (eshell-time-less-p + (time-less-p (symbol-value timestamp-var) (nth 5 (file-attributes file)))) (progn -- 2.39.5