# HG changeset patch # User Glenn Morris # Date 1289362095 28800 # Node ID 8309f15b25347eb75162f8d532e206d7dfd166ac # Parent 646142bd4c38c753db3a7fb420a4570136102205 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 -r 646142bd4c38 -r 8309f15b2534 lisp/ChangeLog --- a/lisp/ChangeLog Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/ChangeLog Tue Nov 09 20:08:15 2010 -0800 @@ -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 -r 646142bd4c38 -r 8309f15b2534 lisp/calendar/time-date.el --- a/lisp/calendar/time-date.el Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/calendar/time-date.el Tue Nov 09 20:08:15 2010 -0800 @@ -112,27 +112,24 @@ ;; 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 @@ ;;;###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 @@ (- (/ (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 -r 646142bd4c38 -r 8309f15b2534 lisp/calendar/timeclock.el --- a/lisp/calendar/timeclock.el Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/calendar/timeclock.el Tue Nov 09 20:08:15 2010 -0800 @@ -543,11 +543,8 @@ (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 @@ (if (file-readable-p timeclock-file) (timeclock-reread-log)) -;; arch-tag: a0be3377-deb6-44ec-b9a2-a7be28436a40 ;;; timeclock.el ends here diff -r 646142bd4c38 -r 8309f15b2534 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/gnus/ChangeLog Tue Nov 09 20:08:15 2010 -0800 @@ -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 -r 646142bd4c38 -r 8309f15b2534 lisp/gnus/ecomplete.el --- a/lisp/gnus/ecomplete.el Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/gnus/ecomplete.el Tue Nov 09 20:08:15 2010 -0800 @@ -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 -r 646142bd4c38 -r 8309f15b2534 lisp/gnus/gnus-util.el --- a/lisp/gnus/gnus-util.el Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/gnus/gnus-util.el Tue Nov 09 20:08:15 2010 -0800 @@ -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 @@ (> (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 -r 646142bd4c38 -r 8309f15b2534 lisp/textmodes/remember.el --- a/lisp/textmodes/remember.el Tue Nov 09 19:57:32 2010 -0800 +++ b/lisp/textmodes/remember.el Tue Nov 09 20:08:15 2010 -0800 @@ -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 @@ (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 @@ 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 @@ \\{remember-mode-map}" (set-keymap-parent remember-mode-map nil)) -;; arch-tag: 59312a05-06c7-4da1-b6f7-5ea41c9d5577 ;;; remember.el ends here