* doc/org-manual.org (Exporting): Add cindex entry for both "backend"
and "back-end" for better searchability.
All other changes are trivial.
Note that `org-element-export-snippet-parser' will still use :back-end
property. So will ox.el in INFO channel.
Moves the calls to `org-icalendar-fold-string' out of
`org-icalendar--vevent' and `org-icalendar--vtodo', instead calling it
from `org-icalendar--vcalendar'. This way, the string folding applies
to the entire VCALENDAR rather than just the VEVENT or VTODO, as
required by the iCalendar spec.
See also:
https://list.orgmode.org/m2pm85jyw1.fsf@eglen.org.uk/T/#md08cfd0209f6332a1a0c6a54f08544006ff93aed
* lisp/ox-icalendar.el (org-icalendar--vevent, org-icalendar--vtodo):
Remove call to `org-icalendar-fold-string'.
(org-icalendar--vcalendar): Add call to `org-icalendar-fold-string'.
Fixes issue where the ox-icalendar export uses an inconsistent mix of
dos and unix style line endings.
* lisp/ox-icalendar.el (org-icalendar-fold-string): No longer converts
to CRLF, instead delegating that to `org-icalendar--post-process-file'.
(org-icalendar--post-process-file): New function to handle exported
file post-processing. Converts EOL to CRLF, and then runs
`org-icalendar-after-save-hook'.
(org-icalendar-export-to-ics, org-icalendar-export-current-agenda,
org-icalendar--combine-files): Call `org-icalendar--post-process-file'
instead of running `org-icalendar-after-save-hook' directly.
* testing/lisp/test-ox-icalendar.el: New file for unit tests of
ox-icalendar. Add an initial test for CRLF line endings.
See also:
https://list.orgmode.org/87o7oetneo.fsf@localhost/T/#m3e3eb80f9fc51ba75854b33ebfe9ecdefa2ded24https://list.orgmode.org/orgmode/87ilgljv6i.fsf@localhost/
ox-icalendar.el (org-export-define-derived-backend):
Add export backend options:
:deadline-summary-prefix
:scheduled-summary-prefix
ox-icalendar.el (org-icalendar-entry):
Use :deadline-summary-prefix export backend option instead of
`org-icalendar-deadline-summary-prefix'. If the option is not
explicitly set, use the value of the custom variable.
Use :scheduled-summary-prefix export backend option instead of
`org-icalendar-scheduled-summary-prefix'. If the option is not
explicitly set, use the value of the custom variable.
Convert `deadline/scheduled-summary-prefix' string to iCal-compatible
format via `(org-icalendar-cleanup-string)'
TINYCHANGE
* lisp/ox-icalendar.el (org-icalendar--combine-files): Correct typo in
format-time-string specifier.
This is a follow-up to the port of Emacs's e0ca8f791.
* lisp/ox-icalendar.el (org-icalendar-template)
(org-icalendar-export-current-agenda)
(org-icalendar--combine-files):
Prefer (format-time-string "%Z") to (cadr (current-time-zone)).
Prefer format-time-string to current-time-zone
e0ca8f791c2e4396f1e40d86c136ae547b40185d
Paul Eggert
Thu Dec 16 11:17:26 2021 -0800
[ km: The org-icalendar--combine-files change has a typo that will be
fixed in a follow-up commit. ]
* lisp/ox-icalendar.el (org-icalendar-scheduled-summary-prefix): A new
customization option to control summary prefix in exported scheduled
events.
* lisp/ox-icalendar.el (org-icalendar-deadline-summary-prefix): A new
customization option to control summary prefix in exported deadline
events.
* lisp/ox-icalendar.el (org-icalendar-entry): Use configurable summary
prefixes for scheduled and deadline events, instead of hardcoded ones.
* lisp/ox-icalendar.el (icalendar): Use nil transcoders instead of
`ignore' for ignored element types. Otherwise, `org-export-data'
still exports the ignored element contents, including resolving links,
and the result is ignored. The contents might contain broken links
and hence lead to errors despite the whole element not supposed to be
exported.
Fixes https://orgmode.org/list/45aa417a-7eb1-1070-b0dd-17bdd7d1448f@mailbox.org
* lisp/ox-icalendar.el (org-icalendar-force-alarm): Option to set alarm
even if alarm time is set to zero.
* lisp/ox-icalendar.el (org-icalendar--valarm): create VALARM at the
event start if the alarm time is set to zero and
`org-icalendar-force-alarm' is set to true.
TINYCHANGE
* lisp/ol.el (org-store-link):
* lisp/org-agenda.el (org-agenda-get-timestamps)
(org-agenda-get-progress, agenda-bulk-action):
* lisp/org-capture.el (org-capture-fill-template):
* lisp/org-clock.el (org-clock-get-sum-start)
(org-clock-special-range, org-clocktable-shift)
(org-clocktable-steps):
* lisp/org-colview.el (org-colview-construct-allowed-dates):
* lisp/org-datetree.el (org-datetree-find-iso-week-create)
(org-datetree-insert-line):
* lisp/org-element.el (org-element-timestamp-interpreter):
* lisp/org-macro.el (org-macro--vc-modified-time):
* lisp/org-macs.el (org-matcher-time):
* lisp/org.el (org-current-time, org-current-effective-time)
(org-add-planning-info, org-read-date, org-read-date-display)
(org-read-date-analyze, org-eval-in-calendar)
(org-calendar-select, org-display-custom-time)
(org-calendar-select-mouse, org-time-string-to-time)
(org-time-from-absolute, org-at-clock-log-p)
(org-date-from-calendar, org-get-cursor-date)
(org-timestamp-to-time):
* testing/lisp/test-org-clock.el (org-test-clock-create-timestamp):
* lisp/ox-icalendar.el (org-icalendar-convert-timestamp):
Avoid direct calls of `encode-time', use `org-encode-time' instead.
Org supports Emacs-26, but the recommended way to call `encode-time'
changed in Emacs-27. In Emacs-29 DST and TZ elements of the single list
arguments became optional. In Org it is still convenient to call the
function with separate arguments without explicit DST and TZ arguments.
The `org-encode-time' should mitigate attempts to modernize Org code
directly in the Emacs repository.
Emacs now advises using "website" (instead of "homepage") and
consequently to use the "URL" comment header instead of "Homepage".
* README:
* README_ELPA:
* doc/org-guide.org (Creating Footnotes):
* doc/org-manual.org (Creating Footnotes):
* etc/styles/README (URL): Prefer "website" to "homepage".
* lisp/*.el:
* mk/org-fixup.el: Replace the "Homepage" header comment with "URL".
* lisp/ox-beamer.el (org-beamer-export-to-pdf):
* lisp/ox-icalendar.el (org-icalendar-export-to-ics):
* lisp/ox-koma-letter.el (org-koma-letter-export-to-pdf):
* lisp/ox-man.el (org-man-export-to-pdf):
* lisp/ox-texinfo.el (org-texinfo-export-to-info): Quote lambda.
Quote or name lambdas to prevent their compilation into anonymous
functions which cannot be passed to the external async emacs process.
* lisp/ox-icalendar.el (org-icalendar-blocked-headline-p): Only
consider children when looking for blocked entries, not the headline
itself.
Reported-by: Duane Farnsworth <dfarnsworth@clarion.edu>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00275.html>
* ox-icalendar.el (org-icalendar-entry): Pick the CLASS
property and pass it to `org-icalendar--vevent' and
`org-icalendar--vtodo'.
(org-icalendar--vevent,org-icalendar--vtodo): Add a new parameter
`class' and use it to generate a `CLASS' field in the `VEVENT'
entry.
TINYCHANGE
* lisp/ox-icalendar.el (org-icalendar-entry): Both properties now
optionally inherit, depending on value of
`org-use-property-inheritance'.
* doc/org.texi: Mention change.
* lisp/ox-icalendar.el (org-icalendar-entry): Look for a "TIMEZONE"
property.
(org-icalendar--vevent, org-icalendar--vtodo): Accept additional
timezone argument.
(org-icalendar-convert-timestamp): Change parameter name to "tz", and
accept a wider variety of values.
* doc/org.texi: Mention in manual.