Gnus development mailing list
 help / color / mirror / Atom feed
* timers and itimers
@ 2005-01-26  9:11 Steve Youngs
  2005-01-26  9:29 ` Romain Francoise
  2005-01-26 10:15 ` Simon Josefsson
  0 siblings, 2 replies; 10+ messages in thread
From: Steve Youngs @ 2005-01-26  9:11 UTC (permalink / raw)


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

I've just committed a patch that cleans up all of the timer code for
XEmacs, including removing run-at-time.el.

In the xemacs-base package there is a new lib, timer-funcs.el which
correctly implements, using itimers, most (all?) of the GNU timer
functions not present in itimer.el.  In other words, XEmacs users no
longer have to rely on the ugly compatibility hacks in the fsf-compat
package. :-)

This clean up is definitely needed in the 5.10 branch so I'll commit a
similar patch there a little later tonight.

For the GNU people who are interested, timer-funcs.el provides the
following functions:

cancel-function-timers
run-at-time
run-with-idle-timer
run-with-timer
timer-duration
timer-next-integral-multiple-of-time
timer-parse-time
timer-relative-time
with-timeout
with-timeout-handler
y-or-n-p-with-timeout


-- 
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|                   Te audire no possum.                   |
|             Musa sapientum fixa est in aure.             |
|----------------------------------<steve@youngs.au.com>---|

