Function: uuid-from-string
uuid-from-string is a byte-compiled function defined in uuid.el.gz.
Signature
(uuid-from-string UUID-STR)
Documentation
Parse UUID-STR and return the appropriate UUID object.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/uuid.el.gz
(defun uuid-from-string (uuid-str)
"Parse UUID-STR and return the appropriate UUID object."
(let* ((parts (split-string uuid-str "-"))
(_ (unless (and (= (length parts) 5)
(= (length (nth 0 parts)) 8)
(= (length (nth 1 parts)) 4)
(= (length (nth 2 parts)) 4)
(= (length (nth 3 parts)) 4)
(= (length (nth 4 parts)) 12)
(string-match "^[0-9a-fA-F-]+$" uuid-str))
(signal 'uuid-invalid-string (list uuid-str))))
(hex-parts (mapcar (lambda (part) (string-to-number part 16)) parts))
(version (uuid--upper-bits (nth 2 hex-parts) 4 16))
(variant (uuid--upper-bits (nth 3 hex-parts) 2 16))
(high (uuid--concat-bits
(nth 0 hex-parts) 32
(nth 1 hex-parts) 16))
(mid (uuid--lower-bits (nth 2 hex-parts) 12))
(low
(uuid--concat-bits
(uuid--lower-bits (nth 3 hex-parts) 14) 14
(nth 4 hex-parts) 48)))
(uuid--from-parts high mid low version variant)))