* lisp/org.el (org-insert-comment, org-comment-or-uncomment-region):
Use `org-element-at-point' instead of `org-in-src-block-p' to check
if we're within a source block.
* testing/lisp/test-org.el: Add test.
* lisp/org.el (org-set-tags): Width of strings presenting on a buffer
should be calculated with `string-width' instead of `length'.
This fixes unaligned tags for the languages with multi-width
characters.
TINYCHANGE
* org.el (org-sort-entries): Mention the
`org-after-sorting-entries-or-items-hook' hook in the
docstring.
Thanks to Andreas Röhler for suggesting this.
* lisp/org.el (org-insert-comment, org-comment-or-uncomment-region):
use the relevant language’s major mode comment function if called from
within a source block.
This patch makes it easier to (un)comment lines of babel source. Now
M-; in a soucre code block should Just Work.
The modification to ‘org-insert-comment’ also fixes a bug, whereby the
function would eat blank lines after it. The first block, where ! is
the point, would lead to the second instead of the third:
#+name: orig
#+begin_src org
xxxxxxx
!
yyyyyy
#+end_src
#+name: bad
#+begin_src org
xxxxxxx
#
yyyyyy
#+end_src
#+name: desired
#+begin_src org
xxxxxxx
#
yyyyyy
#+end_src
Also, the ‘org-comment-or-uncomment-region’ change results in an
undesirably move of the point after the comment is created. This is
because ‘comment-region’ wraps the call to ‘comment-region-function’
in a ‘save-excursion’. The org mode code deletes and reinserts the
whole babel block, which confuses save-excursion. Org carefully puts
the point back in the proper place, but comment-region’s
save-excursion then substitutes its own erroneous placement.
* org.el (org-babel-load-file): Set `exported-file' correctly,
in case the file as been tangled using a buffer-local value.
* ob-tangle.el (org-babel-tangle-file): Return the list of
tangled files.
Thanks to Sam Flint for reporting this.
* lisp/ox.el (org-export-insert-default-template): Make sure strings
are properly quoted when inserting a template. Specifically,
default value for drawers should be d:(not "LOGBOOK"), not d:(not
LOGBOOK).
* lisp/org.el (org-flag-drawer): Rewrite function using Elements.
Also prevents flagging drawers within example blocks.
* testing/lisp/test-org.el (test-org/flag-drawer): Add test.
* lisp/org.el (org-display-inline-images): Modify link regular
expression to match images in description part. Update doc string to
explain link behavior.
* lisp/ob-tangle.el: (org-babel-tangle): don’t move point when called
with single prefix arg
Previously, C-u C-x C-v C-t would move point to the head of the source block.
* lisp/ox.el (org-export-table-cell-starts-colgroup-p,
org-export-table-cell-ends-colgroup-p,
org-export-table-row-starts-rowgroup-p,
org-export-table-row-ends-rowgroup-p): fix swapage of "row" and
"column" in the docstrings for these functions
* lisp/ob-core.el (org-every): Declared function for compiler.
(org-babel-safe-header-args): Moved before first use.
(org-babel-header-args-safe-fn): Moved before first use.
* lisp/ob-comint.el (org-babel-comint-in-buffer): don’t add to
comint-input-ring
Previously, babel code would be added to the comint input ring of a
babel session, making interactive use of the session difficult: one
had to page through the babel generated commands when browsing the
comint history with M-p/M-n. The session repl’s history should just
contain commands the user has specifically entered in the repl buffer,
and not those which are fed in from org mode. So, we bind
‘comint-input-filter’ to a function that always returns nil in the
‘org-babel-comint-in-buffer’ macro, to avoid any additions to the
input ring while executing code from babel.
* lisp/ob-comint.el (org-babel-comint-with-output,
org-babel-comint-in-buffer): clean up code.
This patch replaces some deeply nested ca/dr calls with ‘nth’, and
replaces a setq/unwind-protect/setq incantation with a simple let
binding. Finally, it also restructures ’org-babel-comint-in-buffer’
to not needlessly save/restore match and excursion data if the buffer
process is not live, and to use with-current-buffer instead of
save-excursion+set-buffer
(info "(elisp) Excursions")
* lisp/ox-latex.el (org-latex-listings): Don't quote const value.
Quoting it would set `org-export-latex' not to `minted' but `(quote
minted)' and thus breaking the export.
Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* lisp/ox-latex.el (org-latex--translate): New function.
(org-latex-longtable-continued-on)
org-latex-longtable-continued-from): Remove variables.
(org-latex-table-row): Use new function.
* lisp/ox.el (org-export-dictionary): Add entries relative to
longtables. Fix some other entries.
* lisp/org.el (org-insert-heading): Do not error out when inserting is
to be done at one of the buffer's boundaries.
* testing/lisp/test-org.el: Add tests.
* lisp/org.el (org-insert-todo-heading-respect-content): Pass correct
prefix arg to always insert heading.
TINYCHANGE
This function used a second argument t, which is eventually passed to
org-insert-heading, adding a list item when inside a plain list. Use
the proper argument '(4) now, to always create a heading, just like
the function's name and documentation imply.
* org-src.el (org-edit-src-exit): Place an undo boundary before
writing changes back to parent buffer.
The previous code attempted to preserve the undo information in the
indirect buffer editing the source code, but this interacts poorly
with the undo system, and can lead to undo operations scrambling the
buffer. The new approach means that edits made in the indirect buffer
cannot be undone piece-by-piece (instead, all changes made in the
indirect buffer constitute one “change” from the point of view of
undo), but the misbehavior of undo is (hopefully) now avoided.
* lisp/org.el (org-indent-region): BEGIN_SRC and END_SRC lines should
not be considered part of the source block for the purposes of
indentation.
TINYCHANGE
* lisp/ox-latex.el (org-latex-table-row): Implements the \endfirsthead
command so the caption only appears once, at the top of the table.
Subsequent pages of the table start with "Continued from previous
page".
* lisp/org-element.el (org-element-latex-or-entity-successor,
org-element-latex-fragment-parser): Use `org-latex-regexps' instead
of `org-format-latex-options'.
* testing/lisp/test-org-element.el: Fix tests.
`org-latex-regexps' defines the correct syntax for LaTeX code within
an Org buffer. On the other hand, `org-format-latex-options'
determines which syntax can be previewed within the buffer.
* lisp/ox-odt.el (org-odt-line-break, org-odt-plain-text): Remove
newline after line-break tag.
The exporter was pretty-printing the ODT XML with newlines after
forced line breaks, but LibreOffice would interpret those as
spaces. This led to a leading space after every manual line break.
* lisp/ob-ruby.el (org-babel-ruby-evaluate):
set conf.echo=false for the duration of evaluation.
* testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test.
* lisp/org-element.el (org-element-babel-call-parser,
org-element-inline-babel-call-parser): Do not call
`org-babel-lob-get-info' since it is out of parser's scope.
(org-element-babel-call-interpreter,
org-element-inline-babel-call-interpreter): Apply changes to parsers.
* lisp/ox-ascii.el: Remove comments at the beginning of the file since
the library is documented in Org manual.
* lisp/ox-beamer.el: Remove comments at the beginning of the file since
the library is documented in Org manual.
* lisp/ox-html.el: Remove comments at the beginning of the file since
the library is documented in Org manual.
* lisp/ox-icalendar.el: Remove comments at the beginning of the file since
the library is documented in Org manual.
* lisp/ox-md.el: Remove comments at the beginning of the file since
the library is documented in Org manual.
* lisp/ob-tangle.el (org-babel-under-commented-heading-p): Check if
the point is under a commented heading (including parents).
(org-babel-tangle-collect-blocks): Don't tangle blocks is under a
commented heading (including parents).
* lisp/org-element.el (org-element-center-block-parser,
org-element-drawer-parser, org-element-dynamic-block-parser,
org-element-item-parser, org-element-quote-block-parser,
org-element-comment-block-parser, org-element-export-block-parser,
org-element-verse-block-parser, org-element-special-block-parser,
org-element-example-block-parser, org-element-headline-parser,
org-element-inlinetask-parser): Remove :hiddenp property.
* lisp/org.el (org-end-of-line, org-down-element): Use an equivalent
of :hiddenp property.
* testing/lisp/test-org-element.el: Remove tests.
The property is removed because it is buggy (e.g., when there's a link
just after a block opening line) and not really useful.
* lisp/org.el (org-link-escape-chars): Add comment with escape numbers
alphabetically ordered.
(org-link-escape-chars-browser): Add comment with escape numbers.
(org-link-escape): Use better readable char constant instead of number
constant for percent char.
(org-link-escape-browser): New function to substitute duplicate source
code.
(org-open-at-point): Substitute duplicate source code.
* testing/README: Make comment in source code example clearer.
* testing/lisp/test-org.el (test-org/org-link-escape-chars-browser):
Change URL to real use case and use the new function
`org-link-escape-browser'.
Always call org-confirm-babel-evaluate from the head of the code
block being evaluated so that the info may be found with
e.g., (org-babel-get-src-block-info 'light)
* lisp/ob-core.el (org-babel-check-confirm-evaluate): Call
org-confirm-babel-evaluate from code block head.
* lisp/ob-tangle.el (org-babel-tangle-use-relative-file-links):
Controls the use of relative paths in files and links in tangled
source code.
(org-babel-spec-to-string): Optionally use relative paths in files
and links.
* lisp/ob-core.el (org-babel-insert-header-arg): Optional arguments
for usage from Emacs Lisp programs. In addition this function will
now insert header arguments in the correct place instead of at the
current point.
- ensure body is expanded for n-repl as well
- declare n-repl functions
- remove require ob-tangle from ob-clojure
* lisp/ob-clojure.el (org-babel-clojure-backend): Customization
variable to select clojure backend
(nrepl-eval): Declared function.
(nrepl-current-connection-buffer): Declared function.
(org-babel-execute:clojure): Execution now uses customized backend.
* lisp/org.el (org-ctrl-c-ctrl-c): When using C-c C-c at an item with
point on a link, make sure checkbox, if any, is toggled.
Reported-by: Christoph LANGE <math.semantic.web@gmail.com>
* lisp/org.el (org-property-drawer-re): Make less greedy to avoid
overreaching matches.
(org-clock-drawer-re): Make less greedy to avoid
overreaching matches.
And seems that you miss another 'padline' in function
'org-babel-spec-to-string', line 323. I attached small patch which
removes that line so I can tangle Org document with shell scripts.
* lisp/ob-tangle.el (org-babel-spec-to-string): Remove dangling
'padline' variable.
TINYPATCH
* lisp/org-table.el (org-table-convert-region): Interpret string SEPARATOR
as regular expression. Triple `C-u' prefix arg will read a regexp
from the user.
* doc/org.texi: Document that `C-c |' can take a regexp as a separator.
Patch modified from a proposal by Francois.
* lisp/ox-beamer.el (org-beamer--format-block): Return an error
message when using a special environment as a block type. Also
check for incomplete environment definitions.
The difference between elisp and every other language was causing
confusion, so simpler just to set these to nil.
* lisp/ob-emacs-lisp.el (org-babel-default-header-args:emacs-lisp):
Set to nil.
* lisp/ob-tangle.el (org-babel-spec-to-string): Remove padline
handling from here as there is insufficient information on context.
(org-babel-tangle): Moved padline handling here where we can test
for placement in the file.
* lisp/ob-gnuplot.el (org-babel-expand-body:gnuplot): Don't add "set
datafile missing..." with :missing, instead this header argument now
only changes the value of the *org-babel-gnuplot-missing* variable.
* lisp/ox.el (org-export--populate-ignore-list): Ignore text before
first headline if an :export: tag (or a select tag) is found within
the buffer.
* testing/lisp/test-ox.el: Add tests.
* lisp/org-colview.el (org-dblock-write:columnview): Change the
capture of pos to after inserting the original content
The problem is with a block that has content preceding the table.
Upon recreating the content, the `pos' gets set to the beginning of
this content instead of the table. Later calls to
`org-table-recalculate' or `org-table-align' will fail because the
point is not at a table.
This patch moves the capture of `pos' to right before the insertion of
the table.
TINYCHANGE
Patch by Benjamin Beckwith
I suggest the following change so that C-u C-u C-c ! inserts an inactive
timestamp. I also document the INACTIVE argument of org-time-stamp.
--
Nicolas.
From 5cdb18297d92f2d99334d98aa2f3b8a40e44702f Mon Sep 17 00:00:00 2001
From: Nicolas Richard <theonewiththeevillook@yahoo.fr>
Date: Mon, 29 Apr 2013 09:02:21 +0200
Subject: [PATCH] Enforce the convention that C-c ! inserts inactive
timestamps.
* lisp/org.el (org-time-stamp): When INACTIVE is non-nil, insert an
inactive timestamp also with double universal argument.
This patch is based off of a request and an initial patch supplied by
Daniele Pizzolli.
* lisp/ob-core.el (org-babel-remove-result): Added an option to keep
the results keyword when removing the content of results.
* lisp/ox-texinfo.el (org-texinfo-export-to-texinfo): Use new style
backquoting.
(org-texinfo-export-to-info): Use new style backquoting.
Thanks to Mehul Sanghvi for the patch.
* lisp/org.el (org-insert-heading): Improve whitespace behavior at
end of subtree.
In a subtree with lots of empty space at the end, until now the new
entry would be inserted after all that whitespace. Now, it is
inserted closer to the existing text, and the whitespace remains after
the new headline.
* lisp/ob-core.el (org-babel-default-header-args): It is likely that
someone meant to set :padlines to "yes", but accidentally set
:padnewlines to "yes". Either way lets just remove this which
shouldn't have any functional effect.
Whitespace is significant in Haskell code so this could change
program semantics.
* lisp/ob-haskell.el (org-babel-default-header-args:haskell): set
:padlines to "no" by default.
* lisp/org-element.el (org-element-at-point): If point is at the end
of the buffer, and that buffer ends with a list, and there's no
final newline, return last element in last item instead of plain
list.
* testing/lisp/test-org-element.el: Add test.
This fix allows to fill correctly the following construct:
- Item with a very long line ending at the end of buffer.
* doc/org.texi (@LaTeX{} specific attributes): Document that tabu
and tabularx packages are not in the default set of packages.
* lisp/org.el (org-latex-default-packages-alist): Add the `rotating'
package to the list of default packages. Improve docstring.
* lisp/org.el (org-insert-property-drawer): Insert only after space in
current line.
This fixed a bug reported by Mathieu Boespflug, who writes:
> Hi,
>
> consider the following very simple org file:
>
> * TODO Thing1[]
>
> where "[]" marks where the point is. Now if I C-S-RET to insert a new
> TODO heading, I get
>
> * TODO Thing1
> * TODO []
>
> Note that there is a trailing space at the end of the last line, as
> expected. The problem is that if I now press C-c C-x p to set
> a property (any property), then I end up with the following situation:
>
> * TODO Thing1
> * TODO
> :PROPERTIES:
> :PROP: val
> :END: []
>
> The point is now at the end of the property drawer, rather than where it
> was before. Notice how the trailing whitespace in the heading has
> moreover been moved to after the property drawer.
>
> Expected behaviour:
>
> After C-c C-x p, I expect to get:
>
> * TODO Thing1
> * TODO []
> :PROPERTIES:
> :PROP: val
> :END:
>
> This is exactly what I get if there is *no trailing whitespace* in the
> TODO heading before hitting C-c C-x p. So it seems that the bug is that
> org-set-property does not deal well with trailing whitespace.
>
> This is a problem because it messes up setting properties by advising
> org-insert-todo-heading, say to set a CREATED property automatically for
> new TODO items.
* doc/org.texi (Agenda commands): Document fortnight view.
* lisp/org-agenda.el (org-agenda-custom-commands-local-options):
(org-agenda-span): Add support for fortnight view.
(org-agenda-menu): Add fortnight view command.
(org-agenda-list):
(org-agenda-ndays-to-span): Add support for fortnight view.
(org-agenda-span-to-ndays): Add support for fortnight view.
(org-agenda-later): Add support for fortnight view.
(org-agenda-fortnight-view): New command.
(org-agenda-change-time-span): Add support for fortnight view.
(org-agenda-compute-starting-span): Add support for fortnight view.
This is a patch by Michael Gauland.
* lisp/org.el (org-meta-return): Allow M-RET to insert items within
drawers. Rewrite function.
This patch also allows a user to insert a headline within a drawer,
which will basically break it. The point is to leave user responsible
for his editing actions.
* lisp/org-element.el (org-element-footnote-definition-parser): Fix
value for :contents-begin when first line of footnote definition is
empty besides the label.
* testing/lisp/test-org-element.el (test-org-element/footnote-definition-parser):
Add test.
* lisp/org-element.el (org-element-at-point): Return correct element
when point is on a blank line just below a headline.
* testing/lisp/test-org-element.el: Add test.
* lisp/org.el (org-overview): Preserve point.
We want to preserve point when changing global visibility. This is a
bit dangerouns, because it can leave point in an invisible location.
However, we want to make sure that pressing M-TAG three times returns
us to the same position as before.
* lisp/org.el (org-read-date-minibuffer-local-map): Don't replace disputed
keys when defining this keymap.
(org-read-date: Remove unnecessary binding of `org-replace-disputed-keys'.
This original fix did not work, thanks to Miro Bezjak for showing what
the proper fix should be.
* lisp/org.el (org-open-at-point): The new code is being run in the
same spot as `org-open-link-functions'. In case they failed, check
if link matches "^id:" and if so, load the id interface and follwo the
link.
This fixes Emacs bug#14910: org-mode `org-open-at-point' doesn't
follow id links.
* lisp/org-timer.el (org-timer-set-timer): Use the variable
`org-clock-sound' when calling `org-notify'.
When org-notify second parameter is t we only get the standard beep.
Evaluating with coma we can use different sounds for differents
running timers, as `org-clock-sound' was set when
`org-timer-set-timer' get execute
Patch proposal by Roberto Huelga Díaz.
TINYCHANGE
* lisp/org.el (org-adaptive-fill-function): Do not handle
`adaptive-fill-regexp' in comments as the behaviour is not
satisfying.
* testing/lisp/test-org.el: Remove test.
* lisp/org-list.el (org-list-struct-apply-struct): Do not move item's
contents within a child above when repairing indentation.
* testing/lisp/test-org-list.el: Add tests.
* lisp/ox-html.el (org-html--build-meta-info): Fix output of meta tags
when properties are present.
Reported-by: Kyle Machulis <kyle@nonpolynomial.com>
This reverts commit 24812caff4. This is
a wrong fix sinc the function already calls `org-element-context',
which cannot find Babel code in macros anyway.
* lisp/ob-ruby.el: New customizations `org-babel-ruby-hline-to' and
`org-babel-ruby-nil-to'
(org-babel-ruby-var-to-ruby): Convert incoming 'hlines.
(org-babel-ruby-table-or-string): Convert outgoing nils.
Patch by Rick Frankel.
* lisp/org.el (org-unlogged-message): New function.
(org-cycle): Use `org-unlogged-message'.
(org-cycle-internal-global): Use `org-unlogged-message'.
(org-cycle-internal-local): Use `org-unlogged-message'.
(org-global-cycle): Use `org-unlogged-message'.
(org-display-outline-path): Use `org-unlogged-message'.
* lisp/org-pcomplete.el (org-make-org-heading-search-string): Fix function
declaration.
(pcomplete/org-mode/searchhead): Remove incorrect second arguments to
`org-make-org-heading-search-string'.
* lisp/org-capture.el (org-capture-expand-embedded-elisp): Throw error if
result is not a string and not nil. If the result is nil, treat it as
if it was the empty string.
* ox-latex.el (org-latex-item): Use square as unchecked symbol.
* org.el (org-latex-default-packages-alist): Remove latexsym.
Use amssymb symbols to reduce required packages.
* lisp/org.el (org-insert-heading): Improve the empty line insertion behavior.
Basically, never remove empty lines, only add them.
This was a request by Nicolas Goaziou.
* lisp/org-attach.el (org-attach-commit): Use vc-git to find the git
repository.
Org attach use to fail to commit the attached file in git or git annex
when the .git repository is not in the data sub-directory.
This new code will use vc-git to find the .git file, and from this do
what is needed for committing file into git or git annex.
Patch by Remi Vanicat
* contrib/lisp/org-mac-link-grabber.el: File removed.
* contrib/lisp/org-mac-link.el: New file.
* contrib/lisp/org-mac-message.el: File removed
* lisp/org.el (org-modules): Update with the new module org-mac-link
Patch by Anthony Lander
* lisp/ox.el (org-export-collect-headlines): Do not build TOC for
headlines below H value.
* testing/lisp/test-ox.el: Add test.
Reported-by: Jambunathan K <kjambunathan@gmail.com>
* lisp/org.el (org-agenda-ignore-drawer-properties): New option
(org-agenda-prepare-buffers): Honour
`org-agenda-ignore-drawer-properties'.
Following a proposal by Daniel Clemente
* lisp/org-element.el (org-element-text-markup-successor,
org-element-latex-or-entity-successor,
org-element-export-snippet-successor,
org-element-footnote-reference-successor,
org-element-inline-babel-call-successor,
org-element-inline-src-block-successor,
org-element-line-break-successor, org-element-link-successor,
org-element-plain-link-successor, org-element-macro-successor,
org-element-radio-target-successor,
org-element-statistics-cookie-successor,
org-element-sub/superscript-successor,
org-element-table-cell-successor, org-element-target-successor,
org-element-timestamp-successor): Remove LIMIT argument.
(org-element--parse-objects, org-element--get-next-object-candidates):
Apply signature change to successors.
(org-element-context): Narrow buffer around object containers so
parsing of objects when using this function is done under the same
restrictions as in buffer parsing.
* testing/lisp/test-org-element.el: Add test.
* lisp/ox.el (org-export-table-cell-alignment): Ensure required
variables are available.
This error is triggered in ODT export with lists using :list-table
feature. This creates tables as parsed data on the fly in the tree,
triggering call to `org-export-table-cell-alignment', but `org-table'
library may not be available.
* lisp/ox.el (org-export-table-cell-width): Modify key (now an
element) and value structure (now a vector) of cache so it can use
`eq' as test. Elements are circular lists so `equal' cannot apply on
them.
Reported-by: Jambunathan K <kjambunathan@gmail.com>
* lisp/ox-org.el (org-export-as-org): Add missing BODY-ONLY argument,
which is always nil in this back-end.
Reported-by: Nicolas Girard <girard.nicolas@gmail.com>
* lisp/org.el (org-adaptive-fill-function): Look for a fill prefix at
the beginning of the paragraph and subsquently on its second line
instead of the current line.
* testing/lisp/test-org.el: Add test
* lisp/ox-latex (org-latex-src-block): Change format string to
position caption after figure content.
Note: This is now consistent with the caption positioning for
formatted src blocks, later in the same function.
TINYCHANGE
From 8f3c510f43e458a1bbb58b126fc4e402007e6cfe Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko@Stromeko.DE>
Date: Mon, 12 Aug 2013 21:10:27 +0200
Subject: [PATCH] ob-python: run-python requires argument cmd
* lisp/ob-python.el: Supply non-optional argument `cmd' to all
invocations of `run-python'. Invert a condition of to remove an
expendable progn form.
46d05e4d08 corrected the signatore in the declaration of run-python,
but the call without an argument was left in.
* lisp/ox.el (org-export-data-with-backend): Set temporary back-end as
the new back-end in local communication channel.
(org-export-filter-apply-functions): Handle corner case where back-end
is nil.
* testing/lisp/test-ox.el: Small refactoring.
* lisp/ox.el (org-export-filter-apply-functions): Only provide
back-end name (a symbol) as second argument of filters, not the full
back-end (a vector).
* lisp/org.el (org-ctrl-c-ctrl-c): 'C-c C-c' on a link is usually a
no-op. If that link is in a headline, act as if the 'C-c C-c' was
called on the headline, not the link.
* lisp/ox-publish.el (org-publish-find-title): Fix title when no
#+TITLE property is provided.
* lisp/ox.el (org-export-store-default-title): Remove-function.
(org-export--default-title): Remove variable.
(org-export-options-alist): Do not use a default value.
(org-export--get-buffer-attributes): Store a default title.
(org-export-as): Apply function removal.
(org-export--get-global-options): Do not set a property with an
explicitely nil value.
* lisp/ox-publish.el (org-publish-sitemap-sort-files,
org-publish-sitemap-sort-folders, org-publish-sitemap-ignore-case,
org-publish-sitemap-requested, org-publish-sitemap-date-format,
org-publish-sitemap-file-entry-format): Set prefix to
"org-publish-sitemap" instead of "org-sitemap".
(org-publish-compare-directory-files, org-publish-get-base-files-1,
org-publish-projects, org-publish-format-file-entry): Use new prefix.
* lisp/org.el (org-bookmark-names-plist): New user option.
(org-set-regexps-and-options-for-tags): Use `org-bookmark-names-plist'.
(org-refile): Use `org-bookmark-names-plist'.
* lisp/org-capture.el (org-capture-bookmark-last-stored-position): Use
`org-bookmark-names-plist'.
Patch modified from a proposal by Oleh.
* lisp/org.el (org-insert-heading): Rewritten from scratch.
(org-N-empty-lines-before-current): New function
(org-insert-heading-respect-content): Set the correct argument to
force a heading even in lists.
* lisp/ox.el (org-export-to-buffer): Add two arguments: one to trigger
asynchronous export and the other to do extra processing from within
the buffer.
(org-export-to-file): Add two arguments: one to trigger asynchronous
export and the other to do extra processing on the output file.
(org-export-async-start): Small clean up.
* lisp/ox.el (org-export-current-backend): New variable.
(org-export-as): Use new variable.
Thanks to Christophe Rhodes for providing a preliminary patch.
* lisp/ox-ascii.el (org-ascii-table): Remove spurious new line between
a table and the caption below.
Thanks to Rick Frankel for reporting it and providing a patch.
* lisp/org.el (org-adaptive-fill-function, org-fill-paragraph): Add
support for `adaptive-fill-regexp' in paragraphs and comments.
* testing/lisp/test-org.el: Add tests.
* lisp/ox-latex.el (org-latex-inline-image-rules): add "svg" to
supported filetypes.
(org-latex--inline-image): implement the appropriate code for including
SVG files.
This relies on the "svg" LaTeX package (http://www.ctan.org/pkg/svg)
Thanks to Rick Frankel for help debugging this problem.
* lisp/ob-core.el (org-babel-merge-params): When merging parameters, if
a variable is replaced with a new value, then delete colnames/rownames
for the original value of that variable.
* 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.
* 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.
* 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.
* lisp/org-element.el (org-element-item-interpreter): Correctly
interpret back plain lists with "*" items. This fixes "This is not
a list" error returned in this case.
* testing/lisp/test-org-element.el: Add test.
* org.el (org-forward-element, org-backward-element): Throw a
message instead of an error when trying to move from a
position where there is no element.
* lisp/ox-html.el (org-html--format-toc-headline): Make use of
anonymous back-ends.
* lisp/ox-odt.el (org-odt-footnote-reference): Make use of anonymous
back-ends.
(org-odt-format-label, org-odt-toc, org-odt-format-headline--wrap):
Use `org-export-with-backend' instead of
`org-export-with-translations'.
* contrib/lisp/ox-freemind.el (org-freemind--build-node-contents): Use
`org-export-with-backend' instead of `org-export-with-translations'.
* lisp/ox.el (org-export--registered-backends): Renamed from
`org-export-registered-backends'.
(org-export-invisible-backends): Removed variable.
(org-export-get-backend, org-export-get-all-transcoders
org-export-get-all-options, org-export-get-all-filters): New
functions. It replaces `org-export-backend-translate-table'.
(org-export-barf-if-invalid-backend, org-export-derived-backend-p,
org-export-define-backend, org-export-define-derived-backend):
Rewrite functions using new representation.
(org-export-backend-translate-table): Remove function.
(org-export-get-environment): Use new function.
(org-export--get-subtree-options, org-export--parse-option-keyword,
org-export--get-inbuffer-options, org-export--get-global-options,
org-export-to-buffer org-export-to-file, org-export-string-as
org-export-replace-region-by): Update docstring.
(org-export-data-with-translations): Remove function. Use
`org-export-data-with-backend' with a temporary back-end instead.
(org-export-data-with-backend, org-export-as): Reflect new definition
for back-ends.
(org-export--dispatch-action, org-export--dispatch-ui): Reflect new
definition for back-ends and variable removal. Refactoring.
(org-export-filter-apply-functions): Call functions with
current back-end's name, not full back-end.
* lisp/org.el (org-export-backends, org-create-formula--latex-header):
Use new structure and variables.
* testing/lisp/test-ox.el: Update tests.
This patch separates back-end definition from its registration. Thus,
it allows to use anonymous or unregistered back-ends.
* org.el (org-set-regexps-and-options-for-tags): Enhance
docstring.
(org-set-regexps-and-options): Make sure not to add
`org-tag-alist' twice when setting this variable through et
#+setupfile: directive.
Thanks to Anupam Sengupta for reporting this.
* org.el (org-set-regexps-and-options): Don't set font-lock
defaults here.
(org-mode): Set font-lock defaults here.
This fixes the bug reported here:
http://article.gmane.org/gmane.emacs.orgmode/73429
* org-list.el (org-sort-list): Implement sorting by "checked"
status for check lists.
* org.texi (Plain lists): Add index entry for sorting plain
list. Document sorting by checked status for check lists.
* ox.el (org-export-smart-quotes-alist): Added ("da" "no" "nb" "nn"
"sv").
* ox.el (org-export-dictionary): Added some entries ("da" "no" "nb"
"nn" "sv").
These languages are rather unrestricted, so some changes may to some
extend reflect my preferences.
* ox-latex.el (org-latex-babel-language-alist): Added 'nb', 'nn', and
'no' for Norwegian. Removed 'no-no'.
In ox.el Norwegian is given by 'no' for Norwegian, 'nb' for bokmål,
and 'nn' for nynorsk, correspond to the ISO-2 language codes. 'no-no'
is not defined in ox.el.
* org-table.el (org-table-sum): Fix rounding error when
summing times.
Thanks to Paul Stansell for reporting this and to Nick Dokos for
providing the fix.
See http://mid.gmane.org/87ppv2atvf.fsf%40gmail.com for the
discussion of this bug.
* lisp/ox-html.el (org-html-inline-images): Change default value and
remove `maybe'.
(org-html-format-inline-image): Remove functions.
(org-html--wrap-image, org-html--format-image,
org-html-inline-image-p): New functions.
(org-html-latex-environment, org-html-latex-fragment): Use new
functions.
(org-html-standalone-image-p): Use new functions. Also remove an
unused optional argument.
(org-html-link, org-html-paragraph): Correctly export hyperlinked
images.
This patch permits the back-end to recognize links like:
[[http://orgmode.org][http://orgmode.org/img/org-mode-unicorn-logo.png]]
as standalone, so they can get wrapped within a proper environment and
get captions.
Thanks to Kodi Arfer for reporting it.
* lisp/ox-latex.el (org-latex--caption/label-string): Add ability,
which can build a caption string from `:caption' attribute of #+ATTR_LATEX.
(org-latex--inline-image,org-latex--org-table): Tiny change.
* doc/org.texi (@LaTeX{} specific attributes): Document `:caption'
attribute of #+ATTR_LATEX.
This feature is very useful when you export org to latex with custom
caption command, for example:
\#+ATTR_LATEX: :caption \BiTableCaption{caption 1}{caption 2}
|---+---|
| x | y |
|---+---|
| 1 | 2 |
|---+---|
* lisp/ob-core.el (org-babel-check-confirm-evaluate): Return result of
evaluating the function pointed to by`org-confirm-babel-evaluate'
when it is a functionp and its value as a variable otherwise.
This fixes a regression introduced in 5fe486807e and restores the fix
applied earlier in 8d272b0d3b (and then replaced by a cond form in
ece347e32c, which later got factored out again).
* ox-html.el (org-html-link-use-abs-url): New option.
(org-html-link): Use it to prepend relative links with the
value of HTML_LINK_HOME, when defined.
* lisp/ob-core.el (org-babel-find-named-result): Call lines are not
results.
(org-babel-where-is-src-block-result): Don't implicitly name the
results of call lines.
* lisp/ob-exp.el (org-babel-exp-non-block-elements): There is now
another element on the call line info list.
* lisp/ob-lob.el (org-babel-lob-get-info): Return the name (if any)
at the end of the info list.
(org-babel-lob-execute): Pass the name through to execution.
* org.el (org-mode-map): Remap `forward-paragraph' and
`backward-paragraph' to `org-forward-element' and
`org-backward-element'.
Thanks to Samuel for raising this.
* ox-html.el (org-html-begin-plain-list): New parameter
`ordered-num' to tell whether the list is ordered numerically.
(org-html-plain-list): Handle alphabetical ordered list.
* lisp/ox-beamer.el (org-beamer-environments-extra): Allow to add raw
title in environment definition.
(org-beamer--format-block): Handle new placeholders.
* lisp/ox-html.el: (org-html--has-caption-p): New function.
(org-html-link--inline-image),
(org-html-table): Prepend ordinal number to caption.
(org-html-link): Make numbered link by counting captioned figures and tables.
* lisp/org-colview.el (org-columns-display-here): Enforce fixed width font.
* lisp/org-faces.el (org-column): Setting font width has been shifted
to org-colview.el.
Thanks to Xiao-Yong Jin for this patch.