[-- Attachment #2: Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: timers and itimers
  2005-01-26  9:11 timers and itimers Steve Youngs
@ 2005-01-26  9:29 ` Romain Francoise
  2005-01-26 22:20   ` Steve Youngs
  2005-01-26 10:15 ` Simon Josefsson
  1 sibling, 1 reply; 10+ messages in thread
From: Romain Francoise @ 2005-01-26  9:29 UTC (permalink / raw)


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

Steve Youngs <steve@youngs.au.com> writes:

> This clean up is definitely needed in the 5.10 branch so I'll commit a
> similar patch there a little later tonight.

Please keep in mind that the supported versions for Gnus v5.10 are
XEmacs 21.1 and up; for No Gnus the supported versions are 21.4 and up.

Thanks,

-- 
Romain Francoise <romain@orebokech.com> | They're nothing but scared
it's a miracle -- http://orebokech.com/ | little mice.

[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]

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

* Re: timers and itimers
  2005-01-26  9:11 timers and itimers Steve Youngs
  2005-01-26  9:29 ` Romain Francoise
@ 2005-01-26 10:15 ` Simon Josefsson
  2005-01-26 22:19   ` Steve Youngs
  1 sibling, 1 reply; 10+ messages in thread
From: Simon Josefsson @ 2005-01-26 10:15 UTC (permalink / raw)


Steve Youngs <steve@youngs.au.com> writes:

> I've just committed a patch that cleans up all of the timer code for
> XEmacs, including removing run-at-time.el.
...
> This clean up is definitely needed in the 5.10 branch so I'll commit a
> similar patch there a little later tonight.

Do XEmacs 21.1 have the working timer function, that your patch uses?
Gnus 5.10 is supposed to work on it.

> For the GNU people who are interested, timer-funcs.el provides the
> following functions:

Would it be useful to name timer-funcs.el timer.el, so the same
`require' line work for both GNU and XEmacs?

Thanks.



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

* Re: timers and itimers
  2005-01-26 10:15 ` Simon Josefsson
@ 2005-01-26 22:19   ` Steve Youngs
  0 siblings, 0 replies; 10+ messages in thread
From: Steve Youngs @ 2005-01-26 22:19 UTC (permalink / raw)


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

* Simon Josefsson <jas@extundo.com> writes:

  > Steve Youngs <steve@youngs.au.com> writes:
  >> I've just committed a patch that cleans up all of the timer code for
  >> XEmacs, including removing run-at-time.el.
  > ...
  >> This clean up is definitely needed in the 5.10 branch so I'll commit a
  >> similar patch there a little later tonight.

  > Do XEmacs 21.1 have the working timer function, that your patch uses?
  > Gnus 5.10 is supposed to work on it.

Of course, timer-funcs.el is in the xemacs-base package so it is
available to all versions of XEmacs from 21.0 onwards.

  >> For the GNU people who are interested, timer-funcs.el provides the
  >> following functions:

  > Would it be useful to name timer-funcs.el timer.el, so the same
  > `require' line work for both GNU and XEmacs?

I would think not.  There is nothing common to both libraries, and
nothing of what is left in the fsf-compat package timer.el is used in
Gnus.

-- 
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|                   Te audire no possum.                   |
|             Musa sapientum fixa est in aure.             |
|----------------------------------<steve@youngs.au.com>---|

[-- Attachment #2: Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: timers and itimers
  2005-01-26  9:29 ` Romain Francoise
@ 2005-01-26 22:20   ` Steve Youngs
  2005-01-27  1:09     ` Katsumi Yamaoka
  0 siblings, 1 reply; 10+ messages in thread
From: Steve Youngs @ 2005-01-26 22:20 UTC (permalink / raw)


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

* Romain Francoise <romain@orebokech.com> writes:

  > Steve Youngs <steve@youngs.au.com> writes:
  >> This clean up is definitely needed in the 5.10 branch so I'll commit a
  >> similar patch there a little later tonight.

  > Please keep in mind that the supported versions for Gnus v5.10 are
  > XEmacs 21.1 and up; for No Gnus the supported versions are 21.4
  > and up.

Sure will.  This stuff comes from the packages so there won't be a
problem.

-- 
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|                   Te audire no possum.                   |
|             Musa sapientum fixa est in aure.             |
|----------------------------------<steve@youngs.au.com>---|

[-- Attachment #2: Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: timers and itimers
  2005-01-26 22:20   ` Steve Youngs
@ 2005-01-27  1:09     ` Katsumi Yamaoka
  2005-01-27  2:10       ` Steve Youngs
  0 siblings, 1 reply; 10+ messages in thread
From: Katsumi Yamaoka @ 2005-01-27  1:09 UTC (permalink / raw)


> * Romain Francoise <romain@orebokech.com> writes:

>> Please keep in mind that the supported versions for Gnus v5.10 are
>> XEmacs 21.1 and up; for No Gnus the supported versions are 21.4
>> and up.

>>>>> In <microsoft-free.87vf9jbzoa.fsf@youngs.au.com> Steve Youngs wrote:

> Sure will.  This stuff comes from the packages so there won't be a
> problem.

Unfortunately, the new xemacs-base package doesn't help all
the versions of XEmacsen.  I wrote it to you yesterday as
follows:

>>>>> In <b9y651kq34y.fsf@jpl.org> Katsumi Yamaoka wrote:

> Although there will be many users who seldom upgrade XEmacs and
> packages, I think it is worth deleting run-at-time.el and
> recommending people the use of the new package.

It was necessary to add ``and new XEmacs'' to the last paragraph,
sorry.

Because of a bug in itimer.el which is embedded in the XEmacs
core, even the run-at-time function in the new xemacs-base
package won't work correctly with old XEmacsen.  I posted a
patch in December 2003[1], Vin Shelton applied it to XEmacs 21.4
in January 2004[2], and Jerry James applied it to XEmacs 21.5 in
September 2004[3].  Therefore, XEmacs 21.4.15 and 21.5.18 will
run timer functions correctly.  I didn't thoroughly check them
with old XEmacsen, though.

[1] http://article.gmane.org/gmane.emacs.xemacs.beta/12786
[2] http://article.gmane.org/gmane.emacs.xemacs.beta/13401
[3] http://article.gmane.org/gmane.emacs.xemacs.patches/4872

Those articles can also be found in the following thread:

http://news.gmane.org/group/gmane.emacs.xemacs.beta/thread=12742

Anyway, can't we fire old XEmacsen even in Gnus v5.10?



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

* Re: timers and itimers
  2005-01-27  1:09     ` Katsumi Yamaoka
@ 2005-01-27  2:10       ` Steve Youngs
  2005-01-27  2:37         ` Katsumi Yamaoka
  0 siblings, 1 reply; 10+ messages in thread
From: Steve Youngs @ 2005-01-27  2:10 UTC (permalink / raw)


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

* Katsumi Yamaoka <yamaoka@jpl.org> writes:

  >> * Romain Francoise <romain@orebokech.com> writes:
  >>> Please keep in mind that the supported versions for Gnus v5.10 are
  >>> XEmacs 21.1 and up; for No Gnus the supported versions are 21.4
  >>> and up.

  >>>>>> In <microsoft-free.87vf9jbzoa.fsf@youngs.au.com> Steve Youngs wrote:

  >> Sure will.  This stuff comes from the packages so there won't be a
  >> problem.

  > Unfortunately, the new xemacs-base package doesn't help all
  > the versions of XEmacsen.

It helps enough, because...

  >>>>>> In <b9y651kq34y.fsf@jpl.org> Katsumi Yamaoka wrote:

  >> Although there will be many users who seldom upgrade XEmacs and
  >> packages, I think it is worth deleting run-at-time.el and
  >> recommending people the use of the new package.

  > It was necessary to add ``and new XEmacs'' to the last paragraph,
  > sorry.

  > Because of a bug in itimer.el which is embedded in the XEmacs
  > core, even the run-at-time function in the new xemacs-base
  > package won't work correctly with old XEmacsen.  I posted a
  > patch in December 2003[1], Vin Shelton applied it to XEmacs 21.4
  > in January 2004[2], and Jerry James applied it to XEmacs 21.5 in
  > September 2004[3].  Therefore, XEmacs 21.4.15 and 21.5.18 will
  > run timer functions correctly.  I didn't thoroughly check them
  > with old XEmacsen, though.

  > Anyway, can't we fire old XEmacsen even in Gnus v5.10?

...yes.  From XEmacs.org's point of view, packages only have to
support from 21.4 onwards.

-- 
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|                   Te audire no possum.                   |
|             Musa sapientum fixa est in aure.             |
|----------------------------------<steve@youngs.au.com>---|

[-- Attachment #2: Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: timers and itimers
  2005-01-27  2:10       ` Steve Youngs
@ 2005-01-27  2:37         ` Katsumi Yamaoka
  2005-01-27  4:43           ` Steve Youngs
  0 siblings, 1 reply; 10+ messages in thread
From: Katsumi Yamaoka @ 2005-01-27  2:37 UTC (permalink / raw)


>>>>> In <microsoft-free.87r7k7bp18.fsf@youngs.au.com> Steve Youngs wrote:

> * Katsumi Yamaoka <yamaoka@jpl.org> writes:

>> Unfortunately, the new xemacs-base package doesn't help all
>> the versions of XEmacsen.

> It helps enough, because...

>> Anyway, can't we fire old XEmacsen even in Gnus v5.10?

> ...yes.  From XEmacs.org's point of view, packages only have to
> support from 21.4 onwards.

What I wished to say is that removing of run-at-time.el troubles
users of XEmacs 21.4.14 and older and XEmacs 21.5.17 and older.
Are you sure?



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

* Re: timers and itimers
  2005-01-27  2:37         ` Katsumi Yamaoka
@ 2005-01-27  4:43           ` Steve Youngs
  2005-01-27  5:43             ` Katsumi Yamaoka
  0 siblings, 1 reply; 10+ messages in thread
From: Steve Youngs @ 2005-01-27  4:43 UTC (permalink / raw)


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

* Katsumi Yamaoka <yamaoka@jpl.org> writes:

  > What I wished to say is that removing of run-at-time.el troubles
  > users of XEmacs 21.4.14 and older and XEmacs 21.5.17 and older.

Well, run-at-time.el doesn't exist in the 5.10 branch, so we have no
worries there.  And most of the people who use Gnus CVS HEAD would
more than likely be the type to keep their XEmacs and XEmacs packages
up to date as well.

Having to keep auxiliary software up to date to be able to run bleeding
edge development software like Gnus is normal.  It's just the price
you pay.

We could always put a test in gnus-xmas.el to check for the buggy
itimer.el and warn the user that they may experience problems and
should upgrade their XEmacs...

,----
| (when (or (and (eq emacs-minor-version 4)
|                (<= emacs-patch-level 14))
| 	    (and (eq emacs-minor-version 5)
| 	         (<= emacs-beta-version 17)))
|   (warn "Your version of XEmacs has a buggy itimer.
| You should upgrade to at least XEmacs %s"
| 	(if emacs-beta-version
| 	    "21.5.18"
| 	  "21.4.16")))
`----


-- 
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|                   Te audire no possum.                   |
|             Musa sapientum fixa est in aure.             |
|----------------------------------<steve@youngs.au.com>---|

[-- Attachment #2: Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: timers and itimers
  2005-01-27  4:43           ` Steve Youngs
@ 2005-01-27  5:43             ` Katsumi Yamaoka
  0 siblings, 0 replies; 10+ messages in thread
From: Katsumi Yamaoka @ 2005-01-27  5:43 UTC (permalink / raw)


>>>>> In <microsoft-free.87zmyvjxc5.fsf@youngs.au.com> Steve Youngs wrote:

> * Katsumi Yamaoka <yamaoka@jpl.org> writes:

>> What I wished to say is that removing of run-at-time.el troubles
>> users of XEmacs 21.4.14 and older and XEmacs 21.5.17 and older.

> Well, run-at-time.el doesn't exist in the 5.10 branch, so we have no
> worries there.

Oh, I recalled that there are `nnheader-xmas-run-at-time' and
`pgg-run-at-time' in the v5-10 branch.  They are the same as the
one that used to be in run-at-time.el.  So, I don't need to
worry about old XEmacs + Gnus v5-10 users; even if `run-at-time'
doesn't work correctly, it does no harm to Gnus.

> And most of the people who use Gnus CVS HEAD would more than likely
> be the type to keep their XEmacs and XEmacs packages up to date as
> well.

Indeed.

> Having to keep auxiliary software up to date to be able to run bleeding
> edge development software like Gnus is normal.  It's just the price
> you pay.

> We could always put a test in gnus-xmas.el to check for the buggy
> itimer.el and warn the user that they may experience problems and
> should upgrade their XEmacs...

> ,----
>| (when (or (and (eq emacs-minor-version 4)
>|                (<= emacs-patch-level 14))
>| 	    (and (eq emacs-minor-version 5)
>| 	         (<= emacs-beta-version 17)))
>|   (warn "Your version of XEmacs has a buggy itimer.
>| You should upgrade to at least XEmacs %s"
>| 	(if emacs-beta-version
>| 	    "21.5.18"
>| 	  "21.4.16")))
> `----

That's a good idea.  Although people who see such a warning
might be few, because those who use Gnus in which that code runs
seem to upgrade XEmacs everyday. ;-)



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

end of thread, other threads:[~2005-01-27  5:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-26  9:11 timers and itimers Steve Youngs
2005-01-26  9:29 ` Romain Francoise
2005-01-26 22:20   ` Steve Youngs
2005-01-27  1:09     ` Katsumi Yamaoka
2005-01-27  2:10       ` Steve Youngs
2005-01-27  2:37         ` Katsumi Yamaoka
2005-01-27  4:43           ` Steve Youngs
2005-01-27  5:43             ` Katsumi Yamaoka
2005-01-26 10:15 ` Simon Josefsson
2005-01-26 22:19   ` Steve Youngs

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 NNTP newsgroup(s).