emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <cdominik@newartisans.com>
To: emacs-orgmode@gnu.org
Subject: [Accepted] Allow inactive timestamps in org-expiry (copy of lost patch)
Date: Tue, 24 May 2011 15:18:39 +0200 (CEST)	[thread overview]
Message-ID: <20110524131839.DED6445FFFA@u016822.science.uva.nl> (raw)
In-Reply-To: 20110328202149.67a32bdc@hsdev.com

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 <marcel@hsdev.com>
> X-Patchwork-Id: 722
> Message-Id: <20110328202149.67a32bdc@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:
>  
> 

      parent reply	other threads:[~2011-05-24 13:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-28 18:21 [PATCH] Allow inactive timestamps in org-expiry (copy of lost patch) Marcel van der Boom
2011-03-28 18:55 ` Nick Dokos
2011-03-28 20:21   ` Marcel van der Boom
2011-05-24 19:07   ` David Maus
2011-05-24 13:18 ` Carsten Dominik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110524131839.DED6445FFFA@u016822.science.uva.nl \
    --to=cdominik@newartisans.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).