From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Maus Subject: [PATCH 2/3] Provide customization variable `org-clone-delete-id'. Date: Wed, 19 May 2010 20:53:26 +0200 Message-ID: <1274295207-4961-2-git-send-email-dmaus@ictsoc.de> References: <1274295207-4961-1-git-send-email-dmaus@ictsoc.de> Return-path: Received: from [140.186.70.92] (port=47470 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OEoPR-0006SK-59 for emacs-orgmode@gnu.org; Wed, 19 May 2010 14:54:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OEoPN-0006L2-44 for emacs-orgmode@gnu.org; Wed, 19 May 2010 14:54:25 -0400 Received: from mysql1.xlhost.de ([213.202.242.106]:41930) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OEoPM-0006Ku-Qg for emacs-orgmode@gnu.org; Wed, 19 May 2010 14:54:21 -0400 In-Reply-To: <1274295207-4961-1-git-send-email-dmaus@ictsoc.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org When non-nil, clones of a subtree don't inherit the ID property. Otherwise they do and it will be set to a new unique identifier. --- lisp/ChangeLog | 3 +++ lisp/org.el | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ec2fa36..ba65761 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -4,6 +4,9 @@ when cache was cleared. (org-clone-subtree-with-time-shift): Maybe create ID property in cloned subtrees. + (org-clone-delete-id): New customization variable. + (org-clone-subtree-with-time-shift): Use customization + variable `org-clone-delete-id'. 2010-05-17 Carsten Dominik diff --git a/lisp/org.el b/lisp/org.el index 64da60a..88d636d 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -105,6 +105,13 @@ (require 'org-footnote) ;;;; Customization variables +(defcustom org-clone-delete-id nil + "Remove ID property of clones of a subtree. +When non-nil, clones of a subtree don't inherit the ID property. +Otherwise they inherit the ID property with a new unique +identifier." + :type 'boolean + :group 'org-id) ;;; Version @@ -7204,13 +7211,18 @@ and still retain the repeater to cover future instances of the task." (with-temp-buffer (insert template) (org-mode) - (org-id-get-create t) + (goto-char (point-min)) + (if org-clone-delete-id + (org-entry-delete nil "ID") + (org-id-get-create t)) (buffer-string)))) (with-temp-buffer (insert template) (org-mode) (goto-char (point-min)) - (if idprop (org-id-get-create t)) + (and idprop (if org-clone-delete-id + (org-entry-delete nil "ID") + (org-id-get-create t))) (while (re-search-forward org-ts-regexp-both nil t) (org-timestamp-change (* n shift-n) shift-what)) (unless (= n n-no-remove) -- 1.7.1