mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-21 5ddac8bd2392ec5b64392e8750d725029bf5aa79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
;ELC
;;; Compiled
;;; in Emacs version 26.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&\210\313\323\315\316\324DD\325\311\304\326\327\321\330&    \210\313\331\315\316\332DD\333\311\304\321\334&\210\313\335\315\316\336DD\337\311\304\321\334&\210\313\340\315\316\341DD\342\311\304\321\343&\210\313\344\315\316\345DD\346\311\304\321\347&\210\313\350\315\316\351DD\352\311\304\321\353&\210\313\354\315\316\355DD\356\311\304\321\357&\210\313\360\315\316\361DD\362\311\304\321\363&\210\313\364\315\316\365DD\366\311\304\321\367&\210\313\370\315\316\371DD\372\311\304\321\373&\210\313\374\315\316\375DD\376\311\304\321\373&\210\313\377\315\316\201@DD\201A\311\304\321\201B&\210\313\201C\315\316\201DDD\201E\311\304\321\373&\210\313\201F\315\316\201GDD\201H\311\304\321\201I&\210\313\201J\315\316\201KDD\201L\311\304\326\327\321\201M&    \207" [require cl-lib ox-ascii custom-declare-group org-export-icalendar nil "Options specific for iCalendar export back-end." :tag "Org Export iCalendar" :group org-export custom-declare-variable org-icalendar-combined-agenda-file funcall function #[0 "\300\207" [#1="~/org.ics"] 1 #1#] "The file name for the iCalendar file covering all agenda files.\nThis file is created with the command `\\[org-icalendar-combine-agenda-files]'.\nThe file name should be absolute.  It will be overwritten without warning." :type file org-icalendar-alarm-time #[0 "\300\207" [0] 1] "Number of minutes for triggering an alarm for exported timed events.\n\nA zero value (the default) turns off the definition of an alarm trigger\nfor timed events.  If non-zero, alarms are created.\n\n- a single alarm per entry is defined\n- The alarm will go off N minutes before the event\n- only a DISPLAY action is defined." :version "24.1" integer org-icalendar-combined-name #[0 "\300\207" [#2="OrgMode"] 1 #2#] "Calendar name for the combined iCalendar representing all agenda files." string org-icalendar-combined-description #[0 "\300\207" [#3=""] 1 #3#] "Calendar description for the combined iCalendar (all agenda files)." org-icalendar-exclude-tags #[0 "\300\207" [nil] 1] "Tags that exclude a tree from export.\nThis variable allows specifying different exclude tags from other\nback-ends.  It can also be set with the ICALENDAR_EXCLUDE_TAGS\nkeyword." (repeat (string :tag "Tag")) org-icalendar-use-deadline #[0 "\300\207" [(event-if-not-todo todo-due)] 1] "Contexts where iCalendar export should use a deadline time stamp.\n\nThis is a list with possibly several symbols in it.  Valid symbols are:\n\n`event-if-todo'       Deadlines in TODO entries become calendar events.\n`event-if-not-todo'   Deadlines in non-TODO entries become calendar events.\n`todo-due'            Use deadlines in TODO entries as due-dates." (set :greedy t (const :tag "Deadlines in non-TODO entries become events" event-if-not-todo) (const :tag "Deadline in TODO entries become events" event-if-todo) (const :tag "Deadlines in TODO entries become due-dates" todo-due)) org-icalendar-use-scheduled #[0 "\300\207" [(todo-start)] 1] "Contexts where iCalendar export should use a scheduling time stamp.\n\nThis is a list with possibly several symbols in it.  Valid symbols are:\n\n`event-if-todo'       Scheduling time stamps in TODO entries become an event.\n`event-if-not-todo'   Scheduling time stamps in non-TODO entries become an event.\n`todo-start'          Scheduling time stamps in TODO entries become start date.\n                      Some calendar applications show TODO entries only after\n                      that date." (set :greedy t (const :tag "SCHEDULED timestamps in non-TODO entries become events" event-if-not-todo) (const :tag "SCHEDULED timestamps in TODO entries become events" event-if-todo) (const :tag "SCHEDULED in TODO entries become start date" todo-start)) org-icalendar-categories #[0 "\300\207" [(local-tags category)] 1] "Items that should be entered into the \"categories\" field.\n\nThis is a list of symbols, the following are valid:\n`category'    The Org mode category of the current file or tree\n`todo-state'  The todo state, if any\n`local-tags'  The tags, defined in the current line\n`all-tags'    All tags, including inherited ones." (repeat (choice (const :tag "The file or tree category" category) (const :tag "The TODO state" todo-state) (const :tag "Tags defined in current line" local-tags) (const :tag "All tags, including inherited ones" all-tags))) org-icalendar-with-timestamps #[0 "\300\207" [active] 1] "Non-nil means make an event from plain time stamps.\n\nIt can be set to `active', `inactive', t or nil, in order to make\nan event from, respectively, only active timestamps, only\ninactive ones, all of them or none.\n\nThis variable has precedence over `org-export-with-timestamps'.\nIt can also be set with the #+OPTIONS line, e.g. \"<:t\"." (choice (const :tag "All timestamps" t) (const :tag "Only active timestamps" active) (const :tag "Only inactive timestamps" inactive) (const :tag "No timestamp" nil)) org-icalendar-include-todo #[0 "\300\207" [nil] 1] "Non-nil means create VTODO components from TODO items.\n\nValid values are:\nnil                  don't include any task.\nt                    include tasks that are not in DONE state.\n`unblocked'          include all TODO items that are not blocked.\n`all'                include both done and not done items." (choice (const :tag "None" nil) (const :tag "Unfinished" t) (const :tag "Unblocked" unblocked) (const :tag "All" all) (repeat :tag "Specific TODO keywords" (string :tag "Keyword"))) org-icalendar-include-bbdb-anniversaries #[0 "\300\207" [nil] 1] "Non-nil means a combined iCalendar file should include anniversaries.\nThe anniversaries are defined in the BBDB database." boolean org-icalendar-include-sexps #[0 "\300\207" [t] 1] "Non-nil means export to iCalendar files should also cover sexp entries.\nThese are entries like in the diary, but directly in an Org file." org-icalendar-include-body #[0 "\300\207" [t] 1] "Amount of text below headline to be included in iCalendar export.\nThis is a number of characters that should maximally be included.\nProperties, scheduling and clocking lines will always be removed.\nThe text will be inserted into the DESCRIPTION field." (choice (const :tag "Nothing" nil) (const :tag "Everything" t) (integer :tag "Max characters")) org-icalendar-store-UID #[0 "\300\207" [nil] 1] "Non-nil means store any created UIDs in properties.\n\nThe iCalendar standard requires that all entries have a unique identifier.\nOrg will create these identifiers as needed.  When this variable is non-nil,\nthe created UIDs will be stored in the ID property of the entry.  Then the\nnext time this entry is exported, it will be exported with the same UID,\nsuperseding the previous form of it.  This is essential for\nsynchronization services.\n\nThis variable is not turned on by default because we want to avoid creating\na property drawer in every entry if people are only playing with this feature,\nor if they are only using it locally." org-icalendar-timezone #[0 "\300\301!\207" [getenv "TZ"] 2] "The time zone string for iCalendar export.\nWhen nil or the empty string, use output\nfrom (current-time-zone)." (choice (const :tag "Unspecified" nil) (string :tag "Time zone")) org-icalendar-date-time-format #[0 "\300\207" [#4=":%Y%m%dT%H%M%S"] 1 #4#] "Format-string for exporting icalendar DATE-TIME.\n\nSee `format-time-string' for a full documentation.  The only\ndifference is that `org-icalendar-timezone' is used for %Z.\n\nInteresting value are:\n - \":%Y%m%dT%H%M%S\" for local time\n - \";TZID=%Z:%Y%m%dT%H%M%S\" for local time with explicit timezone\n - \":%Y%m%dT%H%M%SZ\" for time expressed in Universal Time" (choice (const :tag "Local time" ":%Y%m%dT%H%M%S") (const :tag "Explicit local time" ";TZID=%Z:%Y%m%dT%H%M%S") (const :tag "Universal time" ":%Y%m%dT%H%M%SZ") (string :tag "Explicit format"))] 10)
#@203 Hook run after an iCalendar file has been saved.
This hook is run with the name of the file as argument.  A good
way to use this is to tell a desktop calendar application to
re-read the iCalendar file.
(defvar org-icalendar-after-save-hook nil (#$ . 8339))
(org-export-define-derived-backend 'icalendar 'ascii :translate-alist '((clock . ignore) (footnote-definition . ignore) (footnote-reference . ignore) (headline . org-icalendar-entry) (inlinetask . ignore) (planning . ignore) (section . ignore) (inner-template lambda (c i) c) (template . org-icalendar-template)) :options-alist '((:exclude-tags "ICALENDAR_EXCLUDE_TAGS" nil org-icalendar-exclude-tags split) (:with-timestamps nil "<" org-icalendar-with-timestamps) (:icalendar-alarm-time nil nil org-icalendar-alarm-time) (:icalendar-categories nil nil org-icalendar-categories) (:icalendar-date-time-format nil nil org-icalendar-date-time-format) (:icalendar-include-bbdb-anniversaries nil nil org-icalendar-include-bbdb-anniversaries) (:icalendar-include-body nil nil org-icalendar-include-body) (:icalendar-include-sexps nil nil org-icalendar-include-sexps) (:icalendar-include-todo nil nil org-icalendar-include-todo) (:icalendar-store-UID nil nil org-icalendar-store-UID) (:icalendar-timezone nil nil org-icalendar-timezone) (:icalendar-use-deadline nil nil org-icalendar-use-deadline) (:icalendar-use-scheduled nil nil org-icalendar-use-scheduled)) :filters-alist '((:filter-headline . org-icalendar-clear-blank-lines)) :menu-entry '(99 "Export to iCalendar" ((102 "Current file" org-icalendar-export-to-ics) (97 "All agenda files" (lambda (a s v b) (org-icalendar-export-agenda-files a))) (99 "Combine all agenda files" (lambda (a s v b) (org-icalendar-combine-agenda-files a))))))
#@173 Set ID property on headlines missing it in FILE.
When optional argument BELL is non-nil, inform the user with
a message if the file was modified.
 
(fn FILE &optional BELL)
(defalias 'org-icalendar-create-uid #[513 "\300C\301\302\303\304\305\306!\307\"\310$\300\211\311$\210\205%\211\242\205%\312\313\"\210\314\315!\207" [nil org-map-entries make-byte-code 0 "\301 \302\211;\203\303\304#\202\305A@\"\266\202?\205&\306 \210\300\307\240\210\310y\207" vconcat vector [org-element-at-point :ID get-text-property 0 plist-get org-id-get-create t nil] 7 comment message "ID properties created in file \"%s\"" sit-for 2] 10 (#$ . 10092)])
#@458 Non-nil when HEADLINE is considered to be blocked.
 
INFO is a plist used as a communication channel.
 
A headline is blocked when either
 
  - it has children which are not all in a completed state;
 
  - it has a parent with the property :ORDERED:, and there are
    siblings prior to it with incomplete status;
 
  - its parent is blocked because it has siblings that should be
    done first or is a child of a blocked grandparent entry.
 
(fn HEADLINE INFO)
(defalias 'org-icalendar-blocked-headline-p #[514 "\300\301\302\303%\206\231\3042\231\305!\211\205\224\211@\306\211;\203'\307\310#\202-\311A@\"\266\202\204:\312\304\313\"\210\202\215\314\315\211;\203J\307\310#\202P\311A@\"\266\202!\203\212\316\"\211\262\203\206\317\211;\203q\307\310#\202w\311A@\"\266\202\320=\203W\312\304\321\"\210\202W\210\202\215\211\262A\266\202\202\262\2620\207" [org-element-map headline #[257 "\300\211;\203\301\302#\202\303A@\"\266\202\304=\207" [:todo-type get-text-property 0 plist-get todo] 7 "\n\n(fn HL)"] first-match blockedp org-element-lineage :todo-keyword get-text-property 0 plist-get throw nil org-not-nil :ORDERED org-export-get-previous-element :todo-type todo t] 12 (#$ . 10745)])
#@66 Non-nil when `org-icalendar-date-time-format' requires UTC time.
(defalias 'org-icalendar-use-UTC-date-time-p #[0 "\301\211GS\234\302\"\207" [org-icalendar-date-time-format char-equal 90] 3 (#$ . 11985)])
#@703 Convert TIMESTAMP to iCalendar format.
 
TIMESTAMP is a timestamp object.  KEYWORD is added in front of
it, in order to make a complete line (e.g. "DTSTART").
 
When optional argument END is non-nil, use end of time range.
Also increase the hour by two (if time string contains a time),
or the day by one (if it does not contain a time) when no
explicit ending time is specified.
 
When optional argument TZ is non-nil, timezone data time will be
added to the timestamp.  It can be the string "UTC", to use UTC
time, or a string in the IANA TZ database
format (e.g. "Europe/London").  In either case, the value of
`org-icalendar-date-time-format' will be ignored.
 
(fn TIMESTAMP KEYWORD &optional END TZ)
(defalias 'org-icalendar-convert-timestamp #[1026 "\303\211;\203\304\305#\202\306A@\"\266\202\307\211;\203&\304\305#\202,\306A@\"\266\202\310\211;\203>\304\305#\202D\306A@\"\266\202\311\211;\203V\304\305#\202\\\306A@\"\266\202\312\211;\203n\304\305#\202t\306A@\"\266\202\313    \211;\203\206\304\305#\202\214\306A@\"\266\202\314\n\211;\203\236\304\305#\202\244\306A@\"\266\202\315 \211;\203\266\304\305#\202\274\306A@\"\266\202\316\f\211;\203\316\304\305#\202\324\306A@\"\266\202\317 \211;\203\346\304\305#\202\354\306A@\"\266\202\n    \257\n    \257\232\204\305\202( \204\202(\203'\211\203'\\\202(\2040\305\202I\204:\202I\203B\203F\202I\320\\\204S    \202_\204]T\202_\203i \202k\f\203u\202w\321\322\230\203\205\323\202\242\204\216\324\202\242;\203\234\325\326Q\202\242\327\330    \n\331$\332\305                    &\322\230\204\307?\205\310\n\205\310\333 \205\310\331#P\207" [org-agenda-default-appointment-duration org-icalendar-timezone org-icalendar-date-time-format :year-start get-text-property 0 plist-get :year-end :month-start :month-end :day-start :day-end :hour-start :hour-end :minute-start :minute-end 2 format-time-string "UTC" ":%Y%m%dT%H%M%SZ" ";VALUE=DATE:%Y%m%d" ";TZID=" ":%Y%m%dT%H%M%S" replace-regexp-in-string "%Z" t encode-time org-icalendar-use-UTC-date-time-p] 31 (#$ . 12198)])
#@39 Return DTSTAMP property, as a string.
(defalias 'org-icalendar-dtstamp #[0 "\300\301\302\303#\207" [format-time-string "DTSTAMP:%Y%m%dT%H%M%SZ" nil t] 4 (#$ . 14364)])
#@173 Return categories according to `org-icalendar-categories'.
ENTRY is a headline or an inlinetask element.  INFO is a plist
used as a communication channel.
 
(fn ENTRY INFO)
(defalias 'org-icalendar-get-categories #[514 "\301\302\303\211\203f\211@\211\304\267\202_\305\"B\262\202_\306\211;\203-\307\310#\2023\311A@\"\266\202\211\203>\211B\262\210\202_\312\313\"\237\"\262\202_\312\313\303\314$\237\"\262A\266\202\202\237\262\262\315!\316!\266\202\317#\207" [org-icalendar-categories mapconcat identity nil #s(hash-table size 4 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (category 16 todo-state 29 local-tags 66 all-tags 81)) org-export-get-category :todo-keyword get-text-property 0 plist-get append org-export-get-tags t copy-sequence delete-dups ","] 13 (#$ . 14539)])
#@228 Transcode a diary sexp into iCalendar format.
SEXP is the diary sexp being transcoded, as a string.  UID is the
unique identifier for the entry.  SUMMARY defines a short summary
or subject for the event.
 
(fn SEXP UID SUMMARY)
(defalias 'org-icalendar-transcode-diary-sexp #[771 "\300\301\302\303#\205E\304\305\306!r\211q\210\307\310\311\312\313!\314\"\315$\216\316\317\"\204(\202/\320\321O\322Q\323\310\320\324%\210\211\325\261\266\326p!*\262!\207" [require icalendar nil t org-element-normalize-string generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205    \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 string-match "\\`<%%" 1 -1 " " put-text-property uid "\n" org-diary-to-ical-string] 12 (#$ . 15380)])
#@49 Cleanup string S according to RFC 5545.
 
(fn S)
(defalias 'org-icalendar-cleanup-string #[257 "\211\205\300\301\302\300\303\304#\305\306%\207" [replace-regexp-in-string "[     ]*\n" "\\n" "[\\,;]" "\\\\\\&" nil t] 8 (#$ . 16128)])
#@46 Fold string S according to RFC 5545.
 
(fn S)
(defalias 'org-icalendar-fold-string #[257 "\300\301\302\303\304\"\305#!\207" [org-element-normalize-string mapconcat #[257 "\211G\211\300X\203\f\2027\301\300O\300\302\303\\\211\262W\203-\304OQ\262\211\262\202\304\302OQ\266\203\207" [75 0 nil 74 " \n "] 10 "\n\n(fn LINE)"] org-split-string "\n" " \n"] 7 (#$ . 16366)])
#@157 Remove blank lines in HEADLINE export.
HEADLINE is a string representing a transcoded headline.
BACK-END and INFO are ignored.
 
(fn HEADLINE BACK-END INFO)
(defalias 'org-icalendar-clear-blank-lines #[771 "\300\301\302#\207" [replace-regexp-in-string "^\\(?:[     ]*\n\\)+" ""] 7 (#$ . 16760)])
#@476 Transcode ENTRY element into iCalendar format.
 
ENTRY is either a headline or an inlinetask.  CONTENTS is
ignored.  INFO is a plist used as a communication channel.
 
This function is called on every headline, the section below
it (minus inlinetasks) being its contents.  It tries to create
VEVENT and VTODO components out of scheduled date, deadline date,
plain timestamps, diary sexps.  It also calls itself on every
inlinetask within the section.
 
(fn ENTRY CONTENTS INFO)
(defalias 'org-icalendar-entry #[771 "\304\211;\203\305\306#\202\307A@\"\266\202?\205\211:\204*\211;\2052\310\2022\211@9\2052\211@\262\211\311=\203Z\312\313\211:\204F\313\202S\211@9\203R\211AA\202S\211\262BB\202\261\211:\204d\313\202q\211@9\203p\211AA\202q\211\262@\211\211:\204\203\211;\205\213\310\202\213\211@9\205\213\211@\262\314=\205\257\312\313\211:\204\236\313\202\253\211@9\203\252\211AA\202\253\211\262BB\262\315\211;\203\300\305\306#\202\306\307A@\"\266\202\316\211;\203\330\305\306#\202\336\307A@\"\266\202\206\345\317 \320\321\211;\203\366\305\306#\202\374\307A@\"\266\202\206\322\323    \211;\203\305\306#\202\307A@\"\266\202\"!\320\324\325\n\326\327!#!\320\330\n\211;\2039\305\306#\202?\307A@\"\266\202\206\230\322    \"\331!\204T\313\202\226\332!\203|\211\313\333\203e\334\202f\335\336\333\337\336##\266\202\211\306G^O\262\202\226\205\226\211\313\333\203\213\334\202\214\335\336\333\337\336##\266\202\262!\340\n    \"\324\341\f\326\342!#\343\f\211;\203\267\305\306#\202\275\307A@\"\266\202\211\205\350\203\314\344\202\315\345    >\205\350\346 \347\nP\350\nP                &\262\351 \211;\203\372\305\306#\202\307A@\"\266\202\211\205+\203\344\202\345\n>\205+\346\352 P\353 P\n\n\n\n&\262\306C\354\355\356\323\211;\203B\305\306#\202H\307A@\"\266\202\211:\204U\313\202b\211@9\203a\211AA\202b\211\262B\357\360\361\362\363\364&    \365\"\366\367%\313\370=\205\217\311&\336#\262    \205\351\307 \371\"\372\373\"\203\252\374\202\321\372\375\"\203\302\f\370=\205\321\376\"?\202\321\377\201@\"\205\321\n\201A=\262\205\351\201B\n\n\n\n\n\n& \205R\306C\354\355\356\323\211;\203\305\306#\202\307A@\"\266\202\211:\204\313\202\"\211@9\203!\211AA\202\"\211\262B\201C\360\361\201D\363\364\f#\201E\"\201F\201G%\313\370=\205L\311&\336#\262\260\266\207\370=\205{\354\355\356\311\360\361\201H\363\364 !\201I\"\201J\201K%    $\336#Q\266\202\207" [org-icalendar-include-body org-icalendar-use-deadline org-icalendar-use-scheduled org-icalendar-include-sexps :footnote-section-p get-text-property 0 plist-get plain-text inlinetask org-data nil section :todo-type :ID org-id-new org-icalendar-cleanup-string :SUMMARY org-export-data :title org-export-get-node-property :LOCATION org-property-inherit-p "LOCATION" :DESCRIPTION org-string-nw-p wholenump replace-regexp-in-string "\\`\\([     ]*\n\\)+" "\\`[     \n ]+" "" "[     \n ]+\\'" org-icalendar-get-categories :TIMEZONE "TIMEZONE" :deadline event-if-todo event-if-not-todo org-icalendar--vevent "DL-" "DL: " :scheduled "SC-" "S: " mapconcat identity org-element-map timestamp make-byte-code 257 "\311\211;\203\312\313#\202\314A@\"\266\202\314\301\315\"\316\317\"\203(\320>\202=\316\321\"\2035\322>\202=\323\324\"\205=\325\262\262\205Z\326\327\310\211\242T\240\302#\330\300\303\304\305\306\307&\262\207" vconcat vector [:type get-text-property 0 plist-get :with-timestamps eql active (active active-range) inactive (inactive inactive-range) memql (t) t format "TS%d-%s" org-icalendar--vevent] 11 "\n\n(fn TS)" headline :icalendar-include-todo eql all t unblocked org-icalendar-blocked-headline-p memql (t) todo org-icalendar--vtodo diary-sexp "\303\304\211;\203\305\306#\202\307A@\"\266\202\310\311\302\211\242T\240\300#\301#\207" [org-icalendar-transcode-diary-sexp :value get-text-property 0 plist-get format "DS%d-%s"] 8 "\n\n(fn SEXP)" "\301\302\300#\207" [org-icalendar-entry nil] 5 "\n\n(fn TASK)"] 34 (#$ . 17060)])
#@592 Create a VEVENT component.
 
ENTRY is either a headline or an inlinetask element.  TIMESTAMP
is a timestamp object defining the date-time of the event.  UID
is the unique identifier for the event.  SUMMARY defines a short
summary or subject for the event.  LOCATION defines the intended
venue for the event.  DESCRIPTION provides the complete
description of the event.  CATEGORIES defines the categories the
event belongs to.  TIMEZONE specifies a time zone for this event
only.
 
Return VEVENT component as a string.
 
(fn ENTRY TIMESTAMP UID SUMMARY LOCATION DESCRIPTION CATEGORIES TIMEZONE)
(defalias 'org-icalendar--vevent #[2056 "\300\301\211;\203\302\303#\202\304A@\"\266\202\305=\203?\306\307    \211;\203/\302\303#\2025\304A@\"\266\202#\202\357\310\311 \312\313\n\312\314\315\316 $\312\314\317\320 $\312\321\211;\203i\302\303#\202o\304A@\"\266\202\205\304\322\323\324\211;\203\206\302\303#\202\214\304A@\"\266\202\211\325\267\202\250\326\202\251\327\202\251\330\202\251\331\202\251\332\202\251\316\262\333\211;\203\273\302\303#\202\301\304A@\"\266\202#\334\312\335!\205\324\322\336\"\335!\205\340\322\337\"\340\312\341#\342\260!\207" [org-icalendar-fold-string :type get-text-property 0 plist-get diary org-icalendar-transcode-diary-sexp :raw-value "BEGIN:VEVENT\n" org-icalendar-dtstamp "\n" "UID:" org-icalendar-convert-timestamp "DTSTART" nil "DTEND" t :repeater-type format "RRULE:FREQ=%s;INTERVAL=%d\n" :repeater-unit #s(hash-table size 5 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (hour 148 day 152 week 156 month 160 year 164)) "HOURLY" "DAILY" "WEEKLY" "MONTHLY" "YEARLY" :repeater-value "SUMMARY:" org-string-nw-p "LOCATION:%s\n" "DESCRIPTION:%s\n" "CATEGORIES:" org-icalendar--valarm "END:VEVENT"] 32 (#$ . 21194)])
#@503 Create a VTODO component.
 
ENTRY is either a headline or an inlinetask element.  UID is the
unique identifier for the task.  SUMMARY defines a short summary
or subject for the task.  LOCATION defines the intended venue for
the task.  DESCRIPTION provides the complete description of the
task.  CATEGORIES defines the categories the task belongs to.
TIMEZONE specifies a time zone for this TODO only.
 
Return VTODO component as a string.
 
(fn ENTRY UID SUMMARY LOCATION DESCRIPTION CATEGORIES TIMEZONE)
(defalias 'org-icalendar--vtodo #[1799 "\305>\203!\306\211;\203\307\310#\202\311A@\"\266\202\206C\312 \313\314\315\316A@\317\3208\321\322    8\323\324 8\325\326 8\257\fD\262\327\330\331    \332\333 \332\334\335\336\f$\332\337    >\205\226\340\211;\203k\307\310#\202q\311A@\"\266\202\205\226\334\340\211;\203\207\307\310#\202\215\311A@\"\266\202\341\336$\332P\342\332\343!\205\246\344\345\"\343!\205\262\344\346\"\347\332\350\344\351\352\211;\203\311\307\310#\202\317\311A@\"\266\202\206\325\n\353\354\355 Z! \fZ\245\356_Z!\262\"\344\357\360\211;\203\371\307\310#\202\377\311A@\"\266\202\361=\203\n\362\202 \363\"\364\260!\207" [org-icalendar-use-scheduled org-icalendar-use-deadline org-default-priority org-lowest-priority org-highest-priority todo-start :scheduled get-text-property 0 plist-get decode-time timestamp :type active :minute-start :hour-start 2 :day-start 3 :month-start 4 :year-start 5 org-icalendar-fold-string "BEGIN:VTODO\n" "UID:TODO-" "\n" org-icalendar-dtstamp org-icalendar-convert-timestamp "DTSTART" nil todo-due :deadline "DUE" "SUMMARY:" org-string-nw-p format "LOCATION:%s\n" "DESCRIPTION:%s\n" "CATEGORIES:" "SEQUENCE:1\n" "PRIORITY:%d\n" :priority floor 9 float 8 "STATUS:%s\n" :todo-type todo "NEEDS-ACTION" "COMPLETED" "END:VTODO"] 36 (#$ . 23034)])
#@281 Create a VALARM component.
 
ENTRY is the calendar entry triggering the alarm.  TIMESTAMP is
the start date-time of the entry.  SUMMARY defines a short
summary or subject for the task.
 
Return VALARM component as a string, or nil if it isn't allowed.
 
(fn ENTRY TIMESTAMP SUMMARY)
(defalias 'org-icalendar--valarm #[771 "\301\211;\203\302\303#\202\304A@\"\266\202\211\203!\305!\202\"\303\262\211\303V\2040\303V\205Y\306\211;\203?\302\303#\202E\304A@\"\266\202\205Y\307\310\303U\203W\202X#\207" [org-icalendar-alarm-time :APPT_WARNTIME get-text-property 0 plist-get string-to-number :hour-start format "BEGIN:VALARM\nACTION:DISPLAY\nDESCRIPTION:%s\nTRIGGER:-P0DT0H%dM0S\nEND:VALARM\n"] 10 (#$ . 24896)])
#@175 Return complete document string after iCalendar conversion.
CONTENTS is the transcoded contents string.  INFO is a plist used
as a communication channel.
 
(fn CONTENTS INFO)
(defalias 'org-icalendar-template #[514 "\301\302\303\"\204\304\305 !\202\306\307\302\303\"!!\302\310\"\204\"\311\202)\312\302\313\"\"\314!\2033\2027\315 A@\312\302\316\"\"%\207" [org-icalendar-timezone org-icalendar--vcalendar plist-get :input-file buffer-name buffer-base-buffer file-name-nondirectory file-name-sans-extension :with-author "" org-export-data :author org-string-nw-p current-time-zone :title] 10 (#$ . 25635)])
#@263 Create a VCALENDAR component.
NAME, OWNER, TZ, DESCRIPTION and CONTENTS are all strings giving,
respectively, the name of the calendar, its owner, the timezone
used, a short description and the other components included.
 
(fn NAME OWNER TZ DESCRIPTION CONTENTS)
(defalias 'org-icalendar--vcalendar #[1285 "\300\301\302!\302!\302!\302!%\303Q\207" [format "BEGIN:VCALENDAR\nVERSION:2.0\nX-WR-CALNAME:%s\nPRODID:-//%s//Emacs with Org mode//EN\nX-WR-TIMEZONE:%s\nX-WR-CALDESC:%s\nCALSCALE:GREGORIAN\n" org-icalendar-cleanup-string "END:VCALENDAR\n"] 12 (#$ . 26266)])
#@744 Export current buffer to an iCalendar file.
 
If narrowing is active in the current buffer, only export its
narrowed part.
 
If a region is active, export that region.
 
A non-nil optional argument ASYNC means the process should happen
asynchronously.  The resulting file should be accessible through
the `org-export-stack' interface.
 
When optional argument SUBTREEP is non-nil, export the sub-tree
at point, extracting information from the headline properties
first.
 
When optional argument VISIBLE-ONLY is non-nil, don't export
contents of hidden elements.
 
When optional argument BODY-ONLY is non-nil, only write code
between "BEGIN:VCALENDAR" and "END:VCALENDAR".
 
Return ICS file name.
 
(fn &optional ASYNC SUBTREEP VISIBLE-ONLY BODY-ONLY)
(defalias 'org-icalendar-export-to-ics #[1024 "\301\302 !\211\203\203\303\304\"\210\210\305\306\"\307\310\311\312&\207" [org-icalendar-store-UID buffer-file-name buffer-base-buffer org-icalendar-create-uid warn-user org-export-output-file-name ".ics" org-export-to-file icalendar (:ascii-charset utf-8 :ascii-links-to-notes nil) #[257 "\300\301\"\210\302\207" [run-hook-with-args org-icalendar-after-save-hook nil] 4 "\n\n(fn FILE)"]] 14 (#$ . 26846) nil])
#@147 Export all agenda files to iCalendar files.
When optional argument ASYNC is non-nil, export happens in an
external process.
 
(fn &optional ASYNC)
(defalias 'org-icalendar-export-agenda-files #[256 "\211\203\365\306\307\310\311!\"\312\313C\314\315\316\317\320\"\321\"\322$\216\203*\211\323 \240\210\324\325\"\210\326p!\327\330!\331\332\333!!\314\315\334\317\320!\335\"\336$\216r\211q\210\337\340\341\342\343\344\345\fD\346\347\350\351\352\353\354\355D\356BB\357BBEDD\257#c\210)r\211q\210\360\313\211\313\315%\210*\266\313\332\361!\362\363\364\330\365\n \"\366F\f\203\226\367\370\fE\202\231\370 D\370D#\"\371\372!\313#\210\373\374\375\376\351\377\201@\201A\201B\201C\201D\201B\351\201E\345\201FBBE\201GBB\201HBBB\201I\201J\201KDEEEEE\"\262)\266\202\266\203)\266\202\207\310\311!\201L!\210\201M\216\211\211\205+\211@\201N2#\201O!\210r\201P!q\210\201Q )0\210A\266\202\202\262)\207" [buffer-file-coding-system process-connection-type invocation-name invocation-directory org-export-async-init-file user-init-file cl-remove-if-not file-exists-p org-agenda-files t "Initializing asynchronous export process" nil make-byte-code 0 "\300\205\301\242\203\302\303\301\242\"\207\302\304!\207" vconcat vector [message #1="%s" nil] 3 current-message message #1# org-export--generate-copy-script make-temp-file "org-export-process" get-buffer-create generate-new-buffer-name " *temp file*" "\301\300!\205    \302\300!\207" [buffer-name kill-buffer] 2 format ";; -*- coding: %s; -*-\n%S" with-temp-buffer (when org-export-async-debug '(setq debug-on-error t)) (setq kill-emacs-hook nil org-babel-confirm-evaluate-answer-no t) (require 'ox) funcall (restore-buffer-modified-p nil) print progn let (output-files) dolist file quote (outputfiles) ((with-current-buffer (org-get-agenda-file-buffer file) (push (expand-file-name (org-icalendar-export-to-ics)) output-files))) write-region "*Org Export Process*" apply start-process append expand-file-name "--batch" "-Q" "-l" org-export-add-to-stack get-buffer #[257 "\211\211\205\211@\300\301\"\210A\266\202\202\207" [org-export-add-to-stack icalendar] 6 "\n\n(fn RESULTS)"] set-process-sentinel lambda (p status) ((proc-buffer (process-buffer p))) when (eq (process-status p) 'exit) unwind-protect if (zerop (process-exit-status p)) ((results (with-current-buffer proc-buffer (goto-char (point-max)) (backward-sexp) (read (current-buffer))))) (results) ((unless org-export-async-debug (and (get-buffer proc-buffer) (kill-buffer proc-buffer)))) ((org-export-add-to-stack proc-buffer nil p) (ding) (message "Process `%s' exited abnormally" p)) unless org-export-async-debug delete-file org-agenda-prepare-buffers #[0 "\301!\207" [org-agenda-new-buffers org-release-buffers] 2] nextfile org-check-agenda-file org-get-agenda-file-buffer org-icalendar-export-to-ics] 27 (#$ . 28071) nil])
#@327 Combine all agenda files into a single iCalendar file.
 
A non-nil optional argument ASYNC means the process should happen
asynchronously.  The resulting file should be accessible through
the `org-export-stack' interface.
 
The file is stored under the name chosen in
`org-icalendar-combined-agenda-file'.
 
(fn &optional ASYNC)
(defalias 'org-icalendar-combine-agenda-files #[256 "\211\203\343\306\307\310\311!\"\312\313C\314\315\316\317\320\"\321\"\322$\216\203*\211\323 \240\210\324\325\"\210\326p!\327\330!\331\332\333!!\314\315\334\317\320!\335\"\336$\216r\211q\210\337\340\341\342\343\344\345\fD\346\347\350\351\352\353DEDD\257#c\210)r\211q\210\354\313\211\313\315%\210*\266\313\332\355!\351\356\357\330\360\n \"\361F\f\203\216\362\363\fE\202\221\363 D\363D#\"\364\365!\313#\210\366\367\370\371\372\373\374\375\376\377\201@\376\372\201A\345\201BBBE\201CBB\201DBBB\201E\201F\201GDEEEEE\"\262)\266\202\266\203)\266\202\207\351\201H\310\311!\"\207" [buffer-file-coding-system process-connection-type invocation-name invocation-directory org-export-async-init-file user-init-file cl-remove-if-not file-exists-p org-agenda-files t "Initializing asynchronous export process" nil make-byte-code 0 "\300\205\301\242\203\302\303\301\242\"\207\302\304!\207" vconcat vector [message #1="%s" nil] 3 current-message message #1# org-export--generate-copy-script make-temp-file "org-export-process" get-buffer-create generate-new-buffer-name " *temp file*" "\301\300!\205    \302\300!\207" [buffer-name kill-buffer] 2 format ";; -*- coding: %s; -*-\n%S" with-temp-buffer (when org-export-async-debug '(setq debug-on-error t)) (setq kill-emacs-hook nil org-babel-confirm-evaluate-answer-no t) (require 'ox) funcall (restore-buffer-modified-p nil) print progn apply #'org-icalendar--combine-files quote write-region "*Org Export Process*" start-process append expand-file-name "--batch" "-Q" "-l" org-export-add-to-stack get-buffer #[257 "\301\302!\303\"\207" [org-icalendar-combined-agenda-file org-export-add-to-stack expand-file-name icalendar] 4 "\n\n(fn _)"] set-process-sentinel lambda (p status) let ((proc-buffer (process-buffer p))) when (eq (process-status p) 'exit) unwind-protect if (zerop (process-exit-status p)) ((results (with-current-buffer proc-buffer (goto-char (point-max)) (backward-sexp) (read (current-buffer))))) (results) ((unless org-export-async-debug (and (get-buffer proc-buffer) (kill-buffer proc-buffer)))) ((org-export-add-to-stack proc-buffer nil p) (ding) (message "Process `%s' exited abnormally" p)) unless org-export-async-debug delete-file org-icalendar--combine-files] 27 (#$ . 30960) nil])
#@135 Export current agenda view to an iCalendar FILE.
This function assumes major mode for current buffer is
`org-agenda-mode'.
 
(fn FILE)
(defalias 'org-icalendar-export-current-agenda #[257 "\306\307\310\311\312!!\313\216    \212e\306\314\315\"\211\262\203Q\316\315\"\211\203J\211\235\204J\211B\262r\317!q\210\212\214~\210\320!b\210\321\322`\212\323 \210`){!!\210+\210\306y\210\202\266*r    q\210\324 +\325\326\327$\310\311\330!!\331\332\333\334\335!\336\"\337$\216r\211q\210\340\n \341\f!\206\202\342 A@ %c\210)r\211q\210\343\306\211\306\332%\210*\266\344\345\")\207" [org-export-use-babel standard-output org-icalendar-combined-name user-full-name org-icalendar-timezone org-icalendar-combined-description nil org-export-string-as get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] next-single-property-change org-hd-marker get-text-property marker-buffer marker-position princ org-element-normalize-string outline-next-heading buffer-string icalendar t (:ascii-charset utf-8 :ascii-links-to-notes nil :icalendar-include-todo all) " *temp file*" make-byte-code 0 "\301\300!\205    \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 org-icalendar--vcalendar org-string-nw-p current-time-zone write-region run-hook-with-args org-icalendar-after-save-hook] 10 (#$ . 33627)])
#@132 Combine entries from multiple files into an iCalendar file.
FILES is a list of files to build the calendar from.
 
(fn &rest FILES)
(defalias 'org-icalendar--combine-files #[128 "\306\307\216    \310\311\312!!\313\314\315\316\317!\320\"\321$\216r\211q\210\322\n \323\f!\206'\324 A@ \325\326    \327#\"\205T\330\331\306\332#\205T\310\311\333!!#\334\216##\335 \210)r#q\210\336 +P%c\210)r\211q\210\337\306\211\306\314%\210*\266\340\341    \"*\207" [org-agenda-new-buffers org-icalendar-combined-agenda-file org-icalendar-combined-name user-full-name org-icalendar-timezone org-icalendar-combined-description nil #[0 "\301!\207" [org-agenda-new-buffers org-release-buffers] 2] get-buffer-create generate-new-buffer-name " *temp file*" make-byte-code 0 "\301\300!\205    \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 org-icalendar--vcalendar org-string-nw-p current-time-zone mapconcat #[257 "\3012 \302!\210r\303!q\210\203\304\305\"\210\306\307\310\211\305\311%)0\207" [org-icalendar-store-UID nextfile org-check-agenda-file org-get-agenda-file-buffer org-icalendar-create-uid t org-export-as icalendar nil (:ascii-charset utf-8 :ascii-links-to-notes nil)] 7 "\n\n(fn FILE)"] "" require org-bbdb t " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] org-bbdb-anniv-export-ical buffer-string write-region run-hook-with-args org-icalendar-after-save-hook org-icalendar-include-bbdb-anniversaries standard-output] 13 (#$ . 34990)])
(provide 'ox-icalendar)