mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-12-28 10:56:57 +00:00
Use new customization value for `org-id-method'.
Silently accept the old value for backward compatibility.
This commit is contained in:
parent
aa0004004b
commit
d6064d2cdf
@ -2,6 +2,9 @@
|
||||
|
||||
* org-id.el (org-id-uuid): New function. Return string with
|
||||
random (version 4) UUID.
|
||||
(org-id-method): Make 'uuid the new default value.
|
||||
(org-id-new): Use `org-id-uuid' if call to uuidgen program
|
||||
does not return a UUID.
|
||||
|
||||
2010-05-15 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
|
@ -37,8 +37,9 @@
|
||||
;; time of the ID, with microsecond accuracy. This virtually
|
||||
;; guarantees globally unique identifiers, even if several people are
|
||||
;; creating IDs at the same time in files that will eventually be used
|
||||
;; together. As an external method `uuidgen' is supported, if installed
|
||||
;; on the system.
|
||||
;; together.
|
||||
;;
|
||||
;; By default Org uses UUIDs as global unique identifiers.
|
||||
;;
|
||||
;; This file defines the following API:
|
||||
;;
|
||||
@ -84,18 +85,9 @@
|
||||
:group 'org-id
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-id-method
|
||||
(condition-case nil
|
||||
(if (string-match "\\`[-0-9a-fA-F]\\{36\\}\\'"
|
||||
(org-trim (shell-command-to-string
|
||||
org-id-uuid-program)))
|
||||
'uuidgen
|
||||
'org)
|
||||
(error 'org))
|
||||
(defcustom org-id-method 'uuid
|
||||
"The method that should be used to create new IDs.
|
||||
|
||||
If `uuidgen' is available on the system, it will be used as the default method.
|
||||
if not, the method `org' is used.
|
||||
An ID will consist of the optional prefix specified in `org-id-prefix',
|
||||
and a unique part created by the method this variable specifies.
|
||||
|
||||
@ -105,11 +97,13 @@ org Org's own internal method, using an encoding of the current time to
|
||||
microsecond accuracy, and optionally the current domain of the
|
||||
computer. See the variable `org-id-include-domain'.
|
||||
|
||||
uuidgen Call the external command uuidgen."
|
||||
uuid Create random (version 4) UUIDs. If the program defined in
|
||||
`org-id-uuid-program' is available it is used to create the ID.
|
||||
Otherwise an internal functions is used."
|
||||
:group 'org-id
|
||||
:type '(choice
|
||||
(const :tag "Org's internal method" org)
|
||||
(const :tag "external: uuidgen" uuidgen)))
|
||||
(const :tag "external: uuidgen" uuid)))
|
||||
|
||||
(defcustom org-id-prefix nil
|
||||
"The prefix for IDs.
|
||||
@ -306,8 +300,10 @@ So a typical ID could look like \"Org:4nd91V40HI\"."
|
||||
unique)
|
||||
(if (equal prefix ":") (setq prefix ""))
|
||||
(cond
|
||||
((eq org-id-method 'uuidgen)
|
||||
(setq unique (org-trim (shell-command-to-string org-id-uuid-program))))
|
||||
((memq org-id-method '(uuidgen uuid))
|
||||
(setq unique (org-trim (shell-command-to-string org-id-uuid-program)))
|
||||
(unless (org-uuidgen-p unique)
|
||||
(setq unique (org-id-uuid))))
|
||||
((eq org-id-method 'org)
|
||||
(let* ((etime (org-id-reverse-string (org-id-time-to-b36)))
|
||||
(postfix (if org-id-include-domain
|
||||
|
Loading…
Reference in New Issue
Block a user