Features Download
From: Bastien <bzg <at> altern.org>
Subject: Release 7.8.01
Newsgroups: gmane.emacs.orgmode
Date: Monday 12th December 2011 23:45:37 UTC (over 4 years ago)
Dear all,

I'm releasing 7.8.01.  7.8 has a bug about HTML publishing,
please don't use it.


Below is the list of changes, also accessible on the website:


Special thanks to Jambunathan, Nicolas, Eric and Carsten for
their work on this release.  I won't tell how excited I am by
all these new changes: we waited long for the ODT exporter to
be in Org's core, and we can now celebrate this achievement!  
Thanks again to Jambunathan for his steady support here.  We 
also waited long for having a new parser/exporter and this
is what Nicolas has been silently achieving: the promises of 
this code will unfold as we will write new exporters and 
rewrite old ones.  Also thanks to Eric for his patience in 
sorting out key standardization issues about code blocks.

Long life to Org!

Version 7.8


- Jambunathan's ODT exporter is now part of Org's core.
- Nicolas' new export engine is now part of =contrib/=
- Standard code block keywords
- 10 new committers
- Many bugfixes

See below for details.

New committers who signed the FSF copyright assigment 

Here is the list of new contributors who signed the FSF papers
since Org 7.7 - welcome, and thanks for your contributions!

- Andreas Leha
- Christian Moe
- Julian Gehring
- Max Mikhanosha
- Michael Brand
- Niels Giessen
- Pieter Praet
- Sergey Litvinov
- Thomas Holst
- Thorsten Jolitz

The ODT exporter is now part of Org's core 

- Full refresh of the OpenDocument Text section in the
  manual.  All new features listed below are fully-documented.
- Associate custom styles on per-file basis using
  =#+ODT_STYLES_FILE:= directive.
- Fontify code listings using an enhanced version of
  =htmlfontify.el= and generate line numbers natively.
