*** lisp/calendar/time-date.el~ 2009-09-02 21:50:25 +0000 --- lisp/calendar/time-date.el 2009-09-08 04:53:21 +0000 *************** *** 114,130 **** ;; 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 (featurep 'xemacs) ! ;;;###autoload (autoload 'time-to-seconds "time-date") ! ;;;###autoload (define-obsolete-function-alias 'time-to-seconds 'float-time "21.1")) ! ! (if (featurep 'xemacs) ! (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) --- 114,132 ---- ;; 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 (fboundp '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")) ! ! (unless (fboundp '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) *************** *** 248,259 **** (- (/ (1- year) 100)) ; - century years (/ (1- year) 400)))) ; + Gregorian leap years (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." ! (/ (if (featurep 'xemacs) ! (time-to-seconds time) ! (float-time time)) (* 60 60 24))) ;;;###autoload (defun safe-date-to-time (date) --- 250,266 ---- (- (/ (1- year) 100)) ; - century years (/ (1- year) 400)))) ; + Gregorian leap years + (eval-when-compile + (defmacro time-date-float-time (time) + (if (and (fboundp 'float-time) + (subrp (symbol-function 'float-time))) + `(float-time ,time) + `(time-to-seconds (or ,time (current-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." ! (/ (time-date-float-time time) (* 60 60 24))) ;;;###autoload (defun safe-date-to-time (date) *** lisp/gnus/ecomplete.el~ 2009-09-02 21:50:26 +0000 --- lisp/gnus/ecomplete.el 2009-09-08 04:53:21 +0000 *************** *** 53,64 **** (insert-file-contents ecomplete-database-file) (setq ecomplete-database (read (current-buffer))))))) (defun ecomplete-add-item (type key text) (let ((elems (assq type ecomplete-database)) ! (now (string-to-number ! (format "%.0f" (if (featurep 'xemacs) ! (time-to-seconds (current-time)) ! (float-time))))) entry) (unless elems (push (setq elems (list type)) ecomplete-database)) --- 53,68 ---- (insert-file-contents ecomplete-database-file) (setq ecomplete-database (read (current-buffer))))))) + (eval-when-compile + (defmacro ecomplete-float-time () + (if (and (fboundp 'float-time) + (subrp (symbol-function 'float-time))) + '(float-time) + '(time-to-seconds (current-time))))) + (defun ecomplete-add-item (type key text) (let ((elems (assq type ecomplete-database)) ! (now (string-to-number (format "%.0f" (ecomplete-float-time)))) entry) (unless elems (push (setq elems (list type)) ecomplete-database)) *** lisp/gnus/gnus-util.el~ 2009-09-02 21:50:26 +0000 --- lisp/gnus/gnus-util.el 2009-09-08 04:53:21 +0000 *************** *** 285,296 **** (and (= (car fdate) (car date)) (> (nth 1 fdate) (nth 1 date)))))) (defun gnus-float-time (&optional time) "Convert time value TIME to a floating point number. TIME defaults to the current time." ! (if (featurep 'xemacs) ! (time-to-seconds (or time (current-time))) ! (float-time time))) ;;; Keymap macros. --- 285,301 ---- (and (= (car fdate) (car date)) (> (nth 1 fdate) (nth 1 date)))))) + (eval-when-compile + (defmacro gnus-float-time-1 (time) + (if (and (fboundp 'float-time) + (subrp (symbol-function 'float-time))) + `(float-time ,time) + `(time-to-seconds (or ,time (current-time)))))) + (defun gnus-float-time (&optional time) "Convert time value TIME to a floating point number. TIME defaults to the current time." ! (gnus-float-time-1 time)) ;;; Keymap macros.