[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Problem with hourly repeater
From: |
Nicolas Goaziou |
Subject: |
Re: [O] Problem with hourly repeater |
Date: |
Wed, 10 Oct 2012 16:14:38 +0200 |
Hello,
Memnon Anon <address@hidden> writes:
> I am trying the hourly repeaters and see a problem.
[...]
> Anyone else see this?
Yes, I confirm the bug.
Would you mind testing the following patch and tell me if it fixes the
problem without adding unwanted side-effects?
Thank you.
Regards,
--
Nicolas Goaziou
>From 3576891ba04992328576c1ea84a8958e4c0fa16c Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <address@hidden>
Date: Wed, 10 Oct 2012 16:11:41 +0200
Subject: [PATCH] Fix bug related to agenda bulding with hour repeaters
* lisp/org.el: Make `org-closest-date' aware of hours repeaters.
---
lisp/org.el | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/lisp/org.el b/lisp/org.el
index 59683bc..c69f0f3 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -16157,7 +16157,12 @@ When PREFER is `future', return a date that is either
CURRENT or future.
When SHOW-ALL is nil, only return the current occurrence of a time stamp."
;; Make the proper lists from the dates
(catch 'exit
- (let ((a1 '(("d" . day) ("w" . week) ("m" . month) ("y" . year)))
+ (let ((a1 '(("h" . hour)
+ ("d" . day)
+ ("w" . week)
+ ("m" . month)
+ ("y" . year)))
+ (shour (nth 2 (org-parse-time-string start)))
dn dw sday cday n1 n2 n0
d m y y1 y2 date1 date2 nmonths nm ny m2)
@@ -16177,6 +16182,11 @@ When SHOW-ALL is nil, only return the current
occurrence of a time stamp."
(error "Invalid change specifier: %s" change))
(if (eq dw 'week) (setq dw 'day dn (* 7 dn)))
(cond
+ ((eq dw 'hour)
+ (let ((missing-hours (mod (- (* 24 (- cday sday)) shour) dn)))
+ (setq n1 (if (zerop missing-hours) cday
+ (- cday (1+ (floor (/ missing-hours 24)))))
+ n2 (+ cday (floor (/ (- dn missing-hours) 24))))))
((eq dw 'day)
(setq n1 (+ sday (* dn (floor (/ (- cday sday) dn))))
n2 (+ n1 dn)))
--
1.7.12.2