emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gnus and No Gnus


From: Katsumi Yamaoka
Subject: Gnus and No Gnus
Date: Mon, 07 Sep 2009 21:07:57 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hi,

Today I tried synch'ing the Gnus trunk with the Emacs trunk and
found a problem concerning `float-time'.

In time-date.el, `define-obsolete-function-alias' is not available
in Emacs 21 that Gnus still supports.  It causes an error when
loading gnus-load.el.

In ecomplete.el, gnus-util.el and time-date.el, (featurep 'xemacs)
is used for checking if `float-time' is available like this:

  (if (featurep 'xemacs)
      (time-to-seconds time)
    (float-time time))

However, XEmacs may implement `float-time' in the future.

Therefore I made changes in those files as attached below.  WDYT?
The whole patch that synch the Gnus trunk with the Emacs trunk is:

ftp://ftp.jpl.org/pub/tmp/Gnus-Emacs-20090907.diff.gz
of http://www.jpl.org/ftp/pub/tmp/Gnus-Emacs-20090907.diff.gz

Regards,

*** lisp/calendar/time-date.el~ 2009-09-02 21:50:25 +0000
--- lisp/calendar/time-date.el  2009-09-07 11:55:15 +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)
***************
*** 251,259 ****
  (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)
--- 253,262 ----
  (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 (fboundp 'float-time)
!        (float-time time)
!        (time-to-seconds 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-07 11:55:15 +0000
***************
*** 56,64 ****
  (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))
--- 56,64 ----
  (defun ecomplete-add-item (type key text)
    (let ((elems (assq type ecomplete-database))
        (now (string-to-number
!             (format "%.0f" (if (fboundp 'float-time)
!                                (float-time)
!                              (time-to-seconds (current-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-07 11:55:15 +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,296 ----
        (and (= (car fdate) (car date))
             (> (nth 1 fdate) (nth 1 date))))))
  
! (if (fboundp '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."
!     (time-to-seconds (or time (current-time)))))
  
  ;;; Keymap macros.
  

reply via email to

[Prev in Thread] Current Thread [Next in Thread]