* org.el (org-provide-todo-statistics): Allow to set to a list
of two lists, one with TODO keywords, the other one with DONE
keywords.
(org-update-parent-todo-statistics): Correctly handle
`org-provide-todo-statistics' when it is set as a list of two
lists, for TODO and DONE keywords.
Thanks to Fletcher Charest for reporting this and requesting
this feature.
* org.el (org-insert-all-links): New parameters `pre' and
`post' to specify a string to preprend and append.
(org-insert-last-stored-link): New command.
(org-mode-map): Bind the new command to `C-c M-l'.
Thanks to Sébastien Vauban for requesting this and to Nick
Dokos for testing and fixing the patch.
* org.el (org-outline-overlay-data): Set the insertion-type of end
bound marker of the function to t (means marker advances when you
insert text at it)
This is to conserve outline visibility property when changes are made
at the end bound of the data.
For example: try `org-babel-execute-subtree' on a folded outline:
The new result will be shown after the folded part of the outline
whereas the outline body should not be visible.
TINYCHANGE
* ox.el (org-export--get-subtree-options): When using the
headline as a title for a subtree export, only take the true
heading, no TODO keyword, no priority cookie, no tag.
Thanks to Robert Klein for reporting this.
* lisp/org-element.el (org-element-at-point): Do not call
`outline-next-heading' when an element at top level contains point.
This is particularly important when the current section ends way
after the point.
* lisp/ob-core.el (org-babel-current-result-hash): Additional info
argument so that named call line results may be found.
(org-babel-set-current-result-hash): Additional info argument so
that named call line results may be found.
* lisp/ob-lob.el (org-babel-lob-execute): Passing info to hash finding
functions so that named results may be found.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Make processing more
robust when results are inserted before source block or when source
block is followed by multiple blank lines.
* testing/lisp/test-ob-exp.el (ob-export/export-with-results-before-block):
Add test.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-opening): Correctly
report conditions to fulfill in order set opening string with
a headline.
(org-koma-letter-headline): Opening can no longer be nil, so look out
for the empty string instead.
* lisp/ox.el (org-export-insert-default-template): Only insert
keywords and options relatives to the selected back-end. Ignore
those relatives to its parent in the case of a derived back-end.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-plug-into-ox):
Remove function.
(org-koma-letter-default-class): Change default value.
A default class is installed by default upon loading the library.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-use-foldmarks):
Change value to symbols or list of symbols.
(org-koma-letter--build-settings): Use new value for folding marks.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-subject-format):
Make it clear that lists of symbols are allowed.
(org-koma-letter-template): Refactor subject-related part.
* contrib/lisp/ox-koma-letter.el (koma-letter): Rewrite function.
Global variables are no longer ignored.
(org-koma-letter--build-settings): New function.
* contrib/lisp/ox-s5.el (org-s5-title-slide-template): Per Arne
Babenhauserheide, the heading levels on the default title slide
template were wrong per the S5 spec.
* lisp/ox-ascii.el (org-ascii--current-text-width): Convert `length'
to `string-width'.
(org-ascii--build-title, org-ascii--build-toc)
(org-ascii--list-listings, org-ascii--list-tables)
(org-ascii-template--document-title)
(org-ascii-inner-template, org-ascii-format-inlinetask-default)
(org-ascii-format-inlinetask-default, org-ascii-item
(org-ascii--table-cell-width, org-ascii-table-cell)
(org-ascii--current-text-width): Likewise.
I've checked all occurrences of the function `length' in ox-ascii.el.
It turns out that the most of them are calculating the width of given
string. To support fullwidth characters, we better use `string-width'
instead of `length'.
Some characters in UCS are categorized as "East Asian Ambiguous"[1].
The return value of `string-width' with those characters depends on
how Emacs is setup. We leave those ambiguous character handling to
Emacs.
Two usages of `length' in `ox-ascii.el' were left as-is, because those
were used for:
- bullet depth calculation in `org-ascii-headline', and
- cell position calculation in `org-ascii--table-cell-width'.
[1]: http://www.unicode.org/reports/tr11/#Ambiguous
* lisp/ox-latex.el (org-latex-headline, org-latex-item): Fix items
starting with a square bracket.
Thanks to Jon Degenhardt, Vladimir Lomov and Eric S Fraga for
contributing to the discussion.