PATCH-3/5 org-odt compatibility patch
From a7881b8d146ddb27452b00ff19c345899d356536 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 11:24:32 +0530
Subject: [PATCH 3/5] Support custom formatters for marking up source or example blocks.
* lisp/org-exp.el (org-export-format-source-code-or-example):
Add support for:
- custom formatters for existing backends
- seamless plugging in of new backends.
PATCH-2/5: org-odt compatibility
From 2bc4854fb86a96b69e53db00603e0b2f8f47fe08 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 02:16:30 +0530
Subject: [PATCH 2/5] org-exp.el: Allow easy plugging in of new backends.
* lisp/org-exp.el (org-export-backends): New variable.
(org-export-select-backend-specific-text): Use above
variable. Also mark text between #+BACKEND and
#+BEGIN_BACKEND...#+END_BACKEND with org-native-text
property. This text property is currently used only by the new
line-oriented generic exporter (which is not yet part of the
repo).
PATCH-1/5 for org-odt compatibility
From 06379ccef996e8dabd8dcced6cbe430aacdef3f0 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 01:53:37 +0530
Subject: [PATCH 1/5] org-export: Reserve a slot for OpenDocumentExporter.
* lisp/org-exp.el (org-export): Reserve keys 'o' and 'O' for
OpenDocumentText export and bind them to org-export-as-odt and
org-export-as-odt-and-open.
* lisp/org-agenda.el (org-float): Aliases for `diary-float'.
This is just to make sure that all the diary sexp functions
have org- equivalents. org-float is just an alias because no
arguments need to be switched around.
* lisp/org-list.el (org-reset-checkbox-state-subtree): make the
command more robust, and correctly update check-boxes in the whole
sub-tree.
(org-update-checkbox-count): fix bug accumulating count of checkboxes
when walking a subtree.
(org-update-checkbox-count-maybe): add an optional argument passed to
org-update-checkbox-count.
Thanks to Paul Mead for the report.
* lisp/ob-tangle.el (org-babel-tangle-file): Use the new argument list
to org-babel-tangle.
(org-babel-tangle): Now when called with a prefix argument, only the
current code block is tangled.
* lisp/org-list.el (org-list-parse-list): replace transitional
check-boxes with "[CBTRANS]" string during parsing.
(org-list-to-generic): use the new property `:cbtrans' to configure
export string for transitional check-boxes.
* lisp/org-agenda.el (org-agenda-add-entry-to-org-agenda-diary-file):
Use stable internal `org-anniversary' instead of diary-anniversary.
(org-class): New function.
(org-diary-class): Use `org-class'.
(org-anniversary, org-cyclic, org-date, org-block): New functions.
This patch provides stable alternatives for a number of diary
functions to be used in diary sexp entries. The corresponding diary-*
functions swap around their input arguments depending on
`calendar-date-style', which is unstable and evil. The functions
provided here have a fixed order of arguments, the ISO order: year
month day.
Also, the `i a' key in the agenda now uses `org-anniversary' instead of
diary-anniversary.
Now *all* code blocks which either are named `ref-name' or have the
:noweb-ref header argument value `ref-name' will have their bodies
concatenated when resolving the noweb reference <<ref-name>>.
* lisp/ob.el (org-babel-expand-noweb-references): Concatenating all
bodies with the appropriate name or :noweb-ref header argument.
* lisp/org.el (org-find-dblock):
(org-clocktable-try-shift): Make regexp work also when #+begin
line is indentex.
Achim Gratz writes:
It wasn't possible to use S-up/down/left/right on the clocktable BEGIN
line when the whole table was indented. Interestingly enough calling
the function directly would work, it turned out to be a regexp in org.el
that was still pinned to bol. There was a second one further down that
is used to recognize dynamic blocks that got the same treatment.
TINYCHANGE
* lisp/org.el (mailcap-parse-mailcaps): Declaring functions used by
`org-open-file'.
(mailcap-extension-to-mime): Declaring functions used by
`org-open-file'.
(mailcap-mime-info): Declaring functions used by `org-open-file'.
* lisp/org-agenda.el (org-agenda-redo): Replacing call to now-defunct
function `interactive-p'.
(org-agenda-show-1): Replacing call to now-defunct function
`interactive-p'.
(org-agenda-set-tags): Replacing call to now-defunct function `interactive-p'.
* lisp/org-ascii.el: Replacing call to now-defunct function
`interactive-p'.
(org-export-as-latin1): Replacing call to now-defunct function
`interactive-p'.
(org-export-as-latin1-to-buffer): Replacing call to now-defunct
function `interactive-p'.
(org-export-as-utf8): Replacing call to now-defunct function
`interactive-p'.
(org-export-as-utf8-to-buffer): Replacing call to now-defunct function
`interactive-p'.
(org-export-region-as-ascii): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-docbook.el: Replacing call to now-defunct function
`interactive-p'.
(org-export-region-as-docbook): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-html.el: Replacing call to now-defunct function
`interactive-p'.
(org-export-region-as-html): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-latex.el: Replacing call to now-defunct function
`interactive-p'.
(org-export-region-as-latex): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-macs.el: Replacing call to now-defunct function
`interactive-p'.
(org-called-interactively-p): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-table.el: Replacing call to now-defunct function
`interactive-p'.
(org-table-blank-field): Replacing call to now-defunct function
`interactive-p'.
(org-table-current-column): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function
`interactive-p'.
(org-table-current-dline): Replacing call to now-defunct function
`interactive-p'.Replacing call to now-defunct function
`interactive-p'.
(org-table-sort-lines): Replacing call to now-defunct function
`interactive-p'.
(org-table-sum): Replacing call to now-defunct function
`interactive-p'.
(org-table-rotate-recalc-marks): Replacing call to now-defunct
function `interactive-p'.
(org-table-eval-formula): Replacing call to now-defunct function
`interactive-p'.
(orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
* lisp/org.el: Replacing call to now-defunct function `interactive-p'.
(org-mode): Replacing call to now-defunct function `interactive-p'.
(org-copy-subtree): Replacing call to now-defunct function
`interactive-p'.
(org-paste-subtree): Replacing call to now-defunct function
`interactive-p'.
(org-store-link): Replacing call to now-defunct function
`interactive-p'.
(org-todo): Replacing call to now-defunct function `interactive-p'.
(org-occur): Replacing call to now-defunct function `interactive-p'.
* lisp/ob-R.el (ess-local-process-name): This variable wasn't known to
be defined.
* lisp/ob-lisp.el (org-babel-lisp-dir-fmt): This defcustom now has a
group specified.
* lisp/ob-tangle.el (org-bracket-link-regexp): This variable wasn't
known to be defined.
(org-babel-tangle-combine-named-blocks): Roll my own version of a
forbidden common lisp function.
* lisp/ob.el (org-babel-sha1-hash): Using a non-deprecated version of
called-interactively.
This brings the behavior inline with the documentation.
* lisp/org-latex.el (org-export-latex-tables): Check for the
"multiline" option and set the `floatp' option to true when
multicolumn tables are requested.
* lisp/org-agenda.el (org-agenda-bulk-action): Fix bug caused by
`days-to-time, converting relative to 1 BC, while the code assumed it
would return a time relative to 1970.
For more information, see
http://thread.gmane.org/gmane.emacs.orgmode/42531
Thanks to Neeum Zawan for suggesting this behavior
* lisp/ob-tangle.el (org-babel-tangle-named-block-combination): Block
combination can now take a number of values.
(org-babel-tangle-combine-named-blocks): More sophisticated block
combination behavior.
* lisp/ob-tangle.el (org-babel-tangle-do-combine-named-blocks):
Switch to turn on the combination of code blocks of the same name.
(org-babel-tangle-combine-named-blocks): Combine blocks of the same
name.
Thanks to Avdi Grimm for suggesting this addition
* lisp/ob-ruby.el (xmp): Declaring this function to appease the
compiler.
(org-babel-execute:ruby): "xmp" result option for outputting
annotated source code.
* lisp/org-list.el (org-list-to-latex): the enumerate environment in
latex increments the counter before using it. Therefore, org-mode
should set the enumeration counter to the desired value minus one.
Patch from Darlan Cavalcante Moreira
TINYCHANGE
Fix the format specification for clock tables.
Niels writes:
Bernt was right in that there were more arguments to format than the
format string specified. I guess I must not have noticed that there was
a call to format (all the other times properties columns are 'maybe
inserted' go directly to `insert-before-markers'), and I must have
forgotten to test the multifile case (I never used multifile clock
reports myself).
However, to keep the layout of the table consistent the *File time*
cells should be in the Headline column. Attached patch fixes this by
putting the (empty) properties cells *before* the *File time* cell.