* lisp/org-element.el (org-element-plain-list-parser): Fix infloop
when parsing a list at the end of buffer, if buffer doesn't end at
a line beginning.
* testing/lisp/test-org-element.el: Add test.
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
Check if org-contacts-db cache contains markers with no buffer as well, when
determining if cache should be updated from files.
The function `org-contacts-db-need-update-p' does two checks to determine if the
contacts cache should be updated:
1. If the variable `org-contacts-last-update' is nil.
2. If modification time of any file containing contacts is more recent than
timestamp recorded in `org-contacts-last-update'.
There is another case where an update is required: when marker objects contained
in the contact cache `org-contacts-db' suddenly point to no buffer. If a buffer
containing contacts is killed, but underlying file is not modified, org-contacts
will not detect this, and cached markers that pointed to the now killed buffer
will become "dead" (e.g. have no buffer associated with them). This seems to cause
problems for instance in `org-contacts-anniversaries', which if used as diary
sexp in agenda file, will cause "Bad sexp" errors.
* lisp/org-element.el (org-element-link-parser): Do not url-decode
parsed links.
The function now assumes link at point is correctly encoded if needed.
`org-insert-link' already automatically url-encode generated links,
and link types not handled by this function (e.g., custom-id links) do
not need such encoding.
* ob-C.el: Added =C++= to =`org-babel-load-languages'=
automatically after loading =C=.
* org-src.el (org-src-lang-modes): Added association between
language =C++= and =`c++-mode'=.
=C++= is added to org-babel-load-languages to make
`org-babel-demarcate-block' recognize =C++= as a proper language.
* lisp/ox-publish.el (org-publish-find-date): Also return date for
directories.
(org-publish-get-base-files-1): Fix :recursive parameter ignoring
extension restriction.
* lisp/ob-latex.el (org-babel-latex-htlatex): Set this variable to
"htlatex" (or path to said) to enable svg generation from latex code
blocks.
(org-babel-latex-htlatex-packages): Libraries required for automatic
svg generation.
(org-babel-execute:latex): Generate SVG images directly from latex
code blocks (assumes tikz).
* org.el (org-set-regexps-and-options-for-tags): Fix
concatenation of the tags list.
Thanks to Nick for reporting this bug and to Rainer for confirming the fix.
* lisp/ox.el (org-export-insert-default-template): Fix
"wrong-type-argument" error in template insertion.
Thanks to Eric Abrahamsen for reporting this.
* lisp/org.el (org-fill-paragraph): Use empty commented lines as
separators when filling comments. This mimics default behaviour
from "newcomment.el", which is not used in Org.
* testing/lisp/test-org.el: Add tests.
* contrib/lisp/ox-bibtex.el (org-latex-link, org-html-link): New
functions.
(org-bibtex-citation-p, org-bibtex-get-citation-key): Update function
to support "cite" links.
(org-bibtex-process-bib-files): Also look after "cite" links when
building citation list.
* lisp/ox-html.el (org-html-link): Add image attributes to "img" tag,
not to the "a" container. Also fix spacing for attributes.
Thanks to Robert Eckl for reporting it.
* lisp/org.el (org-fill-paragraph): Do not mix consecutive comments
when filling any of them.
* testing/lisp/test-org.el: Add test.
Thanks to Samuel Wales for reporting it.
* lisp/ox-html.el (org-html-format-headline--wrap): Fix number of
arguments when setting `org-html-format-headline-function'.
Thanks to Jisang Yoo for reporting it.
* org.el (org-refile): With a numeric prefix argument of `3',
emulate (setq org-refile-keep t) and copy the subtree to the
target location, don't delete it.
* org.texi (Refile and copy): Document `C-3 C-c C-w' and add
an index entry for `org-refile-keep'.
* org.el (org-set-regexps-and-options-for-tags): Fix the
setting of tag groups when relying on `org-tag-alist', not on
tags directly set in the buffer with the #+TAGS option.
Thanks to Maurice for reporting this.