* lisp/ox-org.el (org-org-publish-to-org):
* lisp/ox-html.el (org-html-htmlize-generate-css):
(org-html-fontify-code):
* lisp/org-agenda.el (org-agenda-write): Throw an error
requesting the user to install htmlize.el.
* doc/org.texi (Exporting agenda views, Literal examples):
Don’t assume htmlize.el is available.
You need to install it from https://github.com/hniksic/emacs-htmlize
See https://github.com/hniksic/emacs-htmlize/issues/7 for this issue.
org-drill requires only cl-lib rather than cl, so should use cl-gensym
rather than gensym I believe.
From 1eef99d550e467bf4a3eaf6bdbe4d3a482f6c187 Mon Sep 17 00:00:00 2001
From: Stig Brautaset <stig@brautaset.org>
Date: Fri, 14 Jul 2017 20:45:37 +0100
Subject: [PATCH 2/3] org-drill.el: use cl-gensym rather than gensym
cl-lib is already required by this file, but cl is not.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-url,
org-koma-letter-use-url): New variables.
(org-koma-letter--build-settings): Use new variables.
Copied phone-number variable code, pasted it and changed references from phone-number to url.
Tested "url" with "#+URL: url", and "use-url" using "#+OPTIONS url:[nil|t]".
TINYCHANGE
* contrib/lisp/org-depend.el (org-depend-block-todo): Fix check for
previous-sibling blocker.
The "previous-sibling" blocker checked the previous visible heading,
instead of the true previous sibling.
* contrib/lisp/org-git-link.el (org-gitbare-open):
(org-git-open):
(org-git-find-gitdir):
(org-git-create-git-link): Prefer nth function to cl.el's first,
second, third.
org-git-link.el does not explicitly load cl.el, and variants without
the "cl-" prefix have been out of favor since Emacs 24.3.
* contrib/lisp/ox-extra.el (org-extra--merge-sections): New function.
(org-export-ignore-headlines): Merge multiple sections that result
from removing ignored headlines.
Prevent org-export-ignore-headlines from violating the one headline to
one section mapping that is relied on by at least one export backend,
ox-texinfo. (ox-texinfo uses each section to generate the menu.)
* contrib/lisp/ox-confluence.el (org-confluence-table-cell): Add blank
space in an empty table cell such that Confluence tables do not skip
empty entries and produce erroneous table headers.
Confluence tables are formatted incorrectly when empty cells
cause `||' to generate the next cell as a table header, skipping
the empty cell. Empty cells must be formatted as `| |'.
TINYCHANGE
* contrib/lisp/org-toc.el (org-toc-quit):
* lisp/org-mhe.el (org-mhe-follow-link): Use kill-buffer rather than
menu-bar.el's kill-this-buffer.
See Emacs bug#26466 and discussion on emacs.devel:
https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00346.html.
This is in favor of backporting Emacs's 2e4f4c9d48 (Don't call
'kill-this-buffer' outside of menus, 2017-04-12), which introduces a
new function kill-current-buffer that provides special handling of
minibuffers.
* contrib/lisp/ox-groff.el (org-groff-clock, org-groff-planning): Use
org-translate-time'.
(propagate changes introduced to other export backends in commit
e1adb17ba509a43e9a03a5b367a98b8bc8de8b02.)
* contrib/lisp/ox-confluence.el (org-confluence-timestamp): New
function.
(org-confluence-headline): Use new function.
(org-confluence-table-cell): Add missing space.
Fix handling of square brackets from timestamps and checkboxes; avoid
invalid confluence markup for empty table headers.
* contrib/lisp/org-depend.el (org-depend-trigger-todo): Use new
functions.
* contrib/lisp/org-invoice.el (org-invoice-heading-info):
(org-invoice-info-to-table):
(org-invoice-list-to-table): Use new functions.
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-task): Use
new functions.
* lisp/org-agenda.el (org-agenda-show-clocking-issues):
(org-agenda-format-item):
(org-agenda-filter-effort-form): Use new functions.
* lisp/org-clock.el (org-clock-get-clock-string):
(org-clock-modify-effort-estimate):
(org-clock-notify-once-if-expired):
(org-clock-out):
(org-clock-display):
(org-clock-put-overlay):
(org-clocktable-write-default): Use new functions.
* lisp/org-table.el (org-table-sort-lines): Use new functions.
* lisp/org.el (org-properties-postprocess-alist):
(org-refresh-effort-properties):
(org-set-effort):
(org-entry-properties):
(org-property-next-allowed-value): Use new functions.
(org-time-clocksum-format):
(org-time-clocksum-use-fractional):
(org-time-clocksum-use-fractional-format):
(org-time-clocksum-use-effort-durations): Declare as obsolete. Move
to "org-compat.el".
(org-minutes-to-clocksum-string):
(org-hh:mm-string-to-minutes):
(org-duration-string-to-minutes): Declare as obsolete. Move to
"org-compat.el".
(org-hours-to-clocksum-string): Remove function.
* lisp/org-colview.el (org-columns--collect-values): Use new
functions.
(org-columns--duration-re): Remove variable.
(org-columns--time-to-seconds): Rename to...
(org-columns--age-to-minutes): ... this.
(org-columns--format-age): New function.
(org-columns--summary-apply-times):
(org-columns--summary-min-age):
(org-columns--summary-max-age):
(org-columns--summary-mean-age): Use new functions.
* testing/lisp/test-org-clock.el (test-org-clock-clocktable-contents-at-point):
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
Update tests.
* ox-bibtex.el (org-bibtex-process-bib-files): Solve a bug in which
ox-bibtex was not considering enterily keys like "Author et&bsp; al.,
1999" as valid.
TINYCHANGE
* contrib/lisp/ox-confluence.el (org-confluence-fixed-width):
export fixed-width as example-block so that the outcome is more
consistent with org-mode format. Other back-ends (say ox-md.el)
also work this way.
TINYCHANGE
* contrib/lisp/ox-confluence.el (org-confluence-item): Support
descriptive list
When converting a descriptive list item, be sure to include the "item"
part, not just the description.
TINYCHANGE
* contrib/lisp/ox-confluence.el (org-confluence-item): Support ordered
list
When converting a bullet item, examine the type of it and convert
accordingly.
TINYCHANGE
* contrib/lisp/ox-confluence.el (org-confluence-verbatim,
org-confluence-code): New functions.
Convert org-mode =verbatim= and ~code~ into Confluence {{monospace}}.
TINYCHANGE
* contrib/lisp/org-expiry.el (org-expiry-process-entry): Call
`org-expiry-expired-p' with the correct number of arguments. It does
not accept argument anymore.
* contrib/lisp/org-expiry.el (org-expiry-process-entry): Fix the call to
`org-expiry-handler-function'.
`org-expiry-handler-function' is meant to be a variable containing the symbol of
a function to be called. Therefore, calling
(funcall 'org-expiry-handler-function) results in a void function error while
(funcall org-expiry-handler-function) correctly calls the contained function.
* contrib/lisp/ob-vbnet.el: Add org-babel functions for VB.Net evaluation.
(org-babel-vbnet-command): Name of the VB command (mono)
(org-babel-vbnet-compiler): Name of the VB compiler (vbnc)
(org-babel-execute:vbnet): Execute VB.Net code
(org-babel-prep-session:vbnet): Throw error (sessions are not supported)
* contrib/lisp/ob-csharp.el: Add org-babel functions for C# evaluation.
(org-babel-csharp-command): Name of the C# command (mono)
(org-babel-csharp-compiler): Name of the C# compiler (mcs)
(org-babelexecute:csharp): Execute C# code.
(org-babel-prep-session:csharp): Throw error (sessions are not supported).
* lisp/org.el (org-find-if): Remove function.
(org-key):
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
(org-contacts-filter):
(org-contacts-test-completion-prefix):
(org-contacts-remove-ignored-property-values): Use `cl-find-if'
* lisp/org-compat.el (org-find-if): Mark function as an obsolete alias
for `cl-find-if'.
* contrib/lisp/org-mime.el (org-mime-replace-images): Change signature.
Always use temporary directory to create LaTeX images.
(org-mime-htmlize):
(org-mime-compose): Apply signature change above.
When exporting an org buffer with a LaTeX snippet including the Org
option "tex: dvipng" the images were always created in "/tmp/ltxpng/",
but the reported link in the htmlized buffer was the local "./ltxpng"
folder; so, unless the org file to htmlize was actually in "/tmp", the
user got an error saying that the image could not be found.
This was caused by the two different ways in which the function
`org-mime-replace-images' is used inside of
`org-mime-org-buffer-htmlize' and `org-mime-htmlize.'
To correct the problem, the function org-mime-replace-images doesn't
take anymore the current-file parameter (that was only used to get its
directory) and instead always creates a temporary directory using
temporary-file-directory.
* contrib/lisp/ox-rss.el (org-rss-headline): Put author's email
address in <author> element.
The RSS specification requires the email address and the name of the
author to be provided in the <author> element in the format
"email@domain.com (Name)". Currently, only the author's name is
provided. This is invalid RSS.
* contrib/lisp/ox-rss.el (org-rss-build-channel-info, org-rss-headline):
Encode disallowed characters in `title' to their XML entities.
The `title' field is user specified and may contain characters such as
"&", "<" or ">" that are disallowed in XML. These characters should be
encoded into their corresponding XML entities.
* lisp/org-element.el (org-element-example-block-parser): Use cons cell
for :number-lines specifying offset in addition to type (new/continue).
('continue . offset) for :number-lines will add this offset count to
the last line number. ('new . offset) for :number-lines will reset the
line number counting starting at offset
(org-element-src-block-parser): same for SRC block as EXAMPLE block
* lisp/ox-html.el (org-html-format-code):
* lisp/ox-latex.el (org-latex-src-block):
* lisp/ox-odt.el (org-odt-format-code):
* lisp/ox.el (org-export-resolve-coderef):
(org-export-get-loc):
(org-export-format-code-default):
* contrib/lisp/ox-groff.el (org-groff-src-block): Use new cons cell
for :number-lines.
* testing/lisp/test-ox.el (ert-deftest test-org-export/get-loc): Tests for
changes
(test-org-gen-loc-list): Helper function for `test-org-export/get-loc'.
* contrib/lisp/ox-rss.el (org-rss-headline): Transcode lower level
headlines (headlines with level > 1) using the html backend. Do not
drop them.
Previously, lower level headlines were dropped and did not appear in the
exported RSS output.
* lisp/org.el (org-show-context-detail): Change default visibility span
for agenda context.
* lisp/org-agenda.el (org-agenda-goto):
(org-agenda-todo):
(org-agenda-add-note):
(org-agenda-priority):
(org-agenda-set-tags):
(org-agenda-set-property):
(org-agenda-set-effort):
(org-agenda-toggle-archive-tag):
(org-agenda-clock-in): Special visibility is taken care of by
`org-show-context'. Do not hard-code anything else.
* contrib/lisp/org-contacts.el (org-contacts-gnus-article-from-goto):
Special visibility is taken care of by `org-show-context'. Do not
hard-code anything else.
* contrib/lisp/ox-koma-letter.el (koma-letter): Duplicated code
used for 'place' variable, renamed as 'location'
Whenever OPTION keyword contains a 'location' item or LOCATION
keyword is used in the buffer, set KOMA option 'location' after
LCO inclusion.
* ox-koma-letter.el (koma-letter backend): Add :inbuffer-from.
(org-koma-letter--get-tagged-contents): Check that value is not empty.
(org-koma-letter-template): Remove from address block from
template and find to address directly.
(org-koma-letter--build-settings): Determine from address.
(org-koma-letter--special-contents-inline): Remove function.
* ox-koma-letter.el
(org-koma-letter-special-tags-after-closing): Add after_closing.
(org-koma-letter-special-tags-as-macro): New defvar.
(koma-letter backend): Revamp special tags options.
(org-koma-letter--get-value): Rewrite function.
(org-koma-letter--keyword-or-headline): Get special tags dynamically
(org-koma-letter-template): Use new specifications.
* contrib/lisp/ox-confluence.el: (org-confluence-paragraph): New function.
(confluence): Use new function.
ox-confluence was generating filled paragraphs. Since Confluence treats
each newline as a line break, this caused unexpected formatting. Added
a paragraph function to generate unfilled paragraphs (taken from
ox-md.el).