commit | author | age
|
76bbd0
|
1 |
;ELC |
C |
2 |
;;; Compiled |
|
3 |
;;; in Emacs version 26.1 |
|
4 |
;;; with all optimizations. |
|
5 |
|
|
6 |
;;; This file uses dynamic docstrings, first added in Emacs 19.29. |
|
7 |
|
|
8 |
;;; This file does not contain utf-8 non-ASCII characters, |
|
9 |
;;; and so can be loaded in Emacs versions earlier than 23. |
|
10 |
|
|
11 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
12 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
13 |
|
|
14 |
|
|
15 |
(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require org avl-tree cl-lib] 2) |
|
16 |
#@228 Regexp to separate paragraphs in an Org buffer. |
|
17 |
In the case of lines starting with "#" and ":", this regexp |
|
18 |
is not sufficient to know if point is at a paragraph ending. See |
|
19 |
`org-element-paragraph-parser' for more information. |
|
20 |
(defvar org-element-paragraph-separate nil (#$ . 495)) |
|
21 |
#@282 Regexp possibly matching the beginning of an object. |
|
22 |
This regexp allows false positives. Dedicated parser (e.g., |
|
23 |
`org-export-bold-parser') will take care of further filtering. |
|
24 |
Radio links are not matched by this regexp, as they are treated |
|
25 |
specially in `org-element--object-lex'. |
|
26 |
(defvar org-element--object-regexp nil (#$ . 784)) |
|
27 |
#@32 Build variable syntax regexps. |
|
28 |
(defalias 'org-element--set-regexps #[0 "\306\307\310\307\311\307\312\313\307\314\307\315\307\316\317\307\320\307\321\307\322\307\323\307\324 !\307\n\325\267\202+ \326\202, \327\202, \330\2051 \331\332\333\333\334\260\266\202\335\260\336\337\340\341 !\342\343\344\345\346
8\"P\347\350Q\351\352\353\354\333Q\355\356\357\257\n\262\307#\2110\207" [org-outline-regexp org-clock-string org-plain-list-ordered-item-terminator org-list-allow-alphabetical org-element-paragraph-separate org-emphasis-regexp-components "^\\(?:" "\\|" "\\[fn:[-_[:word:]]+\\]" "%%(" "[ ]*\\(?:" "$" "|" "\\+\\(?:-+\\+\\)+[ ]*$" "#\\(?: \\|$\\|\\+\\(?:" "BEGIN_\\S-+" "\\S-+\\(?:\\[.*\\]\\)?:[ ]*\\)\\)" ":\\(?: \\|$\\|[-_[:word:]]+:[ ]*$\\)" "-\\{5,\\}[ ]*$" "\\\\begin{\\([A-Za-z0-9*]+\\)}" regexp-quote #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (41 35 46 39)) ")" "\\." "[.)]" "\\|[A-Za-z]" "\\(?:[-+*]\\|\\(?:[0-9]+" "\\)" "\\(?:[ ]\\|$\\)" "\\)\\)" mapconcat identity regexp-opt org-link-types "\\(?:[_^][-{(*+.,[:alnum:]]\\)" "[*~=+_/]" format "[^%s]" 2 "\\<" ":" "\\[\\(?:fn:\\|\\[\\|[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\|[0-9]*\\(?:%\\|/[0-9]*\\)\\]\\)" "@@" "{{{" "<\\(?:%%\\|<\\|[0-9]\\|" "\\$" "\\\\\\(?:[a-zA-Z[(]\\|\\\\[ ]*$\\|_ +\\)" "\\(?:call\\|src\\)_" org-element--object-regexp] 35 (#$ . 1122)]) |
|
29 |
(org-element--set-regexps) |
|
30 |
#@26 Update parser internals. |
|
31 |
(defalias 'org-element-update-syntax #[0 "\300 \210\301\302!\207" [org-element--set-regexps org-element-cache-reset all] 2 (#$ . 2538) nil]) |
|
32 |
#@33 Complete list of element types. |
|
33 |
(defconst org-element-all-elements '(babel-call center-block clock comment comment-block diary-sexp drawer dynamic-block example-block export-block fixed-width footnote-definition headline horizontal-rule inlinetask item keyword latex-environment node-property paragraph plain-list planning property-drawer quote-block section special-block src-block table table-row verse-block) (#$ . 2710)) |
|
34 |
#@55 List of recursive element types aka Greater Elements. |
|
35 |
(defconst org-element-greater-elements '(center-block drawer dynamic-block footnote-definition headline inlinetask item plain-list property-drawer quote-block section special-block table) (#$ . 3141)) |
|
36 |
#@32 Complete list of object types. |
|
37 |
(defconst org-element-all-objects '(bold code entity export-snippet footnote-reference inline-babel-call inline-src-block italic line-break latex-fragment link macro radio-target statistics-cookie strike-through subscript superscript table-cell target timestamp underline verbatim) (#$ . 3402)) |
|
38 |
#@33 List of recursive object types. |
|
39 |
(defconst org-element-recursive-objects '(bold footnote-reference italic link subscript radio-target strike-through superscript table-cell underline) (#$ . 3734)) |
|
40 |
#@68 List of object or element types that can directly contain objects. |
|
41 |
(defconst org-element-object-containers (append org-element-recursive-objects '(paragraph table-row verse-block)) (#$ . 3935)) |
|
42 |
#@163 List of affiliated keywords as strings. |
|
43 |
By default, all keywords setting attributes (e.g., "ATTR_LATEX") |
|
44 |
are affiliated keywords and need not to be in this list. |
|
45 |
(defconst org-element-affiliated-keywords '("CAPTION" "DATA" "HEADER" "HEADERS" "LABEL" "NAME" "PLOT" "RESNAME" "RESULT" "RESULTS" "SOURCE" "SRCNAME" "TBLNAME") (#$ . 4136)) |
|
46 |
#@169 Alist of usual translations for keywords. |
|
47 |
The key is the old name and the value the new one. The property |
|
48 |
holding their value will be named after the translated name. |
|
49 |
(defconst org-element-keyword-translation-alist '(("DATA" . "NAME") ("LABEL" . "NAME") ("RESNAME" . "NAME") ("SOURCE" . "NAME") ("SRCNAME" . "NAME") ("TBLNAME" . "NAME") ("RESULT" . "RESULTS") ("HEADERS" . "HEADER")) (#$ . 4479)) |
|
50 |
#@411 List of affiliated keywords that can occur more than once in an element. |
|
51 |
|
|
52 |
Their value will be consed into a list of strings, which will be |
|
53 |
returned as the value of the property. |
|
54 |
|
|
55 |
This list is checked after translations have been applied. See |
|
56 |
`org-element-keyword-translation-alist'. |
|
57 |
|
|
58 |
By default, all keywords setting attributes (e.g., "ATTR_LATEX") |
|
59 |
allow multiple occurrences and need not to be in this list. |
|
60 |
(defconst org-element-multiple-keywords '("CAPTION" "HEADER") (#$ . 4884)) |
|
61 |
#@244 List of affiliated keywords whose value can be parsed. |
|
62 |
|
|
63 |
Their value will be stored as a secondary string: a list of |
|
64 |
strings and objects. |
|
65 |
|
|
66 |
This list is checked after translations have been applied. See |
|
67 |
`org-element-keyword-translation-alist'. |
|
68 |
(defconst org-element-parsed-keywords '("CAPTION") (#$ . 5376)) |
|
69 |
#@118 Alist of parsed keywords and associated properties. |
|
70 |
This is generated from `org-element-parsed-keywords', which |
|
71 |
see. |
|
72 |
(defconst org-element--parsed-properties-alist (mapcar #[257 "\211\300\301\227P!B\207" [intern ":"] 5 "\n\n(fn K)"] org-element-parsed-keywords) (#$ . 5690)) |
|
73 |
#@377 List of affiliated keywords which can have a secondary value. |
|
74 |
|
|
75 |
In Org syntax, they can be written with optional square brackets |
|
76 |
before the colons. For example, RESULTS keyword can be |
|
77 |
associated to a hash value with the following: |
|
78 |
|
|
79 |
#+RESULTS[hash-string]: some-source |
|
80 |
|
|
81 |
This list is checked after translations have been applied. See |
|
82 |
`org-element-keyword-translation-alist'. |
|
83 |
(defconst org-element-dual-keywords '("CAPTION" "RESULTS") (#$ . 5973)) |
|
84 |
#@244 Regexp matching any affiliated keyword. |
|
85 |
|
|
86 |
Keyword name is put in match group 1. Moreover, if keyword |
|
87 |
belongs to `org-element-dual-keywords', put the dual value in |
|
88 |
match group 2. |
|
89 |
|
|
90 |
Don't modify it, set `org-element-affiliated-keywords' instead. |
|
91 |
(defconst org-element--affiliated-re (byte-code "\302\303\302\304\305!\"\306\302\307\305\310\311 \"!\"\306\312\260\"\207" [org-element-dual-keywords org-element-affiliated-keywords format "[ ]*#\\+\\(?:%s\\):[ ]*" "\\(?1:%s\\)\\(?:\\[\\(.*\\)\\]\\)?" regexp-opt "\\|" "\\(?1:%s\\)" cl-remove-if #[257 "\211\235\207" [org-element-dual-keywords] 3 "\n\n(fn K)"] "\\(?1:ATTR_[-_A-Za-z0-9]+\\)"] 10) (#$ . 6428)) |
|
92 |
#@494 Alist of objects restrictions. |
|
93 |
|
|
94 |
key is an element or object type containing objects and value is |
|
95 |
a list of types that can be contained within an element or object |
|
96 |
of such type. |
|
97 |
|
|
98 |
For example, in a `radio-target' object, one can only find |
|
99 |
entities, latex-fragments, subscript, superscript and text |
|
100 |
markup. |
|
101 |
|
|
102 |
This alist also applies to secondary string. For example, an |
|
103 |
`headline' type element doesn't directly contain objects, but |
|
104 |
still has an entry since one of its properties (`:title') does. |
|
105 |
(defconst org-element-object-restrictions (byte-code "\301\302\"\301\303\"\304B\305B\306B\307B\310B\311B\312\301\305\n\"B\313\314\nB\315\316\fB\317
B\320B\321\322\323B\324B\257\207" [org-element-all-objects remq table-cell line-break bold footnote-reference headline inlinetask italic item keyword (link bold code entity export-snippet inline-babel-call inline-src-block italic latex-fragment macro statistics-cookie strike-through subscript superscript underline verbatim) paragraph (radio-target bold code entity italic latex-fragment strike-through subscript superscript underline superscript) strike-through subscript superscript (table-cell bold code entity export-snippet footnote-reference italic latex-fragment link macro radio-target strike-through subscript superscript target timestamp underline verbatim) (table-row table-cell) underline verse-block] 20) (#$ . 7092)) |
|
106 |
#@64 Alist between element types and locations of secondary values. |
|
107 |
(defconst org-element-secondary-value-alist '((headline :title) (inlinetask :title) (item :tag)) (#$ . 8492)) |
|
108 |
#@90 Table used internally to pair only round brackets. |
|
109 |
Other brackets are treated as spaces. |
|
110 |
(defconst org-element--pair-round-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\306\211\203\" |