unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Gnus and No Gnus
@ 2009-09-07 12:07 Katsumi Yamaoka
  2009-09-07 21:31 ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: Katsumi Yamaoka @ 2009-09-07 12:07 UTC (permalink / raw)
  To: Glenn Morris; +Cc: ding, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

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,


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 4003 bytes --]

*** 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.
  

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-09-15 17:15 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-07 12:07 Gnus and No Gnus Katsumi Yamaoka
2009-09-07 21:31 ` Glenn Morris
2009-09-08  2:15   ` Stephen J. Turnbull
2009-09-08  4:46     ` Teemu Likonen
2009-09-15  8:10       ` Steinar Bang
2009-09-08  7:11     ` Glenn Morris
2009-09-15  8:13       ` Steinar Bang
2009-09-15 13:10         ` Ted Zlatanov
2009-09-08  5:15   ` Katsumi Yamaoka
2009-09-08  7:19     ` Glenn Morris
2009-09-08 11:13       ` Katsumi Yamaoka
2009-09-08 16:49         ` Glenn Morris
2009-09-08 19:08           ` Stephen J. Turnbull
2009-09-09  9:31           ` Katsumi Yamaoka
2009-09-15  8:14     ` Steinar Bang
2009-09-15 17:15     ` Reiner Steib

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).