فهرست منبع

Fixed bug related to repeating time stamps.

There was a problem that due dates in the past would not be advanced
property (reported by Wanrong Lin)
Carsten Dominik 17 سال پیش
والد
کامیت
9a44493492
2فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 4 0
      ChangeLog
  2. 2 2
      lisp/org.el

+ 4 - 0
ChangeLog

@@ -1,5 +1,9 @@
 2008-03-28  Carsten Dominik  <dominik@science.uva.nl>
 
+	* lisp/org.el (org-auto-repeat-maybe): Make sure that repeating
+	dates are pushed into the future, and that the shift is at least
+	one interval, never 0.
+
 	* lisp/org-agenda.el (org-agenda-deadline-leaders): Allow a
 	function value for the deadline leader.
 	(org-agenda-get-deadlines): Deal with new function value.

+ 2 - 2
lisp/org.el

@@ -8706,12 +8706,12 @@ This function is run automatically after each state change to a DONE state."
 	       (- (time-to-days (current-time)) (time-to-days time))
 	       'day))
 	     ((equal (match-string 1 ts) "+")
-	      (while (< (time-to-days time) (time-to-days (current-time)))
+	      (while (or (= nshift 0)
+			 (<= (time-to-days time) (time-to-days (current-time))))
 		(when (= (incf nshift) nshiftmax)
 		  (or (y-or-n-p (message "%d repeater intervals were not enough to shift date past today.  Continue? " nshift))
 		      (error "Abort")))
 		(org-timestamp-change n (cdr (assoc what whata)))
-		(sit-for .0001) ;; so we can watch the date shifting
 		(org-at-timestamp-p t)
 		(setq ts (match-string 1))
 		(setq time (save-match-data (org-time-string-to-time ts))))