Has this one slipped through (as I were posting two other patches round the same date, one also having to do with date/time ranges in the agenda -- which were both accepted), or am I just impatient?
On Sun, Oct 2, 2011 at 12:24 PM, Niels Giesen
<address@hidden> wrote:
Hi Orgers,
The discussion in the recent thread "Time range end in agenda view not
displayed" prompted me to take a closer look at time/date ranges in the
Agenda view. I noticed that the commands `org-agenda-do-date-later' and
`org-agenda-do-date-earlier' do not work correctly on timestamp ranges,
in that they only shift the rightmost timestamp in the range. The patch
below should fix this.
#+begin_src diff
From 2e6b64dc8dcae0fd312729af96ab10d8d2e9d91b Mon Sep 17 00:00:00 2001
From: Niels Giesen <address@hidden>
Date: Sun, 2 Oct 2011 09:15:21 +0200
Subject: [PATCH] Fix shift-adjusting time and date ranges from within Agenda.
,* org-mode/lisp/org-agenda.el (org-agenda-date-later): Adjust both
start and end timestamp for a range, and set
`org-last-changed-timestamp' to a representation of the new range.
---
lisp/org-agenda.el | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index b1fa5f5..e4c1053 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7517,7 +7517,13 @@ the same tree node, and the headline of the tree node in the Org-mode file."
(goto-char pos)
(if (not (org-at-timestamp-p))
(error "Cannot find time stamp"))
- (org-timestamp-change arg (or what 'day)))
+ (org-timestamp-change arg (or what 'day))
+ (when (org-at-date-range-p)
+ (let ((end org-last-changed-timestamp))
+ (re-search-backward org-tr-regexp-both)
+ (org-timestamp-change arg (or what 'day))
+ (setq org-last-changed-timestamp
+ (concat org-last-changed-timestamp "--" end)))))
(org-agenda-show-new-time marker org-last-changed-timestamp))
(message "Time stamp changed to %s" org-last-changed-timestamp)))
--
1.7.2.5
#+end_src
Regards,
niels
--
http://pft.github.com
--
http://pft.github.com