diff -durN packages-orig/xemacs-packages/fsf-compat/timer.el packages/xemacs-packages/fsf-compat/timer.el --- packages-orig/xemacs-packages/fsf-compat/timer.el Mon Apr 6 12:42:07 1998 +++ packages/xemacs-packages/fsf-compat/timer.el Mon Jul 23 22:22:04 2001 @@ -45,7 +45,10 @@ TIME must be in the internal format returned by, e.g., `current-time'. If optional third argument DELTA is a non-zero integer, make the timer fire repeatedly that many seconds apart." - (set-itimer-value timer (itimer-time-difference time (current-time))) + (let ((timer-when (itimer-time-difference time (current-time)))) + (or (> timer-when 0) + (setq timer-when 1)) + (set-itimer-value timer timer-when)) (and delta (check-nonnegative-number delta)) (and delta (set-itimer-restart timer delta)) timer)