- Embed MathML and OpenDocument formula files.
- Use LaTeX to MathML converter -- say MathToWeb
  ([http://www.mathtoweb.com/]) -- for
handling LaTeX Math
- In tables, use column width cookies to control relative width
  of columns.
- Also for tables, you can specify custom styles using
  =#+ATTR_ODT:= lines.
- Lots of bug fixes.


The following features are /experimental/.  These features are
specific to the ODT export engine and their implementation and
usage could change considerably in future versions.

- Support for list tables -- see this [message on the list].
- Support for annotation blocks -- see this [message on the list].

Special thanks to Jambunathan for his work and his patience
through the process of integrating this vital contribution into
Org's core.

[message on the list]: http://lists.gnu.org/archive/html/emacs-orgmode/2011-09/msg00017.html
[message on the list]: http://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg01251.html

New export engine by Nicolas 

See the comment sections in org-element.el and in org-export.el
(in =contrib/lisp/=).  Also check the experimental LaTeX exporter
using in =EXPERIMENTAL/org-e-latex.el=.

Check Nicolas' announcement [on the list] and hack around!

Thanks a lot to Nicolas for this great and promising achievement.

[on the list]: http://comments.gmane.org/gmane.emacs.orgmode/49416

Incompatible changes 

Standardized code block keywords 

Following a round of on-list discussion, many code block synonyms
have been removed.  You can safely move forward the following

- call lines are specified with #+call:
- code blocks are named with - results are named with   code block may
  still be labeled with   named with #+tblname: will be considered to be
  named results

The following function may be used to update an existing Org-mode
buffer to the new syntax:

  (defun update-org-buffer ()
    "Update an Org-mode buffer to the new data, code block and call line
      (flet ((to-re (lst) (concat "^[ \t]*#\\+" (regexp-opt lst t)
             (update (re new)
                     (goto-char (point-min))
                     (while (re-search-forward re nil t)
                       (replace-match new nil nil nil 1))))
        (let ((old-re (to-re '("RESULTS" "DATA" "SRCNAME" "SOURCE")))
              (lob-re (to-re '("LOB")))
              (case-fold-search t))
          (update old-re "name")
          (update lob-re "call")))))

*Note*: If an old version of Org-mode (e.g., the one shipped with
Emacs) is installed on your system, many of the important
variables will be pre-defined with a =defvar= and *will not* have
their values automatically updated -- these include the

- =org-babel-data-names=
- =org-babel-result-regexp=
- =org-babel-src-block-regexp=
- =org-babel-src-name-regexp=
- =org-babel-src-name-w-name-regexp=

It may be necessary to either remove the source code of older
versions of Org-mode or to explicitly evaluate the ob.el file.

Removed the =#+BABEL:= keyword 

Code block header arguments may now be specified using the
standard =#+Property:= keyword.  See [Property names ending in `+'
accumulate] for more information on the extended property syntax. 

[Property names ending in `+' accumulate]: #accumulating-property-keywords

Deleted =org-mode-p= ([git]) 

This function has been deleted: please update your hacks if you
relied on it.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=4bbdfd22

New features and user-visible improvements 

Day names are optional when you type timestamps manually ([git]) 

You can type "<2011-12-12>" or [2011-12-12] and modify this timestamps with
S- like other timestamps.  Thanks to Carsten for implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=278d5afa

Improved filtering through =org-agenda-to-appt= ([git]) 

The new function allows the user to refine the scope of entries
to pass to =org-agenda-get-day-entries= and allows to filter out
entries using a function.
Thanks to Peter Münster for raising a related issue and to
Tassilo Horn for this idea.  Also thanks to Peter Münster for
[fixing a small bug] in the final implementation.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=db04ef74
[fixing a small bug]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=68ffb7a7

=org-agenda-date-later= jumps to today when modifying past date ([git]) 

The command =org-agenda-date-later= ( in the Agenda
Mode) directly jumps to today.  Thanks to Carsten for
implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=f20eef318e9e66481dde560dc5e388e911b28aab

Use prefix arg 0 to inhibit note taking for TODO change ([git]) 

See Carsten's comment: "Sometimes I want to quickly make a few TODOs done
in the agenda and I want to bypass the note taking I have normally set
up.  With this change, I can press `0 t d' in the agenda to do this."

Thanks to Carsten for implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=773596e3

Various improvements to =org-indent.el= 

Nicolas Goaziou worked on refactoring and improving
=org-indent.el=, which should now be faster.  It also better
combines with =visual-line-mode=.

Property names ending in =+= accumulate 

This results in the following behavior.

=org-agenda-custom-commands= has a default value ([git]) 

This option used to be `nil' by default.  This now has a default
value, displaying an agenda and all TODOs.  See the docstring for
details.  Thanks to Carsten for this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=b3de2dbb953dcadacafeb179899ab9df184da4ff

=outline-demote/promote= points to =org-demote/promote-subtree= 

Users who use this outline commands in =outline-mode= will want
them to behave the Org way in Org.  Thanks to Michael Brand for
the suggestion.

New escape characters for =org-log-note-headings= ([git]) 

The option =org-log-note-headings= now supports %d and %D for
inactive and active timestamps.  This affect the behavior of the
command =org-store-log-note=.  Thanks to John J Foerch for a
patch for this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=a5d4783a7eacf6bf67317408e7c4feaea71b746e

New command =org-table-transpose-table-at-point= ([git]) 

See the docstring.  This hack from Juan Pechiar is now part of
Org's core.  Thanks to Juan!

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=b67b6b7844f619f40a79dff69e700f24ac8d6ac9

Allow recursive edit of minibuffer ([git]) 

You can now use the command =C-c != (=org-time-stamp-inactive=)
when prompted e.g. for a link name.  This is because the central
function =org-completing-read= now support recursive edit.  Only
=C-c != is available at the moment, but if you can think of a
useful command to use, please let me know.

Thanks to Skip Collins for the idea and to Nick Dokos for the

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=5091facd7f4ec80cce86049d6d84a164cb017970

Allow dynamic construction of the publishing destination ([git]) 

Thanks to Kai Tetzlaff for adding this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=af0789a5a8951a87f050abb79313012f261bf4f0

Set the capture default time to the prompt time ([git]) 

In the file+datetree+promt target type, the user is being asked
for a date, where to file an entry.  In the template, he can use
the escape placeholders for active and inactive time stamps.  So
far, these were filled with todays date.  This behavior changed
so that, also at %t and %u, the date to use is the one entered at
the prompt.
Reported by Erik Hetzner and fixed by Carsten.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=acfd6ff3

=org-agenda-skip-additional-timestamps-same-entry= defaults to `nil'

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=aefd49b9098950a6bf8ebf95160d9b5ae94f2ec0

org-sudoku.el -- small sudoku solver 

Carsten wrote org-sudoku.el, a little sudoku solver, which lives
in the contrib/ directory.

From [his message]: "my daughter got stuck with a couple of SUDOKU
puzzles during the vacation (where wh had no internet
connection), so I hacked a small SUDOKU solver that reads a 9x9
Org table and solves it as a sudoku puzzle.  A little silly, but
maybe fun for someone - I have pushed it into the contrib/lisp

[his message]: http://permalink.gmane.org/gmane.emacs.orgmode/45474

Code Block related features and improvements 

Added [tikzDevice] support to ob-R.el 

[tikzDevice]: http://cran.r-project.org/web/packages/tikzDevice/index.html

Support for Pico Lisp code blocks 

Thanks to Thorsten Jolitz Pico Lisp code blocks are now
supported.  See =ob-picolisp.el= for more information.

Extension to the =eval= code block header argument 

The =eval= code block header argument now accepts four (six)
possible values the meaning of which is shown in the table below.

  never or no                 The code block will not be evaluated under
  query                       Evaluation of the code block will require a
  never-export or no-export   The code block will not be evaluated during
                              but may still be called                      
  query-export                Evaluation of the code block during export
                              require a query.                             

Update of intermediate results during code block evaluation 

When set to t, the new =org-babel-update-intermediate= variable
will update in-buffer results for code blocks which are evaluated
in the resolution of a variable reference.  This can be used to
ensure that the latest returned results are always shown in

Support for Fortran code block is now in the core 

Thanks to Sergey Litvinov for contributing this support.

The =sbe= function allows header argument specification 

If first variable is a string and not a cons cell, then interpret
it as a string of header arguments to be passed to the code

Support for Shen code blocks 

See [http://www.shenlanguage.org/] for
information on Shen.

A major mode for shen code blocks is available through the GNU

New options and faces 

New option =org-export-html-headline-anchor-format= ([git]) 

Format for anchors in HTML headlines.

It requires to %s: both will be replaced by the anchor referring
to the headline (e.g. "sec-2").  When set to `nil', don't insert
HTML anchors in headlines.

This was requested by Alan L Tyree.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=b7f5efdc4e1ed07f295d28a05fab3588c4194110

New option =org-table-formula-field-format= ([git]) 

Format for fields which contain the result of a formula.
For example, using \"~%s~\" will display the result within tilde
characters.  Beware that modifying the display can prevent the
field from being used in another formula.

Thanks to Dov Grobgeld for this idea.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=7a513b2c00e83f81c8bf1d3abe482d00a2946abc

New option =org-loop-over-headlines-in-active-region= ([git]) 

When set to `t', some commands will loop over the active
region.  Currently, =org-schedule= and =org-deadline= uses this
option: pressing =C-c C-s= or =C-c C-d= when the region is active
will let you schedule/deadline all the visible headlines in the

Thanks a lot to David Maus for implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=e67a28e9

New option =org-catch-invisible-edits= ([git]) 

This option makes it possible to check what is the right thing to do before
editing invisible regions.  Here are the possible values of this option:

+nil              Do not check, so just do invisible edits.
+error            Throw an error and do nothing.
+show             Make point visible, and do the requested edit.
+show-and-error   Make point visible, then throw an error and abort the
+smart            Make point visible, and do insertion/deletion if it is
                  adjacent to visible text and the change feels

See the docstring for more details.

Thanks to Carsten for implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=31d9fd44

New option =org-export-latex-table-caption-above= 

Let the user place a caption above its table in LaTeX.
Thanks to Thomas Dye for a patch to this effect.

New option =org-agenda-follow-indirect= ([git]) 

By setting `org-agenda-follow-indirect' to a non-nil value,
`org-agenda-follow-mode' will use an indirect buffer to display
only the current item, rather than the whole agenda file in which
it lives.  

Thanks to Dave Abrahams for implementing this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=e53f62eba9569b78540481bda4b5e7a6b4016983

New option =org-refile-active-region-within-subtree= ([git]) 

Non-nil means also refile active region within a subtree.

By default =org-refile= doesn't allow refiling regions if they
don't contain a set of subtrees, but it might be convenient to do
so sometimes: in that case, the first line of the region is
converted to a headline before refiling.

Thanks to Jeff Horn for raising the issue of refiling a list
item, and to Nicolas Goaziou, Nick Dokos and Suvayu Ali for
discussing them patiently.  

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=c25165c25dc9fdb5b57b3c66b2e0ec0efdbeb7ad

New option =org-latex-to-mathml-convert-command= 

This option lets you specify a way to convert LaTeX fragments to
MathML.  See also =org-latex-to-mathml-jar-file= and the
docstring of =org-create-math-formula=.

Thanks to Jambunathan K for implementing this.

New option =org-properties-postprocess-alist= ([git]) 

See its docstring:

Alist of properties and functions to adjust inserted values.
Elements of this alist must be of the form

  ([string] [function])

where [string] must be a property name and [function] must be a
lambda expression: this lambda expression must take one argument,
the value to adjust, and return the new value as a string.

For example, this element will allow the property "Remaining"
to be updated wrt the relation between the "Effort" property
and the clock summary:

       (let ((clocksum (org-clock-sum-current-item))
             (effort (org-duration-string-to-minutes
                     (org-entry-get (point) "Effort"))))
         (org-minutes-to-hh:mm-string (- effort clocksum))))))

This is inspired by a request from Pascal Mattia.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=eb4b0358155c91bdb7071ad455f011d2fe629b97

New options =org-habit-today-glyph= and =org-habit-completed-glyph= ([git])


This gives you control over the character used for displaying
today (default is `!') and days on which a task has been
completed (default is `*').  Thanks to John Wiegley for this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=0c099370691469d8078121ba2b0567bd19a628c3

New option =org-bibtex-type-property-name= ([git]) 

Configurable property name for bibtex entry types.  Thanks to
Eric Schulte for this.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=4fbefd87aa6ce30e6d6bc7c115c9b59042ed02f0

New face =org-agenda-filter-tags= ([git]) 

This face is used for highlighting the tag(s) filter in the
modeline.  Thanks to Sébastien Vauban for this idea and its

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=63969951

New faces =org-agenda-calendar-event= and =org-agenda-calendar-sexp=

=org-agenda-calendar-event= is the face used to show events and
appointments in the agenda, and =org-agenda-calendar-sexp= the
one used to show events computed from a S-expression.  

Thanks to Sébastien Vauban for this addition.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=bfe779fe677e8a23dbf712dd42160a35af1285fa

Important bugfixes 

Respect =org-export-with-tags= when exporting a subtree ([git]) 

Thanks to Suvayu Ali for spotting this problem and fixing it.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=a0815816

Fix XEmacs compatibility issue when creating an indirect buffer ([git]) 

Thanks to Michael Sperber for this fix.

[git]: http://orgmode.org/w/?p=org-mode.git;a=commit;h=d493a0ec

CD: 3ms