MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/org/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/org/org-id.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:07:27 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/org/org-id.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\302\303!\210\304\305\306\307\310\311\312\303&\210\313\314\315\306#\210\316\306\211\203;	@\314N\2034\315N\2044\317\315\314N#\210	A\211\204*\320\314\315\321#\210\322\315\306\323\312\324\312\305\325\321\326\327&\210\322\330\331\332\312\305\326\333&\210\322\334\335\336\312\305\326\337&\210\322\340\306\341\312\305\326\342&\210\322\343\306\344\312\305\326\345&\210\322\346\347\350\312\305\326\345&\210\322\351\352\353\312\305\326\354&\207" [prop --dolist-tail-- require org custom-declare-group org-id nil "Options concerning global entry identifiers in Org-mode." :tag "Org ID" :group defvaralias org-link-to-org-use-id org-id-link-to-org-use-id (saved-value saved-variable-comment) put make-obsolete-variable "24.3" custom-declare-variable "Non-nil means storing a link to an Org file will use entry IDs.\n\nThe variable can have the following values:\n\nt     Create an ID if needed to make a link to the current entry.\n\ncreate-if-interactive\n      If `org-store-link' is called directly (interactively, as a user\n      command), do create an ID to support the link.  But when doing the\n      job for capture, only use the ID if it already exists.  The\n      purpose of this setting is to avoid proliferation of unwanted\n      IDs, just because you happen to be in an Org file when you\n      call `org-capture' that automatically and preemptively creates a\n      link.  If you do want to get an ID link in a capture template to\n      an entry not having an ID, create it first by explicitly creating\n      a link to it, using `C-c C-l' first.\n\ncreate-if-interactive-and-no-custom-id\n      Like create-if-interactive, but do not create an ID if there is\n      a CUSTOM_ID property defined in the entry.\n\nuse-existing\n      Use existing ID, do not create one.\n\nnil   Never use an ID to make a link, instead link using a text search for\n      the headline text." org-link-store :version :type (choice (const :tag "Create ID to make link" t) (const :tag "Create if storing link interactively" create-if-interactive) (const :tag "Create if storing link interactively and no CUSTOM_ID is present" create-if-interactive-and-no-custom-id) (const :tag "Only use existing" use-existing) (const :tag "Do not use ID to create link" nil)) org-id-uuid-program "uuidgen" "The uuidgen program." string org-id-method 'uuid "The method that should be used to create new IDs.\n\nAn ID will consist of the optional prefix specified in `org-id-prefix',\nand a unique part created by the method this variable specifies.\n\nAllowed values are:\n\norg        Org's own internal method, using an encoding of the current time to\n           microsecond accuracy, and optionally the current domain of the\n           computer.  See the variable `org-id-include-domain'.\n\nuuid       Create random (version 4) UUIDs.  If the program defined in\n           `org-id-uuid-program' is available it is used to create the ID.\n           Otherwise an internal functions is used." (choice (const :tag "Org's internal method" org) (const :tag "external: uuidgen" uuid)) org-id-prefix "The prefix for IDs.\n\nThis may be a string, or it can be nil to indicate that no prefix is required.\nWhen a string, the string should have no space characters as IDs are expected\nto have no space characters in them." (choice (const :tag "No prefix") (string :tag "Prefix")) org-id-include-domain "Non-nil means add the domain name to new IDs.\nThis ensures global uniqueness of IDs, and is also suggested by\nRFC 2445 in combination with RFC 822.  This is only relevant if\n`org-id-method' is `org'.  When uuidgen is used, the domain will never\nbe added.\nThe default is to not use this because we have no really good way to get\nthe true domain, and Org entries will normally not be shared with enough\npeople to make this necessary." boolean org-id-track-globally t "Non-nil means track IDs through files, so that links work globally.\nThis work by maintaining a hash table for IDs and writing this table\nto disk when exiting Emacs.  Because of this, it works best if you use\na single Emacs process, not many.\n\nWhen nil, IDs are not tracked.  Links to IDs will still work within\na buffer, but not if the entry is located in another file.\nIDs can still be used if the entry with the id is in the same file as\nthe link." org-id-locations-file (convert-standard-filename "~/.emacs.d/.org-id-locations") "The file for remembering in which file an ID was defined.\nThis variable is only relevant when `org-id-track-globally' is set." file] 13)
#@40 List of files with IDs in those files.
(defvar org-id-locations nil (#$ . 5109))
#@33 List of files that contain IDs.
(defvar org-id-files nil (#$ . 5196))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\207" [custom-declare-variable org-id-extra-files 'org-agenda-text-search-extra-files "Files to be searched for IDs, besides the agenda files.\nWhen Org reparses files to remake the list of files and IDs it is tracking,\nit will normally scan the agenda files, the archives related to agenda files,\nany files that are listed as ID containing in the current register, and\nany Org-mode files currently visited by Emacs.\nYou can list additional files here.\nThis variable is only relevant when `org-id-track-globally' is set." :group org-id :type (choice (symbol :tag "Variable") (repeat :tag "List of files" (file))) org-id-search-archives t "Non-nil means search also the archive files of agenda files for entries.\nThis is a possibility to reduce overhead, but it means that entries moved\nto the archives can no longer be found by ID.\nThis variable is only relevant when `org-id-track-globally' is set." boolean] 8)
#@161 Create an ID for the current entry and return it.
If the entry already has an ID, just return it.
With optional argument FORCE, force the creation of a new ID.
(defalias 'org-id-get-create #[(&optional force) "\203\n\301`\302\303#\210\304`\305\"\207" [force org-entry-put "ID" nil org-id-get create] 4 (#$ . 6278) "P"])
#@80 Copy the ID of the entry at point to the kill ring.
Create an ID if necessary.
(defalias 'org-id-copy #[nil "\300\301\302\303\"!\207" [org-kill-new org-id-get nil create] 4 (#$ . 6606) nil])
#@329 Get the ID property of the entry at point-or-marker POM.
If POM is nil, refer to the entry at point.
If the entry does not have an ID, the function returns nil.
However, when CREATE is non nil, create an ID if none is present already.
PREFIX will be passed through to `org-id-new'.
In any case, the ID of the entry is returned.
(defalias 'org-id-get #[(&optional pom create prefix) "\212\305	!\203\306	!q\210\212	\206`b\210\307\310\311\"\211\203/\n;\203/\312\313\n\"\203/\n\202F\205F\314\f!\315\311\n#\210\316\n\317\320 !\"\210\n,\207" [pom #1=#:--mpom id create prefix markerp marker-buffer org-entry-get nil "ID" string-match "\\S-" org-id-new org-entry-put org-id-add-location buffer-file-name buffer-base-buffer] 5 (#$ . 6804)])
#@283 Use `outline-path-completion' to retrieve the ID of an entry.
TARGETS may be a setting for `org-refile-targets' to define
eligible headlines.  When omitted, all headlines in the current
file are eligible.  This function returns the ID of the entry.
If necessary, the ID is created.
(defalias 'org-id-get-with-outline-path-completion #[(&optional targets) "\206\306\211\211@@)\203\307\202\310\311\312\313!\211\205*\314 \315
8\316
A@!\223\317\320\"\311\211\223\210-\207" [targets org-refile-targets x org-refile-use-outline-path org-refile-target-verify-function spos ((nil :maxlevel . 10)) file t nil org-refile-get-location "Entry" make-marker 3 get-file-buffer org-id-get create pom] 5 (#$ . 7559)])
#@205 Use an outline-cycling interface to retrieve the ID of an entry.
This only finds entries in the current buffer, using `org-get-location'.
It returns the ID of the entry.  If necessary, the ID is created.
(defalias 'org-id-get-with-outline-drilling #[(&optional targets) "\303p\"\211\205\304 	@\305\223\306\n\307\"\n\305\211\223\210*\207" [org-goto-help spos pom org-get-location make-marker nil org-id-get create] 5 (#$ . 8286)])
#@101 Switch to the buffer containing the entry with id ID.
Move the cursor to that entry in that buffer.
(defalias 'org-id-goto #[(id) "\302\303\"\211\204\304\305\"\210\306\307	!!\210	b\210	\310\211\223\210\311 )\207" [id m org-id-find marker error "Cannot find entry with ID \"%s\"" org-pop-to-buffer-same-window marker-buffer nil org-show-context] 4 (#$ . 8728) "sID: "])
#@217 Return the location of the entry with the id ID.
The return value is a cons cell (file-name . position), or nil
if there is no entry with that ID.
With optional argument MARKERP, return the position as a new marker.
(defalias 'org-id-find #[(id &optional markerp) "9\203\f\305!\202\247\203\306!\307!\310\211\211\203'\311\f#	\204>\312\310\313\"\210\307!\211\203>\311\f#	+\207" [id where org-agenda-new-buffers file markerp symbol-name number-to-string org-id-find-id-file nil org-id-find-id-in-file org-id-update-id-locations t] 5 (#$ . 9109)])
#@402 Create a new globally unique ID.

An ID consists of two parts separated by a colon:
- a prefix
- a unique part that will be created according to `org-id-method'.

PREFIX can specify the prefix, the default is given by the variable
`org-id-prefix'.  However, if PREFIX is the symbol `none', don't use any
prefix even if `org-id-prefix' specifies one.

So a typical ID could look like "Org:4nd91V40HI".
(defalias 'org-id-new #[(&optional prefix) "\306=\203\n\307\202\206	\310P\311\310\232\203\307\312>\2034\313\314\f!!\315\n!\204[\316 \202[\317=\203W\320\321 !\205L\322\323!\210\324\325 P
P*\202[\326\327!\210\nP*\207" [prefix org-id-prefix unique org-id-method org-id-uuid-program etime none "" ":" nil (uuidgen uuid) org-trim shell-command-to-string org-uuidgen-p org-id-uuid org org-id-reverse-string org-id-time-to-b36 require message "@" message-make-fqdn error "Invalid `org-id-method'" org-id-include-domain postfix] 3 (#$ . 9686)])
#@45 Return string with random (version 4) UUID.
(defalias 'org-id-uuid #[nil "\302\303\304\305 \306 \307 \310 \311 \312 &!\303\313	\314\315O	\315\316O	\317\320O\303\321\322\323\324	\320\325O\320\"\326\"\327\"\"	\325\330O	\330\331O&)\207" [user-mail-address rnd md5 format "%s%s%s%s%s%s%s" random current-time user-uid emacs-pid user-full-name recent-keys "%s-%s-4%s-%s%s-%s" 0 8 12 13 16 "%x" logior logand string-to-number 18 191 128 20 32] 13 (#$ . 10662)])
(defalias 'org-id-reverse-string #[(s) "\302\303\304	\305\")\237\306#\207" [s string mapconcat char-to-string append nil ""] 5])
#@76 Turn an integer between 0 and 61 into a single character 0..9, A..Z, a..z.
(defalias 'org-id-int-to-b36-one-digit #[(i) "\301W\203\n\302\\\207\303W\203\304\305\306#\207\307\310!\207" [i 10 48 36 + 97 -10 error "Larger that 35"] 4 (#$ . 11259)])
#@115 Turn a character 0..9, A..Z, a..z into a number 0..61.
The input I may be a character, or a single-letter string.
(defalias 'org-id-b36-to-int-one-digit #[(i) ";\203	\301!\302Y\203\303X\203\302Z\207\304Y\203+\305X\203+\304Z\306\\\207\307\310!\207" [i string-to-char 48 57 97 122 10 error "Invalid b36 letter"] 2 (#$ . 11518)])
#@65 Convert an integer to a base-36 number represented as a string.
(defalias 'org-id-int-to-b36 #[(i &optional length) "\303	\304V\203\305\306\307	\310\"!!P	\310\245\211\202\311\n\206!\311]G\nW\2034\312\nGZ\313\"P)\207" [s i length "" 0 char-to-string org-id-int-to-b36-one-digit mod 36 1 make-string 48] 6 (#$ . 11867)])
#@58 Convert a base-36 string into the corresponding integer.
(defalias 'org-id-b36-to-int #[(s) "\302\303\304	\"\210)\207" [r s 0 mapc #[(i) "\302_\303	!\\\211\207" [r i 36 org-id-b36-to-int-one-digit] 3]] 3 (#$ . 12208)])
#@130 Encode TIME as a 10-digit string.
This string holds the time to micro-second accuracy, and can be decoded
using `org-id-decode'.
(defalias 'org-id-time-to-b36 #[(&optional time) "\206\301 \302@\303\"\302A@\303\"\302\3048\206\305\303\"Q\207" [time current-time org-id-int-to-b36 4 2 0] 5 (#$ . 12438)])
#@202 Split ID into the prefix and the time value that was used to create it.
The return value is (prefix . time) where PREFIX is nil or a string,
and time is the usual three-integer representation of time.
(defalias 'org-id-decode #[(id) "\304\211\211\305\306\"\211G\307U\203@A@\202!\304@\310	!\311	\312\313O!\311	\313\314O!\311	\314\315O!E\n	+B\207" [parts time prefix id nil org-split-string ":" 2 org-id-reverse-string org-id-b36-to-int 0 4 8 12] 7 (#$ . 12756)])
#@319 Scan relevant files for IDs.
Store the relation between files and corresponding IDs.
This will scan all agenda files, all associated archives, and all
files currently mentioned in `org-id-locations'.
When FILES is given, scan these files instead.
When CHECK is given, prepare detailed information about duplicate IDs.
(defalias 'org-id-update-id-locations #[(&optional files silent) "\204\306\307!\207	\206\n9\205\nJ\205\310\n\235\2068\311\312\313	\"\n9\203-\nJ\202.\n\314\315\316\317\320 \"\"\f$\315\211)\315\211*+\315\211,-\315\211./\3150\3211\310\235\203c\314\310\322!\"G*\211A@\211)\2032\204\204\323\324*GZ*)$\210\325)!+\326)!\203g+0\235\204g+0B0\315,r\327)!q\210\212\214~\210eb\210\330\331\315\313#\203\n\332\31534\33343\"*\211/.\235\203\371\323\334/\314\315\316\335-\"\"@\206\341\336 #\2101\321U\203\361\337 \210\340\341!\2101T1\202\261/.B./,B,\202\261\342)!,B-B-+\202g\343
!\210\315-5\316\3445\"\345 \210\3465!51\321V\203C\323\3471\"\210\202I\323\350\fG\"\2105.\f\207" [org-id-track-globally org-id-search-archives org-id-extra-files files org-id-files org-agenda-new-buffers error "Please turn on `org-id-track-globally' if you want to track IDs" agenda-archives append org-agenda-files t delq nil mapcar #[(b) "rq\210\301\302!\205\f\303 )\207" [b derived-mode-p org-mode buffer-file-name] 2] buffer-list 0 copy-sequence message "Finding ID locations (%d/%d files): %s" file-truename file-exists-p org-get-agenda-file-buffer re-search-forward "^[ 	]*:ID:[ 	]+\\(\\S-+\\)[ 	]*$" 1 match-string-no-properties "Duplicate ID \"%s\", also in file %s" #[(x) "	A\235\205		@\207" [id x] 2] buffer-file-name ding sit-for 2 abbreviate-file-name org-release-buffers car org-id-locations-save org-id-alist-to-hash "WARNING: %d duplicate IDs found, check *Messages* buffer" "%d unique files scanned for IDs" file nfiles tfile ids reg found id seen ndup silent string num org-id-locations] 9 (#$ . 13242) nil])
#@53 Save `org-id-locations' in `org-id-locations-file'.
(defalias 'org-id-locations-save #[nil "\2056	\2056\306	!\203\307	!\202	\310\311\312!!\313\216r\fq\210\314\np\")r\fq\210\315\316\211
\316\317%\210-\207" [org-id-track-globally org-id-locations out org-id-locations-file #1=#:temp-buffer #2=#:temp-file hash-table-p org-id-hash-to-alist get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) print write-region nil 0] 7 (#$ . 15251)])
#@45 Read the data from `org-id-locations-file'.
(defalias 'org-id-locations-load #[nil "\304	\205 \305\306!r\nq\210\307\216\304\310\311\217\210+\312\313\"\314!\211\207" [org-id-locations org-id-track-globally #1=#:temp-buffer org-id-files nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) (byte-code "\302!\210eb\210\303p!\302\207" [org-id-locations-file org-id-locations insert-file-contents-literally read] 2) ((error (message "Could not read org-id-values from %s.  Setting it to nil." org-id-locations-file))) mapcar car org-id-alist-to-hash] 3 (#$ . 15786)])
#@64 Add the ID with location FILE to the database of ID locations.
(defalias 'org-id-add-location #[(id file) "\205!	\205!\n\205!\204\304 \210\305	\306\n!#\210\307\310\306\n!\"\207" [org-id-track-globally id file org-id-locations org-id-locations-load puthash abbreviate-file-name add-to-list org-id-files] 4 (#$ . 16425)])
(byte-code "\204	\301\302\303\"\210\301\207" [noninteractive add-hook kill-emacs-hook org-id-locations-save] 3)
#@73 Turn an org-id hash into an alist, so that it can be written to a file.
(defalias 'org-id-hash-to-alist #[(hash) "\303\211\304\305\n\"\210	*\207" [x res hash nil maphash #[(k v) "	\235\211\203\n\nAB\241\207D	B\211\207" [v res x k] 3]] 3 (#$ . 16873)])
#@49 Turn an org-id location list into a hash table.
(defalias 'org-id-alist-to-hash #[(list) "\303\304\305\306\307\310\311\312\"\"$\313\314\315\"\210\n*\207" [list f res make-hash-table :test equal :size apply + mapcar length nil mapc #[(x) "@\302\303A\"\207" [x f mapc #[(i) "\303	\n#\207" [i f res puthash] 4]] 3]] 9 (#$ . 17141)])
#@58 Update any IDs in TXT and assign BUFFER-OR-FILE to them.
(defalias 'org-id-paste-tracker #[(txt &optional buffer-or-file) "\205C\306 \307\216\n\206p\310\n!\203!\311\n!\206\n\312\n!\n\205B\313\n!\314\315\316
#\205A\314\225\317\320\321
\"\f\"\210\202+**\207" [org-id-track-globally save-match-data-internal buffer-or-file s fname txt match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) bufferp buffer-base-buffer buffer-file-name abbreviate-file-name 0 string-match "^[ 	]*:ID:[ 	]+\\([^ 	\n
]+\\)" org-id-add-location match-string 1] 4 (#$ . 17485)])
#@65 Query the id database for the file in which this ID is located.
(defalias 'org-id-find-id-file #[(id) "\204\302 \210\203\303!\203\304	\"\206!\305\306p!\206 p!\207" [org-id-locations id org-id-locations-load hash-table-p gethash buffer-file-name buffer-base-buffer] 3 (#$ . 18104)])
#@257 Return the position of the entry ID in FILE.
If that files does not exist, or if it does not contain this ID,
return nil.
The position is returned as a cons cell (file-name . position).  With
optional argument MARKERP, return the position as a new marker.
(defalias 'org-id-find-id-in-file #[(id file &optional markerp) "\306\211\211\204\306\2028\307!\204\306\2028r\310!\211q\210\311\f!\211\2057
\2034\312 	\223\2027B)+\207" [pos buf org-agenda-new-buffers file id markerp nil file-exists-p org-get-agenda-file-buffer org-find-entry-with-id make-marker] 4 (#$ . 18405)])
#@50 Store a link to the current entry, using its ID.
(defalias 'org-id-store-link #[nil "\304\305 !\205?\306\307!\205?\310\311 P\312\212\313\314!\210\315\n!\2030\316\225\203*\317\316!\202-\317\320!\2061)\321\322\323\324\325&\210+\207" [link case-fold-search org-complex-heading-regexp desc buffer-file-name buffer-base-buffer derived-mode-p org-mode "id:" org-id-get-create nil org-back-to-heading t looking-at 4 match-string 0 org-store-link-props :link :description :type "id"] 7 (#$ . 19002) nil])
#@29 Go to the entry with id ID.
(defalias 'org-id-open #[(id) "\304 \210\305\306\"\307\211\204\310\311\"\210\312\236A\313\236A\206\314p\315\n!\232\204-	\315\n!!\210\nb\210\n\307\211\223\210\316 *\207" [id cmd m org-link-frame-setup org-mark-ring-push org-id-find marker nil error "Cannot find entry with ID \"%s\"" file ((find-file . switch-to-buffer) (find-file-other-window . switch-to-buffer-other-window) (find-file-other-frame . switch-to-buffer-other-frame)) switch-to-buffer-other-window marker-buffer org-show-context] 4 (#$ . 19519)])
(byte-code "\300\301\302\"\210\303\304!\207" [org-add-link-type "id" org-id-open provide org-id] 3)

MMCT - 2023