emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [Accepted] Allow inactive timestamps in org-expiry (copy of lost pat


From: Carsten Dominik
Subject: [O] [Accepted] Allow inactive timestamps in org-expiry (copy of lost patch)
Date: Tue, 24 May 2011 15:18:39 +0200 (CEST)

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 <address@hidden>
> X-Patchwork-Id: 722
> Message-Id: <address@hidden>
> To: address@hidden
> 
> 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/address@hidden/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:
>  
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]