View file File name : ol.elc Content :;ELC ;;; Compiled ;;; in Emacs version 27.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 "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\311\304\321\322\323\324\325\305&\210\313\326\315\316\327DD\330\311\304\323\331\325\332& \210\313\333\315\316\334DD\335\311\304\323\336\325\337& \210\313\340\315\316\341DD\342\311\304\323\343\325\344& \210\313\345\315\316\346DD\347\311\304\323\350\325\351& \210\303\352\305\353\307\354\311\304&\210\313\355\315\316\356DD\357\311\352\323\360\325\337& \210\313\361\315\316\362DD\363\311\352\364\365\323\366\325\367&\210\313\370\315\316\371DD\372\311\352\323\373\325\305& \210\313\374\315\316\375DD\376\311\352\364\377\323\201@ \325\344&\210\313\201A \315\316\201B DD\201C \311\352\323\331\325\332& \210\313\201D \315\316\201E DD\201F \311\352\323\201G \325\305& \210\313\201H \315\316\201I DD\201J \311\352\364\377\323\201K \325\305&\210\313\201L \315\316\201M DD\201N \311\352\323\201O \325\305& \210\313\201P \315\316\201Q DD\201R \311\352\364\377\323\201K \325\305&\210\303\201S \305\201T \307\201U \311\304&\210\313\201V \315\316\201W DD\201X \311\201S \323\201Y \325\201Z & \210\313\201[ \315\316\201\\ DD\201] \311\201S \321\201^ \323\366\325\367&\210\313\201_ \315\316\201` DD\201a \311\201S \323\201K \325\367& \210\313\201b \315\316\201c DD\201d \311\201S \323\331\325\332& \207" [require org-compat org-macs custom-declare-group org-link nil "Options concerning links in Org mode." :tag "Org Link" :group org custom-declare-variable org-link-parameters funcall function #[0 "\300\207" [nil] 1] "An alist of properties that defines all the links in Org mode.\nThe key in each association is a string of the link type.\nSubsequent optional elements make up a plist of link properties.\n\n:follow - A function that takes the link path as an argument.\n\n:export - A function that takes the link path, description and\nexport-backend as arguments.\n\n:store - A function responsible for storing the link. See the\nfunction `org-store-link-functions'.\n\n:complete - A function that inserts a link with completion. The\nfunction takes one optional prefix argument.\n\n:face - A face for the link, or a function that returns a face.\nThe function takes one argument which is the link path. The\ndefault face is `org-link'.\n\n:mouse-face - The mouse-face. The default is `highlight'.\n\n:display - `full' will not fold the link in descriptive\ndisplay. Default is `org-link'.\n\n:help-echo - A string or function that takes (window object position)\nas arguments and returns a string.\n\n:keymap - A keymap that is active on the link. The default is\n`org-mouse-map'.\n\n:htmlize-link - A function for the htmlize-link. Defaults\nto (list :uri \"type:path\")\n\n:activate-func - A function to run at the end of font-lock\nactivation. The function must accept (link-start link-end path bracketp)\nas arguments." :package-version (Org . "9.1") :type (alist :tag "Link display parameters" :value-type plist) :safe org-link-descriptive #[0 "\300\207" [t] 1] "Non-nil means Org displays descriptive links.\n\nE.g. [[https://orgmode.org][Org website]] is be displayed as\n\"Org Website\", hiding the link itself and just displaying its\ndescription. When set to nil, Org displays the full links\nliterally.\n\nYou can interactively set the value of this variable by calling\n`org-toggle-link-display' or from the \"Org > Hyperlinks\" menu." boolean booleanp org-link-make-description-function #[0 "\300\207" [nil] 1] "Function to use for generating link descriptions from links.\nThis function must take two parameters: the first one is the\nlink, the second one is the description generated by\n`org-insert-link'. The function should return the description to\nuse." (choice (const nil) (function)) null org-link-file-path-type #[0 "\300\207" [adaptive] 1] "How the path name in file links should be stored.\nValid values are:\n\nrelative Relative to the current directory, i.e. the directory of the file\n into which the link is being inserted.\nabsolute Absolute path, if possible with ~ for home directory.\nnoabbrev Absolute path, no abbreviation of home directory.\nadaptive Use relative path for files in the current directory and sub-\n directories of it. For other files, use an absolute path." (choice (const relative) (const absolute) (const noabbrev) (const adaptive)) symbolp org-link-abbrev-alist #[0 "\300\207" [nil] 1] "Alist of link abbreviations.\nThe car of each element is a string, to be replaced at the start of a link.\nThe cdrs are replacement values, like (\"linkkey\" . REPLACE). Abbreviated\nlinks in Org buffers can have an optional tag after a double colon, e.g.,\n\n [[linkkey:tag][description]]\n\nThe `linkkey' must be a single word, starting with a letter, followed\nby letters, numbers, `-' or `_'.\n\nIf REPLACE is a string, the tag will simply be appended to create the link.\nIf the string contains \"%s\", the tag will be inserted there. If the string\ncontains \"%h\", it will cause a url-encoded version of the tag to be inserted\nat that point (see the function `url-hexify-string'). If the string contains\nthe specifier \"%(my-function)\", then the custom function `my-function' will\nbe invoked: this function takes the tag as its only argument and must return\na string.\n\nREPLACE may also be a function that will be called with the tag as the\nonly argument to create the link, which should be returned as a string.\n\nSee the manual for examples." (repeat (cons (string :tag "Protocol") (choice (string :tag "Format") (function)))) #[257 "\211:\205 \211@\211;\205 A\211;\205 \300\262\262\207" [t] 4 "\n\n(fn VAL)"] org-link-follow "Options concerning following links in Org mode." "Org Follow Link" org-link-translation-function #[0 "\300\207" [nil] 1] "Function to translate links with different syntax to Org syntax.\nThis can be used to translate links created for example by the Planner\nor emacs-wiki packages to Org syntax.\nThe function must accept two parameters, a TYPE containing the link\nprotocol name like \"rmail\" or \"gnus\" as a string, and the linked path,\nwhich is everything after the link protocol. It should return a cons\nwith possibly modified values of type and path.\nOrg contains a function for this, so if you set this variable to\n`org-translate-link-from-planner', you should be able follow many\nlinks created by planner." (choice (const nil) (function)) org-link-doi-server-url #[0 "\300\207" [#1="https://doi.org/"] 1 #1#] "The URL of the DOI server." :version "24.3" string stringp org-link-frame-setup #[0 "\300\207" [((vm . vm-visit-folder-other-frame) (vm-imap . vm-visit-imap-folder-other-frame) (gnus . org-gnus-no-new-news) (file . find-file-other-window) (wl . wl-other-frame))] 1] "Setup the frame configuration for following links.\nWhen following a link with Emacs, it may often be useful to display\nthis link in another window or frame. This variable can be used to\nset this up for the different types of links.\nFor VM, use any of\n `vm-visit-folder'\n `vm-visit-folder-other-window'\n `vm-visit-folder-other-frame'\nFor Gnus, use any of\n `gnus'\n `gnus-other-frame'\n `org-gnus-no-new-news'\nFor FILE, use any of\n `find-file'\n `find-file-other-window'\n `find-file-other-frame'\nFor Wanderlust use any of\n `wl'\n `wl-other-frame'\nFor the calendar, use the variable `calendar-setup'.\nFor BBDB, it is currently only possible to display the matches in\nanother window." (list (cons (const vm) (choice (const vm-visit-folder) (const vm-visit-folder-other-window) (const vm-visit-folder-other-frame))) (cons (const vm-imap) (choice (const vm-visit-imap-folder) (const vm-visit-imap-folder-other-window) (const vm-visit-imap-folder-other-frame))) (cons (const gnus) (choice (const gnus) (const gnus-other-frame) (const org-gnus-no-new-news))) (cons (const file) (choice (const find-file) (const find-file-other-window) (const find-file-other-frame))) (cons (const wl) (choice (const wl) (const wl-other-frame)))) org-link-search-must-match-exact-headline #[0 "\300\207" [query-to-create] 1] "Non-nil means internal fuzzy links can only match headlines.\n\nWhen nil, the a fuzzy link may point to a target or a named\nconstruct in the document. When set to the special value\n`query-to-create', offer to create a new headline when none\nmatched.\n\nSpaces and statistics cookies are ignored during heading searches." "24.1" (choice (const :tag "Use fuzzy text search" nil) (const :tag "Match only exact headline" t) (const :tag "Match exact headline or query to create it" query-to-create)) org-link-use-indirect-buffer-for-internals #[0 "\300\207" [nil] 1] "Non-nil means use indirect buffer to display infile links.\nActivating internal links (from one location in a file to another location\nin the same file) normally just jumps to the location. When the link is\nactivated with a `\\[universal-argument]' prefix (or with mouse-3), the link is displayed in\nanother window. When this option is set, the other window actually displays\nan indirect buffer clone of the current buffer, to avoid any visibility\nchanges to the current buffer." org-link-shell-confirm-function #[0 "\300\207" [yes-or-no-p] 1] "Non-nil means ask for confirmation before executing shell links.\n\nShell links can be dangerous: just think about a link\n\n [[shell:rm -rf ~/*][Google Search]]\n\nThis link would show up in your Org document as \"Google Search\",\nbut really it would remove your entire home directory.\nTherefore we advise against setting this variable to nil.\nJust change it to `y-or-n-p' if you want to confirm with a\nsingle keystroke rather than having to type \"yes\"." (choice (const :tag "with yes-or-no (safer)" yes-or-no-p) (const :tag "with y-or-n (faster)" y-or-n-p) (const :tag "no confirmation (dangerous)" nil)) org-link-shell-skip-confirm-regexp #[0 "\300\207" [#2=""] 1 #2#] "Regexp to skip confirmation for shell links." regexp org-link-elisp-confirm-function #[0 "\300\207" [yes-or-no-p] 1] "Non-nil means ask for confirmation before executing Emacs Lisp links.\nElisp links can be dangerous: just think about a link\n\n [[elisp:(shell-command \"rm -rf ~/*\")][Google Search]]\n\nThis link would show up in your Org document as \"Google Search\",\nbut really it would remove your entire home directory.\nTherefore we advise against setting this variable to nil.\nJust change it to `y-or-n-p' if you want to confirm with a\nsingle keystroke rather than having to type \"yes\"." (choice (const :tag "with yes-or-no (safer)" yes-or-no-p) (const :tag "with y-or-n (faster)" y-or-n-p) (const :tag "no confirmation (dangerous)" nil)) org-link-elisp-skip-confirm-regexp #[0 "\300\207" [#2#] 1 #2#] "A regexp to skip confirmation for Elisp links." org-link-store "Options concerning storing links in Org mode." "Org Store Link" org-link-context-for-files #[0 "\300\207" [t] 1] "Non-nil means file links from `org-store-link' contain context.\n\\<org-mode-map>\nA search string is added to the file name with \"::\" as separator\nand used to find the context when the link is activated by the command\n`org-open-at-point'. When this option is t, the entire active region\nis be placed in the search string of the file link. If set to a\npositive integer N, only the first N lines of context are stored.\n\nUsing a prefix argument to the command `org-store-link' (`\\[universal-argument] \\[org-store-link]')\nnegates this setting for the duration of the command." (choice boolean integer) #[257 "\300!\206 \211\250\207" [booleanp] 3 "\n\n(fn VAL)"] org-link-email-description-format #[0 "\300\207" [#3="Email %c: %s"] 1 #3#] "Format of the description part of a link to an email or usenet message.\nThe following %-escapes will be replaced by corresponding information:\n\n%F full \"From\" field\n%f name, taken from \"From\" field, address if no name\n%T full \"To\" field\n%t first name in \"To\" field, address if no name\n%c correspondent. Usually \"from NAME\", but if you sent it yourself, it\n will be \"to NAME\". See also the variable `org-from-is-user-regexp'.\n%s subject\n%d date\n%m message-id.\n\nYou may use normal field width specification between the % and the letter.\nThis is for example useful to limit the length of the subject.\n\nExamples: \"%f on: %.30s\", \"Email from %f\", \"Email %c\"" (Org . 9.3) org-link-from-user-regexp #[0 "\302!\205\f \303\304\305!\"\302 !\205 \303\304\305 !\"\203' \211\203' \306Q\202, \206, \211\207" [user-mail-address user-full-name org-string-nw-p format "\\<%s\\>" regexp-quote "\\|"] 5] "Regexp matched against the \"From:\" header of an email or Usenet message.\nIt should match if the message is from the user him/herself." org-link-keep-stored-after-insertion #[0 "\300\207" [nil] 1] "Non-nil means keep link in list for entire session.\n\\<org-mode-map>\nThe command `org-store-link' adds a link pointing to the current\nlocation to an internal list. These links accumulate during a session.\nThe command `org-insert-link' can be used to insert links into any\nOrg file (offering completion for all stored links).\n\nWhen this option is nil, every link which has been inserted once using\n`\\[org-insert-link]' will be removed from the list, to make completing the unused\nlinks more efficient."] 12) #@44 Regular expression matching a link target. (defconst org-target-regexp (byte-code "\300\301\302\211\211$\207" ["[^<>\n ]" format "<<\\(%s\\|%s[^<>\n ]*%s\\)>>"] 6) (#$ . 13704)) #@45 Regular expression matching a radio target. (defconst org-radio-target-regexp (format "<%s>" org-target-regexp) (#$ . 13891)) #@58 Regular expression matching radio targets in plain text. (defvar org-target-link-regexp nil (#$ . 14023)) (make-variable-buffer-local 'org-target-link-regexp) #@56 Matches a link that has a url-like prefix like "http:" (defvar org-link-types-re nil (#$ . 14188)) #@57 Matches link with angular brackets, spaces are allowed. (defvar org-link-angle-re nil (#$ . 14293)) #@37 Matches plain link, without spaces. (defvar org-link-plain-re nil (#$ . 14399)) #@36 Matches a link in double brackets. (defvar org-link-bracket-re nil (#$ . 14485)) #@39 Regular expression matching any link. (defvar org-link-any-re nil (#$ . 14572)) #@112 Buffer-local version of `org-link-abbrev-alist', which see. The value of this is taken from the LINK keywords. (defvar org-link-abbrev-alist-local nil (#$ . 14659)) (make-variable-buffer-local 'org-link-abbrev-alist-local) #@50 Contains the links stored with `org-store-link'. (defvar org-stored-links nil (#$ . 14888)) #@77 Plist with info about the most recently link created with `org-store-link'. (defvar org-store-link-plist nil (#$ . 14986)) #@1039 List of functions to construct the right search string for a file link. These functions are called in turn with point at the location to which the link should point. A function in the hook should first test if it would like to handle this file type, for example by checking the `major-mode' or the file extension. If it decides not to handle this file, it should just return nil to give other functions a chance. If it does handle the file, it must return the search string to be used when following the link. The search string will be part of the file link, given after a double colon, and `org-open-at-point' will automatically search for it. If special measures must be taken to make the search successful, another function should be added to the companion hook `org-execute-file-search-functions', which see. A function in this hook may also use `setq' to set the variable `description' to provide a suggestion for the descriptive text to be used for this link when it gets inserted into an Org buffer with \[org-insert-link]. (defvar org-create-file-search-functions nil (#$ . 15117)) #@1003 List of functions to execute a file search triggered by a link. Functions added to this hook must accept a single argument, the search string that was part of the file link, the part after the double colon. The function must first check if it would like to handle this search, for example by checking the `major-mode' or the file extension. If it decides not to handle this search, it should just return nil to give other functions a chance. If it does handle the search, it must return a non-nil value to keep other functions from trying. Each function can access the current prefix argument through the variable `current-prefix-arg'. Note that a single prefix is used to force opening a link in Emacs, so it may be good to only use a numeric or double prefix to guide the search function. In case this is needed, a function in this hook can also restore the window configuration before `org-open-at-point' was called using: (set-window-configuration org-window-config-before-follow-link) (defvar org-execute-file-search-functions nil (#$ . 16222)) #@766 Hook for functions finding a plain text link. These functions must take a single argument, the link content. They will be called for links that look like [[link text][description]] when LINK TEXT does not have a protocol like "http:" and does not look like a filename (e.g. "./blue.png"). These functions will be called *before* Org attempts to resolve the link by doing text searches in the current buffer - so if you want a link "[[target]]" to still find "<<target>>", your function should handle this as a special case. When the function does handle the link, it must return a non-nil value. If it decides that it is not responsible for this link, it must return nil to indicate that that Org can continue with other options like exact and fuzzy text search. (defvar org-open-link-functions nil (#$ . 17291)) #@50 Characters forbidden within a link, as a string. (defconst org-link--forbidden-chars "] \n <>" (#$ . 18112)) #@29 History for inserted links. (defvar org-link--history nil (#$ . 18227)) #@63 Minibuffer history for links inserted with `org-insert-link'. (defvar org-link--insert-history nil (#$ . 18305)) #@39 Non-nil when last link search failed. (defvar org-link--search-failed nil (#$ . 18424)) #@73 If there is completion support for link type TYPE, offer it. (fn TYPE) (defalias 'org-link--try-special-completion #[257 "\300\301\"\302!\203 \211 \202 \303\304\305P\"\207" [org-link-get-parameter :complete functionp read-string "Link (no completion support): " ":"] 6 (#$ . 18518)]) #@155 Return a human-readable representation of LINK. The car of LINK must be a raw link. The cdr of LINK must be either a link description or nil. (fn LINK) (defalias 'org-link--prettify #[257 "\211A@\206 \300\301\302\303\304G\305^#\"\306@\307R\207" ["<no description>" format "%-45s" substring 0 40 "<" ">"] 9 (#$ . 18815)]) #@207 Unhexify Unicode hex-chars HEX. E.g. "%C3%B6" is the German o-Umlaut. Note: this function also decodes single byte encodings like "%E1" (a-acute) if not followed by another "%[A-F0-9]{2}" group. (fn HEX) (defalias 'org-link--decode-compound #[257 "\300 \301\302\303\304\305!\306\"\307$\216\310\311\"A\312\302\211\203\264 \313\211A\262\242\314\"\302U\203k \211\315Y\2035 \316\315B\202n \211\317Y\203A \320\317B\202n \211\321Y\203M \322\321B\202n \211\323Y\203Y \307\323B\202n \211\324Y\203e \325\324B\202n \302\211B\202n \316\326B\324Y\203x \211@\262\327A\"\262\330@\"\\\262\302V\203\222 S\262\302U\203\245 \331!P\262\302\262\202\257 \204\257 \332!\262\266\202 \266\204)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 split-string "%" "" string-to-number 16 252 6 248 5 240 4 224 192 2 128 logxor lsh char-to-string org-link--decode-single-byte-sequence] 11 (#$ . 19149)]) #@68 Unhexify hex-encoded single byte character sequence HEX. (fn HEX) (defalias 'org-link--decode-single-byte-sequence #[257 "\300\301\302\303\"A\304#\207" [mapconcat #[257 "\300\301\302\"!\207" [char-to-string string-to-number 16] 5 "\n\n(fn BYTE)"] split-string "%" ""] 6 (#$ . 20111)]) #@58 Fontify links to the current file in `org-stored-links'. (defalias 'org-link--fontify-links-to-this-file #[0 "\301 \302\211\303\304\305\306\307\310!\311\"\312\313%\"\262\314\315!\203. \303\304\305\316\307\310!\317\"\320\313%\"\262\303\321\322\302\323\"\"\"\207" [org-stored-links buffer-file-name nil mapcar make-byte-code 257 "\211@\301\302\"\205 \300\303\304\305\"!\232\205 \211\207" vconcat vector [string-match "^file:\\(.+\\)::" expand-file-name match-string 1] 7 "\n\n(fn L)" featurep org-id "\211@\301\302\"\205 \300\303\304\305\306\"!\206 \307!\232\205 \211\207" [string-match "^id:\\(.+\\)$" expand-file-name org-id-find-id-file match-string 1 ""] 8 #[257 "\300\301G\302\303%\207" [put-text-property 0 face font-lock-comment-face] 7 "\n\n(fn L)"] delq append] 10 (#$ . 20405)]) #@65 Return buffer used for displaying the target of internal links. (defalias 'org-link--buffer-for-internals #[0 "\204 p\207\301\302\303 \"\203 \304\305!\210p\207\303 \302P\306!\206# \307p\310#r\211q\210\311 \210)\207" [org-link-use-indirect-buffer-for-internals string-suffix-p "(Clone)" buffer-name message "Buffer is already a clone, not making another one" get-buffer make-indirect-buffer clone org-overview] 5 (#$ . 21221)]) #@105 Search a radio target matching TARGET in current buffer. White spaces are not significant. (fn TARGET) (defalias 'org-link--search-radio-target #[257 "\300\301\302\303\304!\305#\"`eb\210\3062B \307\310\311#\203: \312u\210\313 \314!\315=\2036 \316\317\"b\210\320\321!\210\322\306\310\"\210\210\202 \211b\210\323\324\"0\207" [format "<<<%s>>>" mapconcat regexp-quote split-string "[ ]+\\(?:\n[ ]*\\)?" :radio-match re-search-forward nil t -1 org-element-context org-element-type radio-target org-element-property :begin org-show-context link-search throw user-error "No match for radio target: %s"] 7 (#$ . 21660)]) #@36 Return a list of known link types. (defalias 'org-link-types #[0 "\301\302\"\207" [org-link-parameters mapcar car] 3 (#$ . 22289)]) #@144 Get TYPE link property for KEY. TYPE is a string and KEY is a plist keyword. See `org-link-parameters' for supported keywords. (fn TYPE KEY) (defalias 'org-link-get-parameter #[514 "\301\302\"A\"\207" [org-link-parameters plist-get assoc] 6 (#$ . 22429)]) #@158 Set link TYPE properties to PARAMETERS. PARAMETERS should be keyword value pairs. See `org-link-parameters' for supported keys. (fn TYPE &rest PARAMETERS) (defalias 'org-link-set-parameters #[385 "\301\"\211\203 \211\302A\"\241\202# BB\303 \210\304\305!\205# \306 \207" [org-link-parameters assoc org-combine-plists org-link-make-regexps featurep org-element org-element-update-syntax] 7 (#$ . 22697)]) #@114 Update the link regular expressions. This should be called after the variable `org-link-parameters' has changed. (defalias 'org-link-make-regexps #[0 "\305\306 \307\"\310\311Q\312\313\"\314\315Q\316\317\320 \320\n\321\260\211\207" [org-link-types-re org-link-angle-re org-link-plain-re org-link-bracket-re org-link-any-re regexp-opt org-link-types t "\\`" ":" format "<%s:\\([^>\n]*\\(?:\n[ ]*[^> \n][^>\n]*\\)*\\)>" "\\<" ":\\([^][ \n()<>]+\\(?:([[:word:]0-9_]+)\\|\\([^[:punct:] \n]\\|/\\)\\)\\)" "\\[\\[\\(\\(?:\\\\\\\\\\)+\\|[^z-a]*?[^\\]\\(?:\\\\\\\\\\)*\\)]\\(?:\\[\\([^z-a]+?\\)]\\)?]" "\\(" "\\)\\|\\(" "\\)"] 8 (#$ . 23118)]) #@58 Create a file link using completion. (fn &optional ARG) (defalias 'org-link-complete-file #[256 "\300\301!\302\303\304!!\302\305\303\304!!!\306\232\203 \307\305\303!!P\202Q \310\311\312!\313Q\"\2034 \307\314\315\"P\202Q \310\311\312!\313Q\303!\"\203N \307\314\315\303!\"P\202Q \307P\207" [read-file-name "File: " file-name-as-directory expand-file-name "." abbreviate-file-name (16) "file:" string-match "^" regexp-quote "\\(.+\\)" match-string 1] 9 (#$ . 23773)]) #@202 Return the description part of an email link. This takes information from `org-store-link-plist' and formats it according to FMT (default from `org-link-email-description-format'). (fn &optional FMT) (defalias 'org-link-email-description #[256 "\211\206 \262 \303\304\"\303\305\"\306\303\307\"B\310\303\311\"B\312\303\313\"\206. \303\305\"\206. \314B\315\303\316\"B\317\303\320\"\206H \303\304\"\206H \314B\321\303 \322\"B\323\303\n\324\"B\325\303\326\"B\257\327\306\"\203\241 \n\203\230 \203\230 \203\230 \330 \331\332\333\334\335!\336\"\337$\216\327\n\")\262\203\230 \340\341\342\211$\262\202\241 \340\343\342\211$\262\344\"\207" [org-link-email-description-format org-store-link-plist org-link-from-user-regexp plist-get :toaddress :fromaddress "%c" :fromto "%F" :from "%f" :fromname "?" "%T" :to "%t" :toname "%s" :subject "%d" :date "%m" :message-id string-match match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 replace-match "to %t" t "from %f" org-replace-escapes] 15 (#$ . 24257)]) #@117 Store link properties. The properties are pre-processed by extracting names, addresses and dates. (fn &rest PLIST) (defalias 'org-link-store-props #[128 "\302\303\"\211\203 \304!\305\306@#\262\305\307A@#\262\210\210\302\310\"\211\203; \304!\305\311@#\262\305\312A@#\262\210\210\3131J \314\302\315\"!0\202L \210\316\211\203i \305\317\320\321\322!\"#\262\305\323\320\321\322\211\"\"#\262\210\302\303\"\302\310\"\203\221 \211\203\221 \203\221 \305\324\325\"\203\215 \326\202\216 \327#\262\266\211\211\207" [org-link-from-user-regexp org-store-link-plist plist-get :from mail-extract-address-components plist-put :fromname :fromaddress :to :toname :toaddress (error) date-to-time :date nil :date-timestamp format-time-string org-time-stamp-format t :date-timestamp-inactive :fromto string-match "to %t" "from %f"] 9 (#$ . 25336)]) #@67 Add these properties to the link property list. (fn &rest PLIST) (defalias 'org-link-add-props #[128 "\301\211\205 \211A\262\242\262\211A\262\242\262\302#\202 \207" [org-store-link-plist nil plist-put] 7 (#$ . 26205)]) #@168 Return percent escaped representation of string TEXT. TEXT is a string with the text to escape. TABLE is a list of characters that should be escaped. (fn TEXT TABLE) (defalias 'org-link-encode #[514 "\300\301\302\303\304\305!\306\"\307\310%\311#\207" [mapconcat make-byte-code 257 "\211\300>\203 \301\302\303\304\"\206 \305\306\"\307#\207\310!\207" vconcat vector [mapconcat #[257 "\300\301\"\207" [format "%%%.2X"] 4 "\n\n(fn E)"] encode-coding-char utf-8 error "Unable to percent escape character: %c" #1="" char-to-string] 6 "\n\n(fn C)" #1#] 9 (#$ . 26445)]) #@94 Decode percent-encoded parts in string S. E.g. "%C3%B6" becomes the german o-Umlaut. (fn S) (defalias 'org-link-decode #[257 "\300\301\302\303\211%\207" [replace-regexp-in-string "\\(%[0-9A-Za-z]\\{2\\}\\)+" org-link--decode-compound t] 7 (#$ . 27024)]) #@66 Backslash-escape sensitive characters in string LINK. (fn LINK) (defalias 'org-link-escape #[257 "\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216c\210\312\313\314x[\315\"c\210\316\317\314\320#\203@ \321\320\322!)\262\203 \312\313\314x[T\315\"c\210\202 \323 *\207" [inhibit-changing-match-data generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 make-string "\\\\" nil 92 search-backward "]" t "\\]\\(?:[][]\\|\\'\\)" looking-at buffer-string] 8 (#$ . 27286)]) #@67 Remove escaping backslash characters from string LINK. (fn LINK) (defalias 'org-link-unescape #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\212c\210)\311\312\313\314#\2034 \315\316\317\225\317\224Z\310\245\320\"\313\314\313\317%\210\202 db\210\321\322\313x[\310\245!\210\323 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 re-search-forward "\\(\\\\+\\)\\]\\(?:[][]\\|\\'\\)" nil t replace-match make-string 1 92 delete-char "\\\\" buffer-string] 8 (#$ . 27837)]) #@149 Make a bracket link, consisting of LINK and DESCRIPTION. LINK is escaped with backslashes for inclusion in buffer. (fn LINK &optional DESCRIPTION) (defalias 'org-link-make-string #[513 "\300!\204\n \301\302!\210\303!\304\305!\300!\205; \306\307\310\311Q\306\312\313P\314\306\203. \315\202/ \316\317\306\320\317##\266\202##\321\322\203I \321\323\"\202J \317#\207" [org-string-nw-p error "Empty link" org-link-escape string 8203 replace-regexp-in-string "\\(]\\)\\(]\\)" "\\1" "\\2" "]\\'" "\\&" nil "\\`\\([ ]*\n\\)+" "\\`[ \n ]+" "" "[ \n ]+\\'" format "[[%s]%s]" "[%s]"] 19 (#$ . 28410)]) #@990 List of functions that are called to create and store a link. The functions are defined in the `:store' property of `org-link-parameters'. Each function will be called in turn until one returns a non-nil value. Each function should check if it is responsible for creating this link (for example by looking at the major mode). If not, it must exit and return nil. If yes, it should return a non-nil value after calling `org-link-store-props' with a list of properties and values. Special properties are: :type The link prefix, like "http". This must be given. :link The link, like "http://www.astro.uva.nl/~dominik". This is obligatory as well. :description Optional default description for the second pair of brackets in an Org mode link. The user can still change this when inserting this link into an Org mode buffer. In addition to these, any additional properties can be specified and then used in capture templates. (defalias 'org-store-link-functions #[0 "\301\211\211:\203$ @\262\302@\303\"\262\203 B\262A\262\202 \211\237\207" [org-link-parameters nil org-link-get-parameter :store] 7 (#$ . 29025)]) #@109 Replace link abbreviations in LINK string. Abbreviations are defined in `org-link-abbrev-alist'. (fn LINK) (defalias 'org-link-expand-abbrev #[257 "\302\303\"\204 \207\304\305\"\306\"\206 \306 \"\307\225\205 \304\310\"\311\204) \202\305 A\262\3129\2039 !\202\304 \302\313\"\203\227 \314\304\305\"!\211\315N\316=\204V \211\317N\316=\203z \320\321 \322\323\324\325\326!\327\"\310$\216\314\304\305\"!!)\262\316\211$\202\222 \330\331\332\304\305\"#!\210\333\"\333 \"\262\202\304 \302\334\"\203\253 \320\206\244 \335\316\211$\202\304 \302\336\"\203\301 \320\337\206\271 \335!\316\211$\202\304 P!\207" [org-link-abbrev-alist-local org-link-abbrev-alist string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" match-string 1 assoc 2 3 nil substring-no-properties "%(\\([^)]+\\))" intern-soft org-link-abbrev-safe t pure replace-match match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] org-display-warning format "Disabling unsafe link abbrev: %s\nYou may mark function safe via (put '%s 'org-link-abbrev-safe t)" delete "%s" "" "%h" url-hexify-string] 15 (#$ . 30222)]) #@123 Open a link object LINK. Optional argument is passed to `org-open-file' when S is a "file" link. (fn LINK &optional ARG) (defalias 'org-link-open #[513 "\301\302\"\301\303\"\304\232\203\212 \305\306\307!\"\203 \310!\202\301\311\"\301\312\"\313\2032 \314Q\2023 \315\"\211\203G \211\205B \316PP!\202\205 \317\320\206^ \321\267\202] \322\202^ \323\202^ \324\204g \324\202\204 \325\324\326\305#)\266\203\203\200 \327!C\202\204 \324D$\266\203\202\330\313\315\"!\203\234 \313\315\"!\202\331\235\203 \332\333\"?\205\204\264 \334 \210\202\271 \335\336 !\210\212\214~\210\337\232\203\316 \340\301\303\"!\210\202\362 \341\342\267\202\342 \343P\202\343 \344\345\"\202\343 \346\232\205\360 \347\301\350\"\\\"\210`*eX\203 dY\204~\210\211b\262\202\351 \207" [inhibit-changing-match-data org-element-property :type :path "file" string-match "[*?{]" file-name-nondirectory dired :search-option :application org-link-get-parameter "+" :follow "::" apply org-open-file #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("emacs" 85 "sys" 89)) emacs system nil "\\`[0-9]+\\'" t string-to-number functionp ("coderef" "custom-id" "fuzzy" "radio") run-hook-with-args-until-success org-open-link-functions org-mark-ring-push switch-to-buffer-other-window org-link--buffer-for-internals "radio" org-link--search-radio-target org-link-search #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("custom-id" 213 "coderef" 219)) "#" format "(%s)" "fuzzy" 2 :begin browse-url-at-point] 18 (#$ . 31369)]) #@150 Open a link in the string S, as if it was in Org mode. Optional argument is passed to `org-open-file' when S is a "file" link. (fn S &optional ARG) (defalias 'org-link-open-from-string #[513 "\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216\312c\210\313 \210eb\210\314 +\262\211\204. \315\316\"\2025 \211\317\"\262\207" [org-inhibit-startup generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 nil org-mode org-element-link-parser user-error "No valid link in %S" org-link-open] 9 (#$ . 32991) "sLink: \nP"]) #@802 Search for a search string S. If S starts with "#", it triggers a custom ID search. If S is enclosed within parenthesis, it initiates a coderef search. If S is surrounded by forward slashes, it is interpreted as a regular expression. In Org mode files, this will create an `org-occur' sparse tree. In ordinary files, `occur' will be used to list matches. If the current buffer is in `dired-mode', grep will be used to search in all files. When AVOID-POS is given, ignore matches near that position. When optional argument STEALTH is non-nil, do not modify visibility around point, thus ignoring `org-show-context-detail' variable. Search is case-insensitive and ignores white spaces. Return type of matched result, which is either `dedicated' or `fuzzy'. (fn S &optional AVOID-POS STEALTH) (defalias 'org-link-search #[769 "\305!\204 \306\307\"\210\310`\311\312\313#\314!\315=\316\203&