mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-22 07:09:47 +00:00
org-macs.el: Move UUID related code
* org-id.el (org-id-uuid): Move to org-macs.el. * org.el (org-uuidgen-p): Move to org-macs.el. Expose regexp used to match UUID. * org-macs.el (org-uuid-regexp): Refactor `org-uuidgen-p' to expose regexp used to match UUID.
This commit is contained in:
parent
20b33106cd
commit
5a52ee57d4
@ -399,30 +399,6 @@ So a typical ID could look like \"Org:4nd91V40HI\"."
|
||||
(t (error "Invalid `org-id-method'")))
|
||||
(concat prefix unique)))
|
||||
|
||||
(defun org-id-uuid ()
|
||||
"Return string with random (version 4) UUID."
|
||||
(let ((rnd (md5 (format "%s%s%s%s%s%s%s"
|
||||
(random)
|
||||
(org-time-convert-to-list nil)
|
||||
(user-uid)
|
||||
(emacs-pid)
|
||||
(user-full-name)
|
||||
user-mail-address
|
||||
(recent-keys)))))
|
||||
(format "%s-%s-4%s-%s%s-%s"
|
||||
(substring rnd 0 8)
|
||||
(substring rnd 8 12)
|
||||
(substring rnd 13 16)
|
||||
(format "%x"
|
||||
(logior
|
||||
#b10000000
|
||||
(logand
|
||||
#b10111111
|
||||
(string-to-number
|
||||
(substring rnd 16 18) 16))))
|
||||
(substring rnd 18 20)
|
||||
(substring rnd 20 32))))
|
||||
|
||||
(defun org-id-int-to-b36-one-digit (integer)
|
||||
"Convert INTEGER between 0 and 61 into a single character 0..9, A..Z, a..z."
|
||||
(cond
|
||||
|
@ -829,6 +829,29 @@ When NEXT is non-nil, check the next line instead."
|
||||
When NEXT is non-nil, check the next line instead."
|
||||
(org--line-empty-p 2))
|
||||
|
||||
(defun org-id-uuid ()
|
||||
"Return string with random (version 4) UUID."
|
||||
(let ((rnd (md5 (format "%s%s%s%s%s%s%s"
|
||||
(random)
|
||||
(org-time-convert-to-list nil)
|
||||
(user-uid)
|
||||
(emacs-pid)
|
||||
(user-full-name)
|
||||
user-mail-address
|
||||
(recent-keys)))))
|
||||
(format "%s-%s-4%s-%s%s-%s"
|
||||
(substring rnd 0 8)
|
||||
(substring rnd 8 12)
|
||||
(substring rnd 13 16)
|
||||
(format "%x"
|
||||
(logior
|
||||
#b10000000
|
||||
(logand
|
||||
#b10111111
|
||||
(string-to-number
|
||||
(substring rnd 16 18) 16))))
|
||||
(substring rnd 18 20)
|
||||
(substring rnd 20 32))))
|
||||
|
||||
|
||||
;;; Motion
|
||||
@ -948,6 +971,15 @@ return nil."
|
||||
(require 'ffap)
|
||||
(and ffap-url-regexp (string-match-p ffap-url-regexp s)))
|
||||
|
||||
(defconst org-uuid-regexp
|
||||
"\\`[0-9a-f]\\{8\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{12\\}\\'"
|
||||
"Regular expression matching a universal unique identifier (UUID).")
|
||||
|
||||
(defun org-uuidgen-p (s)
|
||||
"Is S an ID created by UUIDGEN?"
|
||||
(string-match org-uuid-regexp (downcase s)))
|
||||
|
||||
|
||||
|
||||
;;; String manipulation
|
||||
|
||||
|
@ -18457,10 +18457,6 @@ With prefix arg UNCOMPILED, load the uncompiled versions."
|
||||
(setq s (replace-match "\\vert" t t s)))
|
||||
s)
|
||||
|
||||
(defun org-uuidgen-p (s)
|
||||
"Is S an ID created by UUIDGEN?"
|
||||
(string-match "\\`[0-9a-f]\\{8\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{12\\}\\'" (downcase s)))
|
||||
|
||||
(defun org-in-src-block-p (&optional inside element)
|
||||
"Whether point is in a code source block.
|
||||
When INSIDE is non-nil, don't consider we are within a source
|
||||
|
Loading…
Reference in New Issue
Block a user