Bastien <b...@altern.org> writes:
> My Gnus .overview has been corrupted and I lost track of the question.
> Can you restate it shortly here?

,----[ Original request as short as I can get it ]
| Michael is looking for a way to "bulk re'timestamp'" items 
| relativ to the timestamp the item has currently.
| This should work on region, subtree etc.
| He wants to avoid cloning and would prefer doing this 
| directly in the file, not with the agenda.
`----

Example:
--8<---------------cut here---------------start------------->8---
Before:
* Project A
** Task A
   SCHEDULED: <2011-07-16 Sa> 
** Taks B
   SCHEDULED: <2011-07-19 Di> 
** Task C
   SCHEDULED: <2011-07-21 Do> 

After "Bulk re-timestamp schedule +7d scope subtree" :
* Project A
** Task A
   SCHEDULED: <2011-07-23 Sa> 
** Taks B
   SCHEDULED: <2011-07-26 Di> 
** Task C
   SCHEDULED: <2011-07-28 Do> 
--8<---------------cut here---------------end--------------->8---

I said that the agenda seems to me the easiest way to do it.
>But the agenda is in many ways another interface to the org file.
(i.e. Agenda can be more than a calendar like presentation)
>And it supports limiting to: Region, Subtree, etc.
out of the box!

Prototype bulkshift by date:
#+begin_src emacs-lisp
(defun my-org-bulkshift-deadline ()
  "Shift the deadline of marked items in the agenda by 
  n days. Set n via Prefix Arg!"
  (interactive "P")
  (let* ((marker (or (org-get-at-bol 'org-hd-marker)
                     (org-agenda-error)))
         (buffer (marker-buffer marker)))
    (with-current-buffer buffer
      (save-excursion
        (save-restriction
          (widen)
          (goto-char marker)
          (org-back-to-heading t)
          (when (and (org-entry-get (point) "DEADLINE") ; There is a deadline 
there
                     (numberp current-prefix-arg))      ; And 
current-prefix-arg is a number
            (re-search-forward org-deadline-time-regexp)
            (org-timestamp-change current-prefix-arg 'day)))))))
#+end_src
Use: "M-15 B f my-org-bul<TAB>" 
in the agenda (limited to what you want, then marking the items.)

> I did only minimal testing so far, but the prototype
> seems to work and my-org-bulkshift-scheduled, -plain et al. can be easily 
> added and/or combined into one function.

Memnon "This is not really short :(" Anon


Reply via email to