Patch 722 (http://patchwork.newartisans.com/patch/722/) is now "Accepted".
Maintainer comment: none This relates to the following submission: http://mid.gmane.org/%3C20110328202149.67a32bdc%40hsdev.com%3E Here is the original message containing the patch: > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Subject: [O] Allow inactive timestamps in org-expiry (copy of lost patch) > Date: Mon, 28 Mar 2011 22:21:49 -0000 > From: Marcel van der Boom <mar...@hsdev.com> > X-Patchwork-Id: 722 > Message-Id: <20110328202149.67a32...@hsdev.com> > To: emacs-orgmode@gnu.org > > Hi, > > Attached is a patch to org-expiry.el in contrib/lisp to allow a > customization of the timestamps inserted by org-expiry for 'CREATED' > and 'EXPIRED' properties. > > This patch is what is attached to the message displayed at [1]. I have > been using this patch for a while and it works fine. From searching it > looks like this patch was 'forgotten', but I may have overlooked > something. > > If the patch was rejected, you can ignore me. If it was forgotten I'd > like to request to include it. > > Thx, > marcel > > [1] http://www.mail-archive.com/emacs-orgmode@gnu.org/msg20882.html > > > diff --git a/contrib/lisp/org-expiry.el b/contrib/lisp/org-expiry.el > index 4a49399..930b921 100644 > --- a/contrib/lisp/org-expiry.el > +++ b/contrib/lisp/org-expiry.el > @@ -81,6 +81,11 @@ > :tag "Org Expiry" > :group 'org) > > +(defcustom org-expiry-inactive-timestamps nil > + "Insert inactive timestamps for the created and expired time properties" > + :type 'boolean > + :group 'org-expiry) > + > (defcustom org-expiry-created-property-name "CREATED" > "The name of the property for setting the creation date." > :type 'string > @@ -283,21 +288,25 @@ to today's date. With two `C-u' prefixes, prompt the > user for to > update the date." > (interactive "P") > (let* ((d (org-entry-get (point) org-expiry-created-property-name)) > - d-time d-hour) > + d-time d-hour timestr) > (when (or (null d) arg) > ;; update if no date or non-nil prefix argument > ;; FIXME Use `org-time-string-to-time' > - (setq d-time (if d (apply 'encode-time (org-parse-time-string d)) > + (setq d-time (if d (org-time-string-to-time d) > (current-time))) > (setq d-hour (format-time-string "%H:%M" d-time)) > + (setq timestr > + ;; two C-u prefixes will call org-read-date > + (if (equal arg '(16)) > + (concat "<" (org-read-date > + nil nil nil nil d-time d-hour) ">") > + (format-time-string (cdr org-time-stamp-formats)))) > + ;; maybe transform to inactive timestamp > + (if org-expiry-inactive-timestamps > + (setq timestr (concat "[" (substring timestr 1 -1) "]"))) > (save-excursion > (org-entry-put > - (point) org-expiry-created-property-name > - ;; two C-u prefixes will call org-read-date > - (if (equal arg '(16)) > - (concat "<" (org-read-date > - nil nil nil nil d-time d-hour) ">") > - (format-time-string (cdr org-time-stamp-formats)))))))) > + (point) org-expiry-created-property-name timestr))))) > > (defun org-expiry-insert-expiry (&optional today) > "Insert a property with the expiry date. > @@ -306,15 +315,20 @@ and insert today's date." > (interactive "P") > (let* ((d (org-entry-get (point) org-expiry-expiry-property-name)) > d-time d-hour) > - (setq d-time (if d (apply 'encode-time (org-parse-time-string d)) > + (setq d-time (if d (org-time-string-to-time d) > (current-time))) > (setq d-hour (format-time-string "%H:%M" d-time)) > + (setq timestr (if today > + (format-time-string (cdr org-time-stamp-formats)) > + (concat "<" (org-read-date > + nil nil nil nil d-time d-hour) ">"))) > + ;; maybe transform to inactive timestamp > + (if org-expiry-inactive-timestamps > + (setq timestr (concat "[" (substring timestr 1 -1) "]"))) > + > (save-excursion > (org-entry-put > - (point) org-expiry-expiry-property-name > - (if today (format-time-string (cdr org-time-stamp-formats)) > - (concat "<" (org-read-date > - nil nil nil nil d-time d-hour) ">")))))) > + (point) org-expiry-expiry-property-name timestr)))) > > ;;; Functions to process expired entries: > >