Re: [Orgmode] [PATCH] Update all ++ repeaters in an entry (loop variables weren't getting reset)

2010-10-22 Thread Carsten Dominik

Applied, thanks.

- Carsten

On Oct 21, 2010, at 2:28 PM, Andrew J. Korty wrote:

See http://www.mail-archive.com/emacs-orgmode@gnu.org/msg30284.html.  
This patch is against release_7.01h.


ajk

---
lisp/org.el |   20 ++--
1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index d33bf4e..52e501e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11369,7 +11369,6 @@ This function is run automatically after  
each state change to a DONE state.

   (msg Entry repeats: )
   (org-log-done nil)
   (org-todo-log-states nil)
-(nshiftmax 10) (nshift 0)
   re type n what ts time to-state)
   (when repeat
 (if (eq org-log-repeat t) (setq org-log-repeat 'state))
@@ -11416,15 +11415,16 @@ 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 (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)))
-   (org-at-timestamp-p t)
-   (setq ts (match-string 1))
-   (setq time (save-match-data (org-time-string-to-time  
ts

+ (let ((nshiftmax 10) (nshift 0))
+   (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)))
+ (org-at-timestamp-p t)
+ (setq ts (match-string 1))
+ (setq time (save-match-data (org-time-string-to- 
time ts)

(org-timestamp-change (- n) (cdr (assoc what whata)))
;; rematch, so that we have everything in place for the  
real shift

(org-at-timestamp-p t)
--
1.7.3.1

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


- Carsten




___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] [PATCH] Update all ++ repeaters in an entry (loop variables weren't getting reset)

2010-10-21 Thread Andrew J. Korty
See http://www.mail-archive.com/emacs-orgmode@gnu.org/msg30284.html. 
This patch is against release_7.01h.


ajk

---
lisp/org.el |   20 ++--
1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index d33bf4e..52e501e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11369,7 +11369,6 @@ This function is run automatically after each state change 
to a DONE state.
(msg Entry repeats: )
(org-log-done nil)
(org-todo-log-states nil)
-(nshiftmax 10) (nshift 0)
re type n what ts time to-state)
(when repeat
  (if (eq org-log-repeat t) (setq org-log-repeat 'state))
@@ -11416,15 +11415,16 @@ 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 (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)))
-   (org-at-timestamp-p t)
-   (setq ts (match-string 1))
-   (setq time (save-match-data (org-time-string-to-time ts
+ (let ((nshiftmax 10) (nshift 0))
+   (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)))
+ (org-at-timestamp-p t)
+ (setq ts (match-string 1))
+ (setq time (save-match-data (org-time-string-to-time ts)
 (org-timestamp-change (- n) (cdr (assoc what whata)))
 ;; rematch, so that we have everything in place for the real shift
 (org-at-timestamp-p t)
--
1.7.3.1

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode