From mboxrd@z Thu Jan 1 00:00:00 1970 From: Niels Giesen Subject: Patch for bug in adjusting time ranges in Agenda Date: Sun, 02 Oct 2011 12:24:32 +0200 Message-ID: <87obxzitcv.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:41495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAJBM-00007d-UP for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:22:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RAJBL-000302-EV for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:22:04 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:48156) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAJBL-0002zv-9T for emacs-orgmode@gnu.org; Sun, 02 Oct 2011 06:22:03 -0400 Received: by eye13 with SMTP id 13so2353277eye.0 for ; Sun, 02 Oct 2011 03:22:02 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Orgmode 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 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