emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] [PATCH 2/3] Provide customization variable `org-clone-delete-i


From: David Maus
Subject: [Orgmode] [PATCH 2/3] Provide customization variable `org-clone-delete-id'.
Date: Wed, 19 May 2010 20:53:26 +0200

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  <address@hidden>
 
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




reply via email to

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