From: Glenn Morris Date: Wed, 10 Nov 2010 04:08:15 +0000 (-0800) Subject: time-to-seconds related simplifications. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~45^2~326 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6f0d4bb6b2793e06eb445cd58be0e4797f1030c0;p=emacs.git time-to-seconds related simplifications. * lisp/gnus/gnus-util.el (with-no-warnings): Remove compat stub, now unused. (gnus-float-time): On Emacs, always an alias. * lisp/gnus/ecomplete.el (with-no-warnings): Remove compat stub, now unused. (ecomplete-add-item): Use float-time on Emacs, else gnus-float-time. * lisp/textmodes/remember.el (remember-time-to-seconds): Remove. (remember-store-in-mailbox): Use float-time. * lisp/calendar/timeclock.el (timeclock-time-to-seconds): Make it an alias. * lisp/calendar/time-date.el (time-to-seconds): Always an alias on Emacs, never a real function. (with-no-warnings): Remove compat stub, now unused. (time-less-p): Doc fix. (time-to-number-of-days): Simplify. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3fa23066963..093dad1461c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,16 @@ 2010-11-10 Glenn Morris + * textmodes/remember.el (remember-time-to-seconds): Remove. + (remember-store-in-mailbox): Use float-time. + + * calendar/timeclock.el (timeclock-time-to-seconds): Make it an alias. + + * calendar/time-date.el (time-to-seconds): Always an alias on Emacs, + never a real function. + (with-no-warnings): Remove compat stub, now unused. + (time-less-p): Doc fix. + (time-to-number-of-days): Simplify. + * eshell/esh-util.el (eshell-time-less-p, eshell-time-to-seconds): Remove. (eshell-read-passwd, eshell-read-hosts): Use time-less-p. diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index 84fc465f984..1bd04d7ed3b 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el @@ -112,27 +112,24 @@ If DATE lacks timezone information, GMT is assumed." ;; Bit of a mess. Emacs has float-time since at least 21.1. ;; This file is synced to Gnus, and XEmacs packages may have been written ;; using time-to-seconds from the Gnus library. -;;;###autoload(if (and (fboundp 'float-time) -;;;###autoload (subrp (symbol-function 'float-time))) +;;;###autoload(if (or (featurep 'emacs) +;;;###autoload (and (fboundp 'float-time) +;;;###autoload (subrp (symbol-function 'float-time)))) ;;;###autoload (progn ;;;###autoload (defalias 'time-to-seconds 'float-time) ;;;###autoload (make-obsolete 'time-to-seconds 'float-time "21.1")) ;;;###autoload (autoload 'time-to-seconds "time-date")) -(eval-and-compile - (unless (and (fboundp 'float-time) - (subrp (symbol-function 'float-time))) - (defun time-to-seconds (time) - "Convert time value TIME to a floating point number." - (with-decoded-time-value ((high low micro time)) - (+ (* 1.0 high 65536) - low - (/ micro 1000000.0)))))) - (eval-when-compile - (unless (fboundp 'with-no-warnings) - (defmacro with-no-warnings (&rest body) - `(progn ,@body)))) + (or (featurep 'emacs) + (and (fboundp 'float-time) + (subrp (symbol-function 'float-time))) + (defun time-to-seconds (time) + "Convert time value TIME to a floating point number." + (with-decoded-time-value ((high low micro time)) + (+ (* 1.0 high 65536) + low + (/ micro 1000000.0)))))) ;;;###autoload (defun seconds-to-time (seconds) @@ -143,7 +140,7 @@ If DATE lacks timezone information, GMT is assumed." ;;;###autoload (defun time-less-p (t1 t2) - "Say whether time value T1 is less than time value T2." + "Return non-nil if time value T1 is earlier than time value T2." (with-decoded-time-value ((high1 low1 micro1 t1) (high2 low2 micro2 t2)) (or (< high1 high2) @@ -256,17 +253,15 @@ The Gregorian date Sunday, December 31, 1bce is imaginary." (- (/ (1- year) 100)) ; - century years (/ (1- year) 400)))) ; + Gregorian leap years -(eval-and-compile - (if (and (fboundp 'float-time) - (subrp (symbol-function 'float-time))) - (defun time-to-number-of-days (time) - "Return the number of days represented by TIME. -The number of days will be returned as a floating point number." - (/ (float-time time) (* 60 60 24))) - (defun time-to-number-of-days (time) - "Return the number of days represented by TIME. -The number of days will be returned as a floating point number." - (/ (with-no-warnings (time-to-seconds time)) (* 60 60 24))))) +(defun time-to-number-of-days (time) + "Return the number of days represented by TIME. +Returns a floating point number." + (/ (funcall (eval-when-compile + (if (or (featurep 'emacs) + (and (fboundp 'float-time) + (subrp (symbol-function 'float-time)))) + 'float-time + 'time-to-seconds)) time) (* 60 60 24))) ;;;###autoload (defun safe-date-to-time (date) diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el index 32e0bf61380..d28b0a56c3f 100644 --- a/lisp/calendar/timeclock.el +++ b/lisp/calendar/timeclock.el @@ -543,11 +543,8 @@ non-nil, the amount returned will be relative to past time worked." (message "%s" string) string))) -(defsubst timeclock-time-to-seconds (time) - "Convert TIME to a floating point number." - (+ (* (car time) 65536.0) - (cadr time) - (/ (or (nth 2 time) 0) 1000000.0))) +(defalias 'timeclock-time-to-seconds (if (fboundp 'float-time) 'float-time + 'time-to-seconds)) (defsubst timeclock-seconds-to-time (seconds) "Convert SECONDS (a floating point number) to an Emacs time structure." @@ -1419,5 +1416,4 @@ HTML-P is non-nil, HTML markup is added." (if (file-readable-p timeclock-file) (timeclock-reread-log)) -;; arch-tag: a0be3377-deb6-44ec-b9a2-a7be28436a40 ;;; timeclock.el ends here diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 88143e927c9..7f0d9b5693c 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,11 @@ +2010-11-10 Glenn Morris + + * gnus-util.el (with-no-warnings): Remove compat stub, now unused. + (gnus-float-time): On Emacs, always an alias. + + * ecomplete.el (with-no-warnings): Remove compat stub, now unused. + (ecomplete-add-item): Use float-time on Emacs, else gnus-float-time. + 2010-11-10 Katsumi Yamaoka * gnus-art.el (org-entities): Bind it. diff --git a/lisp/gnus/ecomplete.el b/lisp/gnus/ecomplete.el index 33d2ddd6a71..1f705674962 100644 --- a/lisp/gnus/ecomplete.el +++ b/lisp/gnus/ecomplete.el @@ -1,6 +1,7 @@ ;;; ecomplete.el --- electric completion of addresses and the like -;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2006, 2007, 2008, 2009, 2010 +;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail @@ -27,11 +28,6 @@ (eval-when-compile (require 'cl)) -(eval-when-compile - (unless (fboundp 'with-no-warnings) - (defmacro with-no-warnings (&rest body) - `(progn ,@body)))) - (defgroup ecomplete nil "Electric completion of email addresses and the like." :group 'mail) @@ -61,11 +57,10 @@ (defun ecomplete-add-item (type key text) (let ((elems (assq type ecomplete-database)) (now (string-to-number - (format "%.0f" (if (and (fboundp 'float-time) - (subrp (symbol-function 'float-time))) + (format "%.0f" (if (featurep 'emacs) (float-time) - (with-no-warnings - (time-to-seconds (current-time))))))) + (require 'gnus-util) + (gnus-float-time))))) entry) (unless elems (push (setq elems (list type)) ecomplete-database)) diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index e9e896963b3..cacca018fd5 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -39,11 +39,6 @@ (eval-when-compile (require 'cl)) -(eval-when-compile - (unless (fboundp 'with-no-warnings) - (defmacro with-no-warnings (&rest body) - `(progn ,@body)))) - (defcustom gnus-completing-read-function 'gnus-emacs-completing-read "Function use to do completing read." :version "24.1" @@ -320,13 +315,14 @@ Symbols are also allowed; their print names are used instead." (> (nth 1 fdate) (nth 1 date)))))) (eval-and-compile - (if (and (fboundp 'float-time) - (subrp (symbol-function 'float-time))) + (if (or (featurep 'emacs) + (and (fboundp 'float-time) + (subrp (symbol-function 'float-time)))) (defalias 'gnus-float-time 'float-time) (defun gnus-float-time (&optional time) "Convert time value TIME to a floating point number. TIME defaults to the current time." - (with-no-warnings (time-to-seconds (or time (current-time))))))) + (time-to-seconds (or time (current-time)))))) ;;; Keymap macros. diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el index d4de4e49b93..ab2c27563b0 100644 --- a/lisp/textmodes/remember.el +++ b/lisp/textmodes/remember.el @@ -1,7 +1,7 @@ ;;; remember --- a mode for quickly jotting down things to remember -;; Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, -;; 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, +;; 2009, 2010 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Created: 29 Mar 1999 @@ -315,12 +315,6 @@ With a prefix or a visible region, use the region as INITIAL." (let ((remember-in-new-frame t)) (remember initial))) -(defsubst remember-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 remember-mail-date (&optional rfc822-p) "Return a simple date. Nothing fancy." (if rfc822-p @@ -355,8 +349,7 @@ In which case `remember-mailbox' should be the name of the mailbox. Each piece of pseudo-mail created will have an `X-Todo-Priority' field, for the purpose of appropriate splitting." (let ((who (read-string "Who is this item related to? ")) - (moment - (format "%.0f" (remember-time-to-seconds (current-time)))) + (moment (format "%.0f" (float-time))) (desc (remember-buffer-desc)) (text (buffer-string))) (with-temp-buffer @@ -535,5 +528,4 @@ the data away for latter retrieval, and possible indexing. \\{remember-mode-map}" (set-keymap-parent remember-mode-map nil)) -;; arch-tag: 59312a05-06c7-4da1-b6f7-5ea41c9d5577 ;;; remember.el ends here