2325 lines
81 KiB
Org Mode
2325 lines
81 KiB
Org Mode
|
|
* # -*- mode: org; fill-column: 65 -*-
|
|
|
|
#+begin_html
|
|
<a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
|
|
#+end_html
|
|
|
|
#+STARTUP: indent hidestars
|
|
|
|
* Version 7.02
|
|
|
|
:PROPERTIES:
|
|
:VISIBILITY: content
|
|
:CUSTOM_ID: v7.02
|
|
:END:
|
|
|
|
** Incompatible Changes
|
|
*** Code block hashes
|
|
Due to changes in the code resolving code block header arguments
|
|
hashing of code block results should now re-run a code block when
|
|
an argument to the code block has changed. As a result of this
|
|
change *all* code blocks with cached results will be re-run after
|
|
upgrading to the latest version.
|
|
|
|
*** Testing update
|
|
Anyone using the org-mode test suite will need to update the jump
|
|
repository for test navigation by executing the following from
|
|
the root of the org-mode repository.
|
|
: git submodule update
|
|
Failure to update this repository will cause loading of
|
|
org-test.el to throw errors.
|
|
** Details
|
|
*** Fontify code in code blocks.
|
|
|
|
Source code in code blocks can now be fontified. Please customize the
|
|
varable =org-src-fontify-natively=. For very large blocks (several
|
|
hundreds of lines) there can be delays in editing such fontified
|
|
blocks, in which case C-c ' should be used to bring up a dedicated
|
|
edit buffer.
|
|
|
|
Thanks to Dan Davison for this.
|
|
|
|
*** Language-mode commands are available in the Org-buffer
|
|
The most general machinery for doing this is the macro
|
|
`org-babel-do-in-edit-buffer'. There is also the convenience
|
|
function `org-babel-do-key-sequence-in-edit-buffer' which makes
|
|
use of this macro, and is bound to C-c C-v C-x and C-c C-v x. If
|
|
there is an active region contained within the code block, then
|
|
this is inherited by the edit buffer. Some examples of the sorts
|
|
of usage this permits are
|
|
|
|
C-c C-v C-x M-; comment region according to language
|
|
C-c C-v C-x C-M-\ indent region according to language
|
|
|
|
Users can make these more convenient, e.g.
|
|
|
|
(defun my/org-comment-dwim (&optional arg)
|
|
(interactive "P")
|
|
(or (org-babel-do-key-sequence-in-edit-buffer "\M-;")
|
|
(comment-dwim arg)))
|
|
|
|
(define-key org-mode-map "\M-;" 'my/org-comment-dwim)
|
|
|
|
A common instance of this general pattern is built in to Org-mode,
|
|
controlled by the variable `org-src-tab-acts-natively': if this
|
|
variable is set, then TAB in a code block has the effect that it would
|
|
have in the language major mode buffer.
|
|
|
|
*** Org-babel commands are available in language-mode edit buffer
|
|
Mirroring the language-native commands in Org buffers above, a new
|
|
macro `org-src-do-at-code-block' and convenience function
|
|
`org-src-do-key-sequence-at-code-block' provide the converse. When
|
|
used in a language major-mode edit buffer (i.e. a buffer generated
|
|
by C-c '), `org-src-do-key-sequence-at-code-block' executes a key
|
|
sequence at the code block in the source Org buffer. The command
|
|
bound to the key sequence in the Org-babel key map is executed
|
|
remotely with point temporarily at the start of the code block in
|
|
the Org buffer.
|
|
|
|
The command is not bound to a key by default, to avoid conflicts
|
|
with language major mode bindings. To bind it to C-c @ in all
|
|
language major modes, you could use
|
|
|
|
(add-hook 'org-src-mode-hook
|
|
(lambda () (define-key org-src-mode-map "\C-c@"
|
|
'org-src-do-key-sequence-at-code-block)))
|
|
|
|
In that case, for example, C-c @ t issued in code edit buffers
|
|
would tangle the current Org code block, C-c @ e would execute
|
|
the block and C-c @ h would display the other available
|
|
Org-babel commands.
|
|
|
|
*** Multi-line header arguments to code blocks
|
|
Code block header arguments can now span multiple lines using the
|
|
new =#+header:= or =#+headers:= lines preceding a code block or
|
|
nested in between the name and body of a named code block.
|
|
Examples are given below.
|
|
|
|
- multi-line header arguments on an un-named code block
|
|
: #+headers: :var data1=1
|
|
: #+begin_src emacs-lisp :var data2=2
|
|
: (message "data1:%S, data2:%S" data1 data2)
|
|
: #+end_src
|
|
:
|
|
: #+results:
|
|
: : data1:1, data2:2
|
|
|
|
- multi-line header arguments on a named code block
|
|
: #+source: named-block
|
|
: #+header: :var data=2
|
|
: #+begin_src emacs-lisp
|
|
: (message "data:%S" data)
|
|
: #+end_src
|
|
:
|
|
: #+results: named-block
|
|
: : data:2
|
|
|
|
*** Unified handling of variable expansion for code blocks
|
|
The code used to resolve variable references in code block header
|
|
arguments has now been consolidated. This both simplifies the
|
|
code base (especially the language-specific files), and ensures
|
|
that the arguments to a code block will not be evaluated multiple
|
|
times. This change should not be externally visible to the
|
|
Org-mode user.
|
|
*** Improved Caching
|
|
Code block caches now notice if the value of a variable argument
|
|
to the code block has changed, if this is the case the cache is
|
|
invalidated and the code block is re-run. The following example
|
|
can provide intuition for the new behavior.
|
|
#+begin_src org :exports code
|
|
,#+srcname: random
|
|
,#+begin_src R :cache yes
|
|
,runif(1)
|
|
,#+end_src
|
|
|
|
,#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
|
|
,: 0.4659510825295
|
|
|
|
,#+srcname: caller
|
|
,#+begin_src emacs-lisp :var x=random :cache yes
|
|
,x
|
|
,#+end_src
|
|
|
|
,#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
|
|
,: 0.254227238707244
|
|
#+end_src
|
|
|
|
*** Added :headers header argument for LaTeX code blocks
|
|
This makes it possible to set LaTeX options which must take place in
|
|
the document pre-amble for LaTeX code blocks. This header argument
|
|
accepts either a single string or a list, e.g.
|
|
|
|
#+begin_src org
|
|
,#+begin_src latex :headers \usepackage{lmodern} :file name1.pdf
|
|
, latex body
|
|
,#+end_src
|
|
|
|
,#+begin_src latex :headers '("\\usepackage{mathpazo}" "\\usepackage{fullpage}") :file name2.pdf
|
|
, latex body
|
|
,#+end_src
|
|
#+end_src
|
|
|
|
*** New function `org-export-string'
|
|
Allows exporting directly from a string to the specified export format.
|
|
*** Code block header argument ":noweb tangle"
|
|
Only expands <<noweb>> syntax references when tangling, not during
|
|
export (weaving).
|
|
*** New function `org-babel-switch-to-session-with-code'
|
|
C-c C-v z (`org-babel-switch-to-session-with-code') is a variant of
|
|
C-c C-v C-z (`org-babel-switch-to-session'): instead of switching to
|
|
the session buffer, it splits the window between (a) the session
|
|
buffer and (b) a language major-mode edit buffer for the code block in
|
|
question. This can be convenient for using language major mode for
|
|
interacting with the session buffer.
|
|
|
|
*** Improvements to R sessions
|
|
R now uses standard ESS code evaluation machinery in the :results
|
|
value case, which avoids unnecessary output to the comint
|
|
buffer. In addition, the R command responsible for writing the
|
|
result to file is hidden from the user. Finally, the R code edit
|
|
buffer generated by C-c ' is automatically linked to the ESS
|
|
session if the current code block is using :session.
|
|
|
|
*** Temporary file directory
|
|
All babel temporary files are now kept in a single sub-directory in
|
|
the /tmp directory and are cleaned up when Emacs exits.
|
|
|
|
*** Function for demarcating blocks `org-babel-demarcate-block'
|
|
Can be called to wrap the region in a block, or to split the block
|
|
around point, bound to (C-c C-v d).
|
|
|
|
*** Function for marking code block contents `org-babel-mark-block'
|
|
Bound to C-M-h in the babel key map (i.e. C-c C-v C-M-h by
|
|
default). This can be useful in conjunction with
|
|
`org-babel-do-in-edit-buffer', for example for language-native
|
|
commenting or indenting of the whole block.
|
|
*** Lists of anniversaries are now handeled better
|
|
|
|
When several anniversaries are defined in the bbdb anniversaries
|
|
field (separated by semicolon), this is now handled nicely by the
|
|
agenda.
|
|
|
|
Thanks to Lukasz Setmann for a patch to this effect.
|
|
|
|
*** Table fields are now aligned better, new <c> cookie.
|
|
|
|
In HTML export, table fields are now properly aligned in accord
|
|
with automatic alignment in org, or as set by the =<r>=, =<l>=, and
|
|
=<c>= cookies. The =<c>= cookie is new and has no effect in
|
|
Org, but it does do the right thing in HTML export. A LaTeX export
|
|
implementation will follow, but is currently still missing.
|
|
|
|
*** Update freemind converter to include body text
|
|
|
|
The freemind exporter now incorporates body text into the mind
|
|
map.
|
|
|
|
Thanks to Lennard Borgman for this patch.
|
|
|
|
*** Make footnotes work correctly in message-mode
|
|
The footnotes code now searches for the message delimiter "--" in
|
|
order to place footnotes before the signature.
|
|
Thanks to Tassilo Horn for this patch.
|
|
|
|
*** Improve XEmacs compatibility
|
|
|
|
Org-mode 7.02 now runs again in 21.4.22 if the new XEmacs base
|
|
package is installed.
|
|
|
|
Thanks to Uwe Bauer, Volker Ziegler, Michael Sperber and others
|
|
for a discussion that lead to this nice result.
|
|
|
|
*** Make it configurable wether agenda jumping prefers the future
|
|
|
|
When jumping to a date from the agenda using the =j= key, you may
|
|
or may not like the property of Org's date reader to prefer the
|
|
future when you enter incomplete dates. This can now be
|
|
configured using the variable =org-agenda-jump-prefer-future'.
|
|
|
|
*** Add publishing functions for ASCII, Latin-1 and UTF-8
|
|
|
|
There are now publishing functions =org-publish-org-to-ascii=,
|
|
=org-publish-org-to-latin1=, and =org-publish-org-to-utf8=.
|
|
|
|
Thanks to Matthias Danzl for showing how to do this.
|
|
|
|
*** Indentation and headline insertion after inline tasks
|
|
|
|
Indentation in inline tasks, and headline insertion after inline
|
|
tasks now behave as expected.
|
|
|
|
*** Encryption in MobileOrg finally works
|
|
|
|
As soon as MobilOrg 1.5 hits the Apple's AppStore, you can
|
|
encrypt your org files on public servers. Please see the
|
|
documentation of MobileOrg and Appendix B of the manual for more
|
|
details.
|
|
|
|
*** MobileOrg: Do not force to insert IDs
|
|
|
|
If you dislike the property of MobileOrg to insert ID properties
|
|
for in all entries being part of an agenda view, you can now turn
|
|
this off using the variable
|
|
=org-mobile-force-id-on-agenda-items=. When this variable is set
|
|
to =nil=, MobileOrg will use outline paths to identify entries.
|
|
Note that this may fail if several entries have identical outline
|
|
paths.
|
|
|
|
*** LaTeX minted package for fontified source code export
|
|
Patch by Dan Davison.
|
|
|
|
A non-nil value of `org-export-latex-minted' means to export source
|
|
code using the minted package, which will fontify source code
|
|
with color. If you want to use this, you need to make LaTeX use the
|
|
minted package. Add minted to `org-export-latex-packages-alist', for
|
|
example using customize, or with something like
|
|
|
|
(require 'org-latex)
|
|
(add-to-list 'org-export-latex-packages-alist '("" "minted"))
|
|
|
|
In addition, it is neccessary to install
|
|
pygments (http://pygments.org), and to configure
|
|
`org-latex-to-pdf-process' so that the -shell-escape option is
|
|
passed to pdflatex.
|
|
|
|
*** Allow to use texi2dvi or rubber for processing LaTeX to pdf
|
|
|
|
Please see the variable =org-export-latex-to-pdf-process= for
|
|
more information.
|
|
|
|
Thanks to Olivier Schwander for the rubber part.
|
|
|
|
*** New STARTUP keywords to turn on inline images
|
|
|
|
If you want to inline images whenever you visit an Org file, use
|
|
|
|
: #+STARTUP: inlineimages
|
|
|
|
*** Support for user-extensible speed commands.
|
|
|
|
There is a new hook =org-speed-command-hook=. Thanks to
|
|
Jambunathan for a patch to this effect.
|
|
|
|
*** Add macro to insert property values into exported text
|
|
|
|
you can use {{{property{NAME}}}} to insert the value of a
|
|
property upon export.
|
|
|
|
Thanks to David Maus for a patch to this effect.
|
|
|
|
*** LaTeX package fixes
|
|
|
|
We updated the list of default packages loaded by LaTeX exported
|
|
files.
|
|
|
|
*** Allow "#" and "%" in tags
|
|
|
|
Tags can now also contain the characters =#= and =%=, in addition
|
|
to =@= and letters.
|
|
|
|
*** Show command names in manual
|
|
|
|
Andreas Röhler is adding command names to keys in the manual.
|
|
This will take a while to complete, but a start has been made.
|
|
|
|
*** Make backslash escape "-" in property matches
|
|
|
|
When entering a tags/property query, "-" is a logical operator.
|
|
However, "-" is also allowed in property names. So you can now
|
|
write "SOME\-NAME" to work around this issue.
|
|
|
|
This was a request by Ilya Shlyakhter.
|
|
|
|
*** Document quick insertion of empty structural elements
|
|
|
|
Org-mode has a built-in template mechanism for inserting block
|
|
templates. This was undocumented until now.
|
|
|
|
Thanks to Jambunathan K for the patch.
|
|
|
|
*** Implement MathJax support
|
|
|
|
Org-mode now uses MathJax to display math on web pages. We serve
|
|
MathJax from the orgmode.org server, at least for the time being
|
|
(thanks Bastien!). If you are going to use this for pages which
|
|
are viewd often, please install MathJax on your own webserver.
|
|
|
|
To return to the old way of creating images and inserting them
|
|
into web pages, you would have to set
|
|
|
|
: (setq org-export-with-LaTeX-fragments 'dvipng)
|
|
|
|
or on a per-file basis
|
|
|
|
: #+OPTIONS: LaTeX:dvipng
|
|
|
|
*** Agenda: Allow compact two-column display in agenda dispatcher
|
|
|
|
If you have many custom agenda commands, you can have the display
|
|
in the dispatcher use two columns with the following settings
|
|
|
|
: (setq org-agenda-menu-show-match nil
|
|
: org-agenda-menu-two-column t)
|
|
|
|
This was a request by John Wiegley.
|
|
|
|
*** Add org-wikinodes.el as a contributed package
|
|
|
|
One frequent request has been to be able to use CamelCase words
|
|
for automatic cross links in a Wiki created by Org. THis is now
|
|
possible with org-wikinodes.el, which is available in the contrib
|
|
directory. We also have some [[http://orgmode.org/worg/org-contrib/org-wikinodes.php][documentation]] for this feature up
|
|
on Worg.
|
|
|
|
*** Timer/clock enhancements
|
|
=org-timer-set-timer= displays a countdown timer in the modeline.
|
|
From the agenda, `J' invokes =org-agenda-clock-goto=.
|
|
|
|
* Version 7.01
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v7.01
|
|
:END:
|
|
|
|
** Incompatible Changes
|
|
|
|
*** Emacs 21 support has been dropped
|
|
|
|
Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
|
|
|
|
*** XEmacs support requires the XEmacs development version
|
|
|
|
To use Org mode 7.xx with XEmacs, you need to run the developer
|
|
version of XEmacs. I was about to drop XEmacs support entirely,
|
|
but Michael Sperber stepped in and made changes to XEmacs that
|
|
made it easier to keep the support. Thanks to Michael for this
|
|
last-minute save. I had hoped to be able to remove
|
|
xemacs/noutline.el from release 7 by moving it into XEmacs, but
|
|
this is not yet done.
|
|
|
|
*** Org-babel configuration changes
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: ob-configuration-changes
|
|
:END:
|
|
|
|
Babel took the integration into Org-mode as an opportunity to do
|
|
some much needed house cleaning. Most importantly we have
|
|
simplified the enabling of language support, and cleared out
|
|
unnecessary configuration variables -- which is great unless you
|
|
already have a working configuration under the old model.
|
|
|
|
The most important changes regard the /location/ and /enabling/
|
|
of Babel (both core functionality and language specific support).
|
|
|
|
- Babel :: Babel is now part of the core of Org-mode, so it is
|
|
now loaded along with the rest of Org-mode. That means that
|
|
there is /no configuration/ required to enable the main
|
|
Babel functionality. For current users, this means that
|
|
statements like
|
|
#+begin_src emacs-lisp
|
|
(require 'org-babel)
|
|
#+end_src
|
|
or
|
|
#+begin_src emacs-lisp
|
|
(require 'org-babel-init)
|
|
#+end_src
|
|
that may by lying around in your configuration must now be
|
|
removed.
|
|
- load path :: Babel (including all language specific files --
|
|
aside from those which are located in the =contrib/=
|
|
directory for reasons of licencing) now lives in the base of
|
|
the Org-mode lisp directory, so /no additional directories/
|
|
need to be added to your load path to use babel. For Babel
|
|
users this means that statements adding babel-specific
|
|
directories to your load-path should now be removed from
|
|
your config.
|
|
- language support :: It is no longer necessary to require
|
|
language specific support on a language-by-language basis.
|
|
Specific language support should now be managed through the
|
|
`org-babel-load-languages' variable. This variable can be
|
|
customized using the Emacs customization interface, or
|
|
through the addition of something like the following to your
|
|
configuration (note: any language not mentioned will /not/
|
|
be enabled, aside from =emacs-lisp= which is enabled by
|
|
default)
|
|
#+begin_src emacs-lisp
|
|
(org-babel-do-load-languages
|
|
'org-babel-load-languages
|
|
'((R . t)
|
|
(ditaa . t)
|
|
(dot . t)
|
|
(emacs-lisp . t)
|
|
(gnuplot . t)
|
|
(haskell . nil)
|
|
(ocaml . nil)
|
|
(python . t)
|
|
(ruby . t)
|
|
(screen . nil)
|
|
(sh . t)
|
|
(sql . nil)
|
|
(sqlite . t)))
|
|
#+end_src
|
|
|
|
Despite this change it is still possible to add
|
|
language support through the use of =require=
|
|
statements, however to conform to Emacs file-name
|
|
regulations all Babel language files have changed
|
|
prefix from =org-babel-*= to =ob-*=, so the require
|
|
lines must also change e.g.
|
|
#+begin_src emacs-lisp
|
|
(require 'org-babel-R)
|
|
#+end_src
|
|
should be changed to
|
|
#+begin_src emacs-lisp
|
|
(require 'ob-R)
|
|
#+end_src
|
|
|
|
We have eliminated the =org-babel-tangle-w-comments= variable as
|
|
well as the two main internal lists of languages, namely
|
|
- =org-babel-interpreters= and
|
|
- =org-babel-tangle-langs=
|
|
|
|
so any config lines which mention those variables, can/should be
|
|
stripped out in their entirety. This includes any calls to the
|
|
=org-babel-add-interpreter= function, whose sole purpose was to
|
|
add languages to the =org-babel-interpreters= variable.
|
|
|
|
With those calls stripped out, we may still in some cases want to
|
|
associate a file name extension with certain languages, for
|
|
example we want all of our emacs-lisp files to end in a =.el=, we
|
|
can do this will the =org-babel-tangle-lang-exts= variable. In
|
|
general you shouldn't need to touch this as it already has
|
|
defaults for most common languages, and if a language is not
|
|
present in org-babel-tangle-langs, then babel will just use the
|
|
language name, so for example a file of =c= code will have a =.c=
|
|
extension by default, shell-scripts (identified with =sh=) will
|
|
have a =.sh= extension etc...
|
|
|
|
The configuration of /shebang/ lines now lives in header
|
|
arguments. So the shebang for a single file can be set at the
|
|
code block level, e.g.
|
|
|
|
#+begin_src org
|
|
,#+begin_src clojure :shebang #!/usr/bin/env clj
|
|
, (println "with a shebang line, I can be run as a script!")
|
|
,#+end_src
|
|
#+end_src
|
|
|
|
Note that whenever a file is tangled which includes a /shebang/
|
|
line, Babel will make the file executable, so there is good
|
|
reason to only add /shebangs/ at the source-code block level.
|
|
However if you're sure that you want all of your code in some
|
|
language (say shell scripts) to tangle out with shebang lines,
|
|
then you can customize the default header arguments for that
|
|
language, e.g.
|
|
|
|
#+begin_src emacs-lisp
|
|
;; ensure this variable is defined defined
|
|
(unless (boundp 'org-babel-default-header-args:sh)
|
|
(setq org-babel-default-header-args:sh '()))
|
|
|
|
;; add a default shebang header argument
|
|
(add-to-list 'org-babel-default-header-args:sh
|
|
'(:shebang . "#!/bin/bash"))
|
|
#+end_src
|
|
|
|
The final important change included in this release is the
|
|
addition of new security measures into Babel. These measures are
|
|
in place to protect users from the accidental or uninformed
|
|
execution of code. Along these lines /every/ execution of a code
|
|
block will now require an explicit confirmation from the user.
|
|
These confirmations can be stifled through customization of the
|
|
`org-confirm-babel-evaluate' variable, e.g.
|
|
#+begin_src emacs-lisp
|
|
;; I don't want to be prompted on every code block evaluation
|
|
(setq org-confirm-babel-evaluate nil)
|
|
#+end_src
|
|
|
|
In addition, it is now possible to remove code block evaluation
|
|
form the =C-c C-c= keybinding. This can be done by setting the
|
|
=org-babel-no-eval-on-ctrl-c-ctrl-c= variable to a non-nil value,
|
|
e.g.
|
|
#+begin_src emacs-lisp
|
|
;; I don't want to execute code blocks with C-c C-c
|
|
(setq org-babel-no-eval-on-ctrl-c-ctrl-c t)
|
|
#+end_src
|
|
|
|
An additional keybinding has been added for code block
|
|
evaluation, namely =C-c C-v e=.
|
|
|
|
Whew! that seems like a lot of effort for a /simplification/ of
|
|
configuration.
|
|
|
|
*** New keys for TODO sparse trees
|
|
|
|
The key =C-c C-v= is now reserved for Org Babel action. TODO
|
|
sparse trees can still be made with =C-c / t= (all not-done
|
|
states) and =C-c / T= (specific states).
|
|
|
|
*** Customizable variable changes for DocBook exporter
|
|
|
|
To make it more flexible for users to provide DocBook exporter
|
|
related commands, we start to use format-spec to format the
|
|
commands in this release. If you use DocBook exporter and use it
|
|
to export Org files to PDF and/or FO format, the settings of the
|
|
following two customizable variables need to be changed:
|
|
|
|
- =org-export-docbook-xslt-proc-command=
|
|
- =org-export-docbook-xsl-fo-proc-command=
|
|
|
|
Instead of using =%s= in the format control string for all
|
|
arguments, now we use /three/ different format spec characters:
|
|
|
|
- =%i=: input file argument
|
|
- =%o=: output file argument
|
|
- =%s=: XSLT stylesheet argument
|
|
|
|
For example, if you set =org-export-docbook-xslt-proc-command= to
|
|
|
|
: java com.icl.saxon.StyleSheet -o %s %s /path/to/docbook.xsl
|
|
|
|
in the past, now you need to change it to
|
|
|
|
: java com.icl.saxon.StyleSheet -o %o %i %s
|
|
|
|
and set a new customizable variable called
|
|
=org-export-docbook-xslt-stylesheet= to =/path/to/docbook.xsl=.
|
|
|
|
Please check the documentation of these two variables for more
|
|
details and other examples.
|
|
|
|
Along with the introduction of variable
|
|
=org-export-docbook-xslt-stylesheet=, we also added a new
|
|
in-buffer setting called =#+XSLT:=. You can use this setting to
|
|
specify the XSLT stylesheet that you want to use on a per-file
|
|
basis. This setting overrides
|
|
=org-export-docbook-xslt-stylesheet=.
|
|
|
|
** Details
|
|
|
|
*** Org Babel is now part of the Org core
|
|
See [[#ob-configuration-changes][Org-babel configuration changes]] for instructions on how to
|
|
update your babel configuration.
|
|
|
|
The most significant result of this change is that Babel now has
|
|
documentation! It is part of Org-mode's documentation, see
|
|
Chapter 14 [[http://orgmode.org/manual/Working-with-source-code.html#Working-with-source-code][Working With Source Code]]. The Babel keybindings
|
|
are now listed in the refcard, and can be viewed from any
|
|
Org-mode buffer by pressing =C-c C-v h=. In addition this
|
|
integration has included a number of bug fixes, and a significant
|
|
amount of internal code cleanup.
|
|
|
|
*** The default capture system for Org mode is now called org-capture
|
|
|
|
This replaces the earlier system org-remember. The manual only
|
|
describes org-capture, but for people who prefer to continue to
|
|
use org-remember, we keep a static copy of the former manual
|
|
section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
|
|
|
|
The new system has a technically cleaner implementation and more
|
|
possibilities for capturing different types of data. See
|
|
[[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
|
|
|
|
To switch over to the new system:
|
|
|
|
1. Run
|
|
|
|
: M-x org-capture-import-remember-templates RET
|
|
|
|
to get a translated version of your remember templates into the
|
|
new variable =org-capture-templates=. This will "mostly" work,
|
|
but maybe not for all cases. At least it will give you a good
|
|
place to modify your templates. After running this command,
|
|
enter the customize buffer for this variable with
|
|
|
|
: M-x customize-variable RET org-capture-templates RET
|
|
|
|
and convince yourself that everything is OK. Then save the
|
|
customization.
|
|
|
|
2. Bind the command =org-capture= to a key, similar to what you did
|
|
with org-remember:
|
|
|
|
: (define-key global-map "\C-cc" 'org-capture)
|
|
|
|
If your fingers prefer =C-c r=, you can also use this key once
|
|
you have decided to move over completely to the new
|
|
implementation. During a test time, there is nothing wrong
|
|
with using both system in parallel.
|
|
|
|
*** Implement pretty display of entities, sub-, and superscripts.
|
|
|
|
The command =C-c C-x \= toggles the display of Org's special
|
|
entities like =\alpha= as pretty unicode characters. Also, sub
|
|
and superscripts are displayed in a pretty way (raised/lower
|
|
display, in a smaller font). If you want to exclude sub- and
|
|
superscripts, see the variable
|
|
=org-pretty-entities-include-sub-superscripts=.
|
|
|
|
Thanks to Eric Schulte and Ulf Stegeman for making this possible.
|
|
|
|
*** Help system for finding entities
|
|
|
|
The new command =M-x org-entities-help= creates a structured
|
|
buffer that lists all entities available in Org. Thanks to Ulf
|
|
Stegeman for adding the necessary structure to the internal
|
|
entity list.
|
|
|
|
*** New module to create Gantt charts
|
|
|
|
Christian Egli's /org-taskjuggler.el/ module is now part of Org.
|
|
He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
|
|
|
|
*** Refile targets can now be cached
|
|
|
|
You can turn on caching of refile targets by setting the variable
|
|
=org-refile-use-cache=. This should speed up refiling if you
|
|
have many eligible targets in many files. If you need to update
|
|
the cache because Org misses a newly created entry or still
|
|
offers a deleted one, press =C-0 C-c C-w=.
|
|
|
|
*** Enhanced functionality of the clock resolver
|
|
|
|
Here are the new options for the clock resolver:
|
|
|
|
: i/q/C-g Ignore this question; the same as keeping all the idle time.
|
|
:
|
|
: k/K Keep X minutes of the idle time (default is all). If this
|
|
: amount is less than the default, you will be clocked out
|
|
: that many minutes after the time that idling began, and then
|
|
: clocked back in at the present time.
|
|
: g/G Indicate that you \"got back\" X minutes ago. This is quite
|
|
: different from 'k': it clocks you out from the beginning of
|
|
: the idle period and clock you back in X minutes ago.
|
|
: s/S Subtract the idle time from the current clock. This is the
|
|
: same as keeping 0 minutes.
|
|
: C Cancel the open timer altogether. It will be as though you
|
|
: never clocked in.
|
|
: j/J Jump to the current clock, to make manual adjustments.
|
|
|
|
For all these options, using uppercase makes your final state
|
|
to be CLOCKED OUT. Thanks to John Wiegley for making these
|
|
changes.
|
|
|
|
*** A property value of "nil" now means to unset a property
|
|
|
|
This can be useful in particular with property inheritance, if
|
|
some upper level has the property, and some grandchild of it
|
|
would like to have the default settings (i.e. not overruled by a
|
|
property) back.
|
|
|
|
Thanks to Robert Goldman and Bernt Hansen for suggesting this
|
|
change.
|
|
|
|
*** The problem with comment syntax has finally been fixed
|
|
|
|
Thanks to Leo who has been on a year-long quest to get this fixed
|
|
and finally found the right way to do it.
|
|
|
|
*** Make it possible to protect hidden subtrees from being killed by =C-k=
|
|
|
|
This was a request by Scott Otterson.
|
|
See the new variable =org-ctrl-k-protect-subtree=.
|
|
|
|
*** New module org-mac-link-grabber.el
|
|
|
|
This module allows to grab links to all kinds of applications on
|
|
a mac. It is available in the contrib directory.
|
|
|
|
Thanks to Anthony Lander for this contribution.
|
|
|
|
*** LaTeX export: Implement table* environment for wide tables
|
|
|
|
Thanks to Chris Gray for a patch to this effect.
|
|
|
|
*** When cloning entries, remove or renew ID property
|
|
|
|
Thanks to David Maus for this change.
|
|
|
|
* Version 6.36
|
|
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.36
|
|
:END:
|
|
|
|
** Details
|
|
*** Inline display of linked images
|
|
|
|
Images can now be displayed inline. The key C-c C-x C-v does
|
|
toggle the display of such images. Note that only image links
|
|
that have no description part will be inlined.
|
|
|
|
*** Implement offsets for ordered lists
|
|
|
|
If you want to start an ordered plain list with a number
|
|
different from 1, you can now do it like this:
|
|
|
|
: 1. [@start:12] will star a lit a number 12
|
|
|
|
*** Extensions to storing and opening links to Wanderlust messages
|
|
|
|
- Remove filter conditions for messages in a filter folder
|
|
|
|
If customization variable `org-wl-link-remove-filter' is non-nil,
|
|
filter conditions are stripped of the folder name.
|
|
|
|
- Create web links for messages in a Shimbun folder
|
|
|
|
If customization variable `org-wl-shimbun-prefer-web-links' is
|
|
non-nil, calling `org-store-link' on a Shimbun message creates a
|
|
web link to the messages source, indicated in the Xref: header
|
|
field.
|
|
|
|
- Create web links for messages in a nntp folder
|
|
|
|
If customization variable `org-wl-nntp-prefer-web-links' is
|
|
non-nil, calling `org-store-link' on a nntp message creates a web
|
|
link either to gmane.org if the group can be read trough gmane or
|
|
to googlegroups otherwise. In both cases the message-id is used as
|
|
reference.
|
|
|
|
- Open links in namazu search folder
|
|
|
|
If `org-wl-open' is called with one prefix, WL opens a namazu
|
|
search folder for message's message-id using
|
|
`org-wl-namazu-default-index' as search index. If this variable is
|
|
nil or `org-wl-open' is called with two prefixes Org asks for the
|
|
search index to use.
|
|
|
|
Thanks to David Maus for these changes.
|
|
|
|
*** Org-babel: code block body expansion for table and preview
|
|
|
|
In org-babel, code is "expanded" prior to evaluation. I.e. the
|
|
code that is actually evaluated comprises the code block
|
|
contents, augmented with the extra code which assigns the
|
|
referenced data to variables. It is now possible to preview
|
|
expanded contents, and also to expand code during during
|
|
tangling. This expansion takes into account all header arguments,
|
|
and variables.
|
|
|
|
A new key-binding C-c M-b p bound to
|
|
`org-babel-expand-src-block' can be used from inside of a
|
|
source code block to preview its expanded contents (which can
|
|
be very useful for debugging). tangling
|
|
|
|
The expanded body can now be tangled, this includes variable
|
|
values which may be the results of other source-code blocks, or
|
|
stored in headline properties or tables. One possible use for
|
|
this is to allow those using org-babel for their emacs
|
|
initialization to store values (e.g. usernames, passwords,
|
|
etc…) in headline properties or in tables.
|
|
|
|
Org-babel now supports three new header arguments, and new
|
|
default behavior for handling horizontal lines in tables
|
|
(hlines), column names, and rownames across all languages.
|
|
|
|
* Version 6.35
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.35
|
|
:END:
|
|
|
|
** Incompatible Changes
|
|
|
|
*** Changes to the intended use of =org-export-latex-classes=
|
|
|
|
So far this variable has been used to specify the complete header
|
|
of the LaTeX document, including all the =\usepackage= calls
|
|
necessary for the document. This setup makes it difficult to
|
|
maintain the list of packages that Org itself would like to call,
|
|
for example for the special symbol support it needs. Each time I
|
|
have to add a package, I have to ask people to revise the
|
|
configuration of this variable. In this release, I have tried to
|
|
fix this.
|
|
|
|
First of all, you can *opt out of this change* in the following
|
|
way: You can say: /I want to have full control over headers, and
|
|
I will take responsibility to include the packages Org needs/.
|
|
If that is what you want, add this to your configuration and skip
|
|
the rest of this section (except maybe for the description of the
|
|
=[EXTRA]= place holder):
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-export-latex-default-packages-alist nil
|
|
org-export-latex-packages-alist nil)
|
|
#+end_src
|
|
/Continue to read here if you want to go along with the modified
|
|
setup./
|
|
|
|
There are now two variables that should be used to list the LaTeX
|
|
packages that need to be included in all classes. The header
|
|
definition in =org-export-latex-classes= should then not contain
|
|
the corresponding =\usepackage= calls (see below).
|
|
|
|
The two new variables are:
|
|
|
|
1. =org-export-latex-default-packages-alist= :: This is the
|
|
variable where Org-mode itself puts the packages it needs.
|
|
Normally you should not change this variable. The only
|
|
reason to change it anyway is when one of these packages
|
|
causes a conflict with another package you want to use.
|
|
Then you can remove that packages and hope that you are not
|
|
using Org-mode functionality that needs it.
|
|
|
|
2. =org-export-latex-packages-alist= :: This is the variable
|
|
where you can put the packages that you'd like to use across
|
|
all classes. For example, I am putting =amsmath= and =tikz=
|
|
here, because I always want to have them.
|
|
|
|
The sequence how these customizations will show up in the LaTeX
|
|
document are:
|
|
1. Header from =org-export-latex-classes=
|
|
2. =org-export-latex-default-packages-alist=
|
|
3. =org-export-latex-packages-alist=
|
|
4. Buffer-specific things set with =#+LaTeX_HEADER:=
|
|
|
|
If you want more control about which segment is placed where, or
|
|
if you want, for a specific class, have full control over the
|
|
header and exclude some of the automatic building blocks, you can
|
|
put the following macro-like place holders into the header:
|
|
|
|
#+begin_example
|
|
[DEFAULT-PACKAGES] \usepackage statements for default packages
|
|
[NO-DEFAULT-PACKAGES] do not include any of the default packages
|
|
[PACKAGES] \usepackage statements for packages
|
|
[NO-PACKAGES] do not include the packages
|
|
[EXTRA] the stuff from #+LaTeX_HEADER
|
|
[NO-EXTRA] do not include #+LaTeX_HEADER stuff
|
|
#+end_example
|
|
|
|
If you have currently customized =org-export-latex-classes=, you
|
|
should revise that customization and remove any package calls that
|
|
are covered by =org-export-latex-default-packages-alist=. This
|
|
applies to the following packages:
|
|
|
|
- inputenc
|
|
- fontenc
|
|
- fixltx2e
|
|
- graphicx
|
|
- longtable
|
|
- float
|
|
- wrapfig
|
|
- soul
|
|
- t1enc
|
|
- textcomp
|
|
- marvosym
|
|
- wasysym
|
|
- latexsym
|
|
- amssymb
|
|
- hyperref
|
|
|
|
If one of these packages creates a conflict with another package
|
|
you are using, you can remove it from
|
|
=org-export-latex-default-packages-alist=. But then you risk
|
|
that some of the advertised export features of Org will not work
|
|
properly.
|
|
|
|
You can also consider moving packages that you use in all classes
|
|
to =org-export-latex-packages-alist=. If necessary, put the
|
|
place holders so that the packages get loaded in the right
|
|
sequence. As said above, for backward compatibility, if you omit
|
|
the place holders, all the variables will dump their content at
|
|
the end of the header.
|
|
|
|
Damn, this has become more complex than I wanted it to be. I
|
|
hope that in practice, this will not be complicated at all.
|
|
|
|
*** The constant =org-html-entities= is obsolete
|
|
|
|
Its content is now part of the new constant =org-entities=, which
|
|
is defined in the file org-entities.el. =org-html-entities= was
|
|
an internal variable, but it is possible that some users did
|
|
write code using it - this is why I am mentioning it here.
|
|
|
|
** Editing Convenience and Appearance
|
|
|
|
*** New faces for title, date, author and email address lines.
|
|
|
|
The keywords in these lines are now dimmed out, and the title is
|
|
displayed in a larger font, and a special font is also used for
|
|
author, date, and email information. This is implemented by the
|
|
following new faces:
|
|
|
|
org-document-title
|
|
org-document-info
|
|
org-document-info-keyword
|
|
|
|
In addition, the variable =org-hidden-keywords= can be used to
|
|
make the corresponding keywords disappear.
|
|
|
|
Thanks to Dan Davison for this feature.
|
|
|
|
*** Simpler way to specify faces for tags and todo keywords
|
|
|
|
The variables =org-todo-keyword-faces=, =org-tag-faces=, and
|
|
=org-priority-faces= now accept simple color names as
|
|
specifications. The colors will be used as either foreground or
|
|
background color for the corresponding keyword. See also the
|
|
variable =org-faces-easy-properties=, which governs which face
|
|
property is affected by this setting.
|
|
|
|
This is really a great simplification for setting keyword faces.
|
|
The change is based on an idea and patch by Ryan Thompson.
|
|
|
|
*** <N> in tables now means fixed width, not maximum width
|
|
|
|
Requested by Michael Brand.
|
|
|
|
*** Better level cycling function
|
|
=TAB= in an empty headline cycles the level of that headline
|
|
through likely states. Ryan Thompson implemented an improved
|
|
version of this function, which does not depend upon when exactly
|
|
this command is used. Thanks to Ryan for this improvement.
|
|
|
|
*** Adaptive filling
|
|
|
|
For paragraph text, =org-adaptive-fill-function= did not handle the
|
|
base case of regular text which needed to be filled. This is now
|
|
fixed. Among other things, it allows email-style ">" comments
|
|
to be filled correctly.
|
|
|
|
Thanks to Dan Hackney for this patch.
|
|
|
|
*** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
|
|
|
|
Thanks to Richard Riley for triggering this change.
|
|
|
|
*** Better automatic letter selection for TODO keywords
|
|
|
|
When all first letters of keywords have been used, Org now assigns
|
|
more meaningful characters based on the keywords.
|
|
|
|
Thanks to Mikael Fornius for this patch.
|
|
|
|
** Export
|
|
|
|
*** Much better handling of entities for LaTeX export
|
|
|
|
Special entities like =\therefore= and =\alpha= now know if
|
|
they need to be in LaTeX math mode and are formatted accordingly.
|
|
|
|
Thanks to Ulf Stegemann for the tedious work to make this
|
|
possible.
|
|
|
|
*** LaTeX export: Set coding system automatically
|
|
|
|
The coding system of the LaTeX class will now be set to the value
|
|
corresponding to the buffer's file coding system. This happens
|
|
if your setup sets up the file to have a line
|
|
=\usepackage[AUTO]{inputenc}= (the default setup does this).
|
|
|
|
*** New exporters to Latin-1 and UTF-8
|
|
|
|
While Ulf Stegemann was going through the entities list to
|
|
improve the LaTeX export, he had the great idea to provide
|
|
representations for many of the entities in Latin-1, and for all
|
|
of them in UTF-8. This means that we can now export files rich
|
|
in special symbols to Latin-1 and to UTF-8 files. These new
|
|
exporters can be reached with the commands =C-c C-e n= and =C-c
|
|
C-e u=, respectively.
|
|
|
|
When there is no representation for a given symbol in the
|
|
targeted coding system, you can choose to keep the TeX-macro-like
|
|
representation, or to get an "explanatory" representation. For
|
|
example, =\simeq= could be represented as "[approx. equal to]".
|
|
Please use the variable =org-entities-ascii-explanatory= to state
|
|
your preference.
|
|
|
|
*** Full label/reference support in HTML, Docbook, and LaTeX backends
|
|
=#+LABEL= definitions for tables and figures are now fully
|
|
implemented in the LaTeX, Docbook, and HTML interfaces.
|
|
=\ref{xxx}= is expanded to a valid link in all backends.
|
|
|
|
*** BEAMER export: Title of the outline frame is now customizable
|
|
|
|
The new option =org-outline-frame-title= allows to set the
|
|
title for outline frames in Beamer presentations.
|
|
|
|
Patch by Lukasz Stelmach.
|
|
|
|
*** BEAMER export: fragile frames are better recognized
|
|
|
|
A =lstlisting= environment now also triggers the fragile option in
|
|
a beamer frame, just like =verbatim= environments do.
|
|
|
|
Thanks to Eric Schulte for this patch.
|
|
|
|
*** BEAMER export: Protect <...> macro arguments
|
|
|
|
Macros for the BEAMER package can have arguments in angular
|
|
brackets. These are now protected just like normal arguments.
|
|
|
|
Requested by Bill Jackson.
|
|
|
|
*** HTML export: Add class to outline containers using property
|
|
|
|
The =HTML_CONTAINER_CLASS= property can now be used to add a
|
|
class name to the outline container of a node in HTML export.
|
|
|
|
*** New option =org-export-email-info= to turn off export of the email address
|
|
|
|
Default is actually off now.
|
|
|
|
*** Throw an error when creating an image from a LaTeX snippet fails
|
|
|
|
This behavior can be configured with the new option variable
|
|
=org-format-latex-signal-error=.
|
|
|
|
** Index generation
|
|
|
|
Org-mode can now produce a 2-level subject index spanning an
|
|
entire publishing project. Write index entries in your files as
|
|
|
|
#+begin_src org
|
|
,* What is org-mode?
|
|
#+index: Org-mode
|
|
#+index: Definitions!Org-mode
|
|
#+end_src
|
|
|
|
where the first line will produce an index entry /Org-mode/,
|
|
while the second line will create /Definitions/ with a sub-item
|
|
/Org-mode/. Three-level entries are not supported.
|
|
|
|
To produce the index, set
|
|
|
|
#+begin_src emacs-lisp
|
|
:makeindex t
|
|
#+end_src
|
|
|
|
in the project definition in =org-publish-project-alist=. You
|
|
may have to force re-export of all files to get the index by
|
|
using a =C-u= prefix to the publishing command:
|
|
|
|
#+begin_example
|
|
C-u M-x org-publish-all
|
|
#+end_example
|
|
|
|
Whenever an Org file is published in this project, a new file
|
|
with the extension "orgx" will be written. It contains the index
|
|
entries and corresponding jump target names. When all project
|
|
files are published, Org will produce a new file "theindex.inc"
|
|
containing the index as a to-level tree. This file can be
|
|
included into any project file using
|
|
|
|
#+begin_src org
|
|
,#+include: "theindex.inc"
|
|
#+end_src
|
|
|
|
Org-mode will also create a file "theindex.org" with this include
|
|
statement, and you can build a more complex structure (for
|
|
example style definitions, top and home links, etc) around this
|
|
statement. When this file already exists, it will not be
|
|
overwritten by Org.
|
|
|
|
Thanks to Stefan Vollmar for initiating and driving this feature.
|
|
|
|
*** TODO Still need to do the LaTeX portion
|
|
|
|
** MobileOrg
|
|
|
|
*** Encrypting stage files for MobileOrg
|
|
|
|
Since the use of (often pubic) servers is needed for MobileOrg,
|
|
it is now possible to encrypt the files to be staged for
|
|
MobileOrg. Version 1.2 of MobileOrg will be needed for this
|
|
feature, and Richard Moreland will show instructions on his
|
|
website once that is available. Basically, on the Org-side this
|
|
will require the following settings:
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-mobile-use-encryption t
|
|
org-mobile-encryption-password "My_MobileOrg_Password")
|
|
#+end_src
|
|
|
|
So the password will be visible in your local setup, but since
|
|
the encryption is only for the public server, this seems
|
|
acceptable.
|
|
|
|
** Agenda
|
|
|
|
*** Specify entry types as an option
|
|
|
|
Custom Agenda commands can now limit the sets of entry types
|
|
considered for this command by binding =org-agenda-entry-types=
|
|
temporarily in the options section of the command. This can lead
|
|
to significant speedups, because instead of laboriously finding
|
|
entries and then rejecting them, a whole search cycle is skipped.
|
|
For more information see the new section in
|
|
[[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php#sec-5][Matt Lundin's agenda custom command tutorial]].
|
|
|
|
Thanks to Matt Lundin for this feature.
|
|
|
|
*** Speed up multiple calls to org-diary by only doing buffer prep once
|
|
|
|
Also a patch by Matt Lundin.
|
|
|
|
*** Show and hide deadlines in the agenda
|
|
|
|
You can now hide all deadline entries in the agenda by pressing
|
|
=!=.
|
|
|
|
Thanks to John Wiegley for this feature.
|
|
|
|
*** Agenda: Allow to suppress deadline warnings for entries also scheduled
|
|
|
|
The the docstring of the variable
|
|
=org-agenda-skip-deadline-prewarning-if-scheduled=.
|
|
|
|
*** Expand file names in org-agenda-files (external file case)
|
|
|
|
If you are using a file to manage the list of agenda files, the
|
|
names in this file can now contain environment variables and "~"
|
|
to write them more compactly and portable.
|
|
|
|
Thanks to Mikael Fornius for a patch to this effect.
|
|
|
|
*** Agenda: Allow TODO conditions in the skip functions
|
|
|
|
The agenda skip function has now special support for skipping
|
|
based on the TODO state. Here are just two examples, see the
|
|
manual for more information.
|
|
|
|
#+begin_src emacs-lisp
|
|
(org-agenda-skip-entry-if 'todo '(\"TODO\" \"WAITING\"))
|
|
(org-agenda-skip-entry-if 'nottodo 'done)
|
|
#+end_src
|
|
|
|
Thanks to Lukasz Stelmach for this patch.
|
|
|
|
*** Extracting the time-of-day when adding diary entries
|
|
|
|
The time of day can now be extracted from new diary entries made
|
|
from the agenda with (for example) =i d=. When
|
|
=org-agenda-insert-diary-extract-time= is set, this is done, and
|
|
the time is moved into the time stamp.
|
|
|
|
Thanks to Stephen Eglen for this feature.
|
|
|
|
*** The customization group org-font-lock has been renamed
|
|
|
|
The new name is `org-appearance'.
|
|
|
|
Thanks to Dan Davison for a patch to this effect.
|
|
|
|
*** The TODO list: Allow skipping scheduled or deadlined entries
|
|
|
|
Skipping TODO entries in the global TODO list based on whether
|
|
they are scheduled or have a deadline can now be controlled in
|
|
more detail. Please see the docstrings of
|
|
=org-agenda-todo-ignore-scheduled= and
|
|
=org-agenda-todo-ignore-deadline=.
|
|
|
|
Thanks to Lukasz Stelmach for patches to this effect.
|
|
|
|
** Hyperlinks
|
|
|
|
*** Make =org-store-link= point to directory in a dired buffer
|
|
|
|
When, in a dired buffer, the cursor is not in a line listing a
|
|
file, `org-store-link' will store a link to the directory.
|
|
|
|
Patch by Stephen Eglen.
|
|
|
|
*** Allow regexps in =org-file-apps= to capture link parameters
|
|
|
|
The way extension regexps in =org-file-apps= are handled has
|
|
changed. Instead of matching against the file name, the regexps
|
|
are now matched against the whole link, and you can use grouping
|
|
to extract link parameters which you can then use in a command
|
|
string to be executed.
|
|
|
|
For example, to allow linking to PDF files using the syntax
|
|
=file:/doc.pdf::<page number>=, you can add the following entry to
|
|
org-file-apps:
|
|
|
|
#+begin_example
|
|
Extension: \.pdf::\([0-9]+\)\'
|
|
Command: evince "%s" -p %1
|
|
#+end_example
|
|
|
|
Thanks to Jan Böcker for a patch to this effect.
|
|
|
|
** Clocking
|
|
|
|
*** Show clock overruns in mode line
|
|
|
|
When clocking an item with a planned effort, overrunning the
|
|
planned time is now made visible in the mode line, for example
|
|
using the new face =org-mode-line-clock-overrun=, or by adding an
|
|
extra string given by =org-task-overrun-text=.
|
|
|
|
Thanks to Richard Riley for a patch to this effect.
|
|
|
|
** Tables
|
|
|
|
*** Repair the broken support for table.el tables again.
|
|
|
|
Tables created with the table.el package now finally work again
|
|
in Org-mode. While you cannot edit the table directly in the
|
|
buffer, you can use =C-c '= to edit it nicely in a temporary
|
|
buffer.
|
|
|
|
Export of these tables to HTML seem to work without problems.
|
|
Export to LaTeX is imperfect. If fails if the table contains
|
|
special characters that will be replaced by the exporter before
|
|
formatting the table. The replacement operation changes the
|
|
length of some lines, breaking the alignment of the table fields.
|
|
Unfortunately this is not easy to fix. It is also not an option
|
|
to not do these replacements. The table.el LaTeX exporter will
|
|
for example not escape "&" in table fields, causing the exported
|
|
tables to be broken.
|
|
|
|
** Misc
|
|
|
|
*** New logging support for refiling
|
|
|
|
Whenever you refile an item, a time stamp and even a note can be
|
|
added to this entry. For details, see the new option
|
|
=org-log-refile=.
|
|
|
|
Thanks to Charles Cave for this idea.
|
|
|
|
*** New helper functions in org-table.el
|
|
|
|
There are new functions to access and write to a specific table
|
|
field. This is for hackers, and maybe for the org-babel people.
|
|
|
|
#+begin_example
|
|
org-table-get
|
|
org-table-put
|
|
org-table-current-line
|
|
org-table-goto-line
|
|
#+end_example
|
|
|
|
*** Tables: Field coordinates for formulas, and improved docs
|
|
|
|
Calc and Emacs-Lisp formulas for tables can access the current
|
|
field coordinates with =@#= and =$#= for row and column,
|
|
respectively. These can be useful in some formulas. For
|
|
example, to sequentially number the fields in a column, use
|
|
~=@#~ as column equation.
|
|
|
|
One application is to copy a column from a different table. See
|
|
the manual for details.
|
|
|
|
Thanks to Michael Brand for this feature.
|
|
|
|
*** Archiving: Allow to reverse order in target node
|
|
|
|
The new option =org-archive-reversed-order= allows to have
|
|
archived entries inserted in a last-on-top fashion in the target
|
|
node.
|
|
|
|
Requested by Tom.
|
|
|
|
*** Better documentation on calc accuracy in tables
|
|
|
|
Thanks to Michael Brand for this fix.
|
|
|
|
*** Clock reports can now include the running, incomplete clock
|
|
|
|
If you have a clock running, and the entry being clocked falls
|
|
into the scope when creating a clock table, the time so far spent
|
|
can be added to the total. This behavior depends on the setting
|
|
of =org-clock-report-include-clocking-task=. The default is
|
|
=nil=.
|
|
|
|
Thanks to Bernt Hansen for this useful addition.
|
|
|
|
*** American-style dates are now understood by =org-read-date=
|
|
|
|
So when you are prompted for a date, you can now answer like this
|
|
|
|
#+begin_example
|
|
2/5/3 --> 2003-02-05
|
|
2/5 --> <CURRENT-YEAR>-02-05
|
|
#+end_example
|
|
|
|
*** org-timer.el now allows just one timer
|
|
|
|
There is now only a single free timer supported by org-timer.el.
|
|
Thanks to Bastien for cleaning this up, after a bug report in
|
|
this area by Frédéric Couchet.
|
|
|
|
*** Remember: Allow to file as sibling of current clock
|
|
=C-3 C-c C-c= will file the remember entry as a sibling of the
|
|
last filed entry.
|
|
|
|
Patch by Lukasz Stelmach.
|
|
|
|
*** Org-reveal: Double prefix arg shows the entire subtree of the parent
|
|
|
|
This can help to get out of an inconsistent state produced for
|
|
example by viewing from the agenda.
|
|
|
|
This was a request by Matt Lundin.
|
|
|
|
*** Add org-secretary.el by Juan Reyero to the contrib directory
|
|
|
|
org-secretary.el is a possible setup for group work using
|
|
Org-mode.
|
|
|
|
Thanks to Juan Reyero for this contribution.
|
|
|
|
** Babel
|
|
|
|
Eric and Dan have compiled the following list of changes in and
|
|
around org-babel.
|
|
|
|
- Added support for Matlab and Octave.
|
|
- Added support for C and C++ code blocks.
|
|
- Added support for the Oz programming language.
|
|
Thanks to Torsten Anders for this contribution
|
|
- Can now force literal interpretation of table cell contents
|
|
with extra "$" in table formula.
|
|
Thanks to Maurizio Vitale for this suggestion.
|
|
- Variable references which look like lisp forms are now
|
|
evaluated.
|
|
- No longer adding extension during tangling when filename is
|
|
provided.
|
|
Thanks to Martin G. Skjæveland and Nicolas Girard for prompting this.
|
|
- Added `org-babel-execute-hook' which runs after code block
|
|
execution.
|
|
- Working directories and remote execution
|
|
|
|
This introduces a new header argument :dir. For the duration of
|
|
source block execution, default-directory is set to the value
|
|
of this header argument. Consequences include:
|
|
|
|
- external interpreter processes run in that directory
|
|
- new session processes run in that directory (but existing
|
|
ones are unaffected)
|
|
- relative paths for file output are relative to that directory
|
|
|
|
The name of a directory on a remote machine may be specified
|
|
with tramp syntax (/user@host:path), in which case the
|
|
interpreter executable will be sought in tramp-remote-path, and
|
|
if found will execute on the remote machine in the specified
|
|
remote directory.
|
|
- Tramp syntax can be used to tangle to remote files.
|
|
Thanks to Maurizio Vitale and Rémi Vanicat.
|
|
- org-R removed from contrib.
|
|
- gnuplot can now return it's string output -- when session is
|
|
set to "none".
|
|
- Now including source code block arguments w/source name on
|
|
export.
|
|
- Now able to reference file links as results.
|
|
- Allow pdf/png generation directly from latex source blocks
|
|
with :file header argument.
|
|
|
|
* Version 6.34
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.34
|
|
:END:
|
|
|
|
** Incompatible changes
|
|
|
|
*** Tags in org-agenda-auto-exclude-function must be lower case.
|
|
|
|
When defining an =org-agenda-auto-exclude-function=, you need to
|
|
be aware that tag that is being passed into the function is
|
|
always lower case - even if it was defined in upper case
|
|
originally.
|
|
|
|
** Details
|
|
|
|
*** Support for creating BEAMER presentations from Org-mode documents
|
|
|
|
Org-mode documents or subtrees can now be converted directly in
|
|
to BEAMER presentation. Turning a tree into a simple
|
|
presentations is straight forward, and there is also quite some
|
|
support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
|
|
section]] in the manual for more details.
|
|
|
|
Thanks to everyone who has contributed to the discussion about
|
|
BEAMER support and how it should work. This was a great example
|
|
for how this community can achieve a much better result than any
|
|
individual could.
|
|
|
|
*** Hyperlinks
|
|
|
|
**** Add Paul Sexton's org-ctags.el
|
|
|
|
Targets like =<<my target>>= can now be found by Emacs' etag
|
|
functionality, and Org-mode links can be used to to link to
|
|
etags, also in non-Org-mode files. For details, see the file
|
|
/org-ctags.el/.
|
|
|
|
This feature uses a new hook =org-open-link-functions= which will
|
|
call function to do something special with text links.
|
|
|
|
Thanks to Paul Sexton for this contribution.
|
|
|
|
**** Add Jan Böcker's org-docview.el
|
|
|
|
This new module allows links to various file types using docview,
|
|
where Emacs displays images of document pages. Docview link
|
|
types can point to a specific page in a document, for example to
|
|
page 131 of the Org-mode manual:
|
|
|
|
: [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
|
|
|
|
Thanks to Jan Böcker for this contribution.
|
|
|
|
**** New link types that force special ways of opening the file
|
|
|
|
- =file+sys:/path/to/file= will use the system to open the file,
|
|
like double-clicking would.
|
|
- file+emacs:/path/to/file will force opening the linked file
|
|
with Emacs.
|
|
|
|
This was a request by John Wiegley.
|
|
|
|
**** Open all links in a node
|
|
|
|
When using =C-c C-o= on a headline to get a list of links in the
|
|
entry, pressing =RET= will open *all* links. This allows
|
|
something like projects to be defined, with a number of files
|
|
that have to be opened by different applications.
|
|
|
|
This was a request by John Wiegley.
|
|
|
|
*** Agenda Views
|
|
|
|
**** Improve the logic of the search view.
|
|
|
|
The logic of search views is changed a bit. See the docstring of
|
|
the function =or-search-view=.
|
|
|
|
These changes resulted from a discussion with Matt Lundin.
|
|
|
|
**** New face for entries from the Emacs diary
|
|
|
|
Entries that enter the Agenda through the Emacs diary now get the
|
|
face =org-agenda-diary=.
|
|
|
|
This was a request by Thierry Volpiatto.
|
|
|
|
**** New function `org-diary-class' to schedule classes with skipped weeks.
|
|
|
|
This was a request by Daniel Martins.
|
|
|
|
**** Empty matcher means prompt in agenda custom commands
|
|
|
|
When an agenda custom command has an empty string as MATCH
|
|
element, so far this would lead to a meaningless search using an
|
|
empty matcher. Now an empty (or white) string will be
|
|
interpreted just like a nil matcher, i.e. the user will be
|
|
prompted for the match.
|
|
|
|
**** Agenda: Selectively remove some tags from agenda display
|
|
|
|
If you use tags very extensively, you might want to exclude some
|
|
from being displayed in the agenda, in order to keep the display
|
|
compact. See the new option =org-agenda-hide-tags-regexp= for
|
|
details.
|
|
|
|
This was largely a patch by Martin Pohlack.
|
|
|
|
*** Export
|
|
|
|
**** Direct export of only the current subtree
|
|
|
|
Pressing =1= after =C-c C-e= and before the key that selects the
|
|
export backend, only the current subtree will be exported,
|
|
exactly as it you had selected it first with =C-c @=. So for
|
|
example, =C-c C-e 1 b= will export the current subtree to HTML
|
|
and open the result in the browser.
|
|
|
|
**** Direct export of enclosing node
|
|
|
|
Pressing =SPC= after =C-c C-e= and before the key that selects
|
|
the export backend, the enclosing subree that is set up for
|
|
subtree export will be exported, exactly as it you had selected
|
|
it first with =C-c @=. So for example, =C-c C-e SPC d= will find
|
|
the enclosing node with a LaTeX_CLASS property or an
|
|
EXPORT_FILE_NAME property and export that.
|
|
|
|
**** Caching export images
|
|
|
|
Images that are created for example using LaTeX or ditaa for
|
|
inclusion into exported files are now cached. This works by
|
|
adding a hash to the image name, that reflects the source code
|
|
and all relevant settings. So as long as the hash does not
|
|
change, the image does not have to be made again. His can lead
|
|
to a substantial reduction in export/publishing times.
|
|
|
|
Thanks to Eric Schulte for a patch to this effect.
|
|
|
|
**** Preserving line breaks for export no longer works
|
|
|
|
ASCII export always preserves them - no other export format
|
|
does. We had attempted to use =\obeylines= for this in LaTeX,
|
|
but that does create too many problems.
|
|
|
|
**** New symbols =\EUR= and =\checkmark=
|
|
|
|
=\EUR= symbols from Marvosym package, and =\checkmark= are now
|
|
supported symbols in Org-mode, i.e. they will be exported
|
|
properly to the various backends.
|
|
|
|
**** Allow LaTeX_CLASS_OPTIONS to set options, also from a property
|
|
|
|
You can set the options to the =\documentclass= command on a
|
|
per-file basis, using
|
|
|
|
: #+LaTeX_CLASS_OPTIONS: [11pt]
|
|
|
|
or on a per-tree basis using the corresponding property. The
|
|
defined string will replace the default options entirely.
|
|
|
|
**** The encoding of LaTeX files is now handled property
|
|
|
|
Org now makes sure that the encoding used by the file created
|
|
through the export mechanism is reflected correctly in the
|
|
|
|
: \usepackage[CODINGSYSTEM]{inputenc}
|
|
|
|
command. So as long as the =org-export-latex-classes= definition
|
|
contains an =\usepackage[utf8]{inputenc}= statement, that
|
|
statement will be modified so that the correct option is used.
|
|
|
|
If you wan to use special encodings, for example =utf8x= instead
|
|
of =utf8=, see the variable =org-export-latex-inputenc-alist=.
|
|
|
|
This was a request by Francesco Pizzolante.
|
|
|
|
*** Property API enhancements
|
|
|
|
**** Make a new special property BLOCKED, indicating if entry is blocked
|
|
|
|
A new special property BLOCKED returns "t" when the entry is
|
|
blocked from switching the TODO state to a DONE state.
|
|
|
|
This was a request by John Wiegley.
|
|
|
|
**** New hooks for external support for allowed property values
|
|
|
|
It is now possible to hook into Org in order to provide the
|
|
allowed values for any property with a lisp function. See the
|
|
docstring of the variable =org-property-allowed-value-functions=
|
|
|
|
**** Allow unrestricted completion on properties
|
|
|
|
When listing the allowed values for a property, for example with
|
|
a =:name_ALL:= property, completion on these values enforces that
|
|
one of the values will be chosen. Now, if you add ":ETC" to the
|
|
list of allowed values, it will be interpreted as a switch, and
|
|
the completion will be non-restrictive, so you can also choose to
|
|
type a new value.
|
|
|
|
*** Changes to Org-babel
|
|
|
|
- The documentation for Org-babel has been drastically improved
|
|
and is available on Worg at
|
|
http://orgmode.org/worg/org-contrib/babel/
|
|
- Source-code block names are now exported to HTML and LaTeX
|
|
- Org-babel functions are now bound to keys behind a common key
|
|
prefix (see
|
|
http://orgmode.org/worg/org-contrib/babel/reference.php#sec-5)
|
|
- Results are now foldable with TAB
|
|
- Header argument values can now be lisp forms
|
|
- Readable aliases for #+srcname: and #+resname:
|
|
- Sha1 hash based caching of results in buffer
|
|
- Can now index into variable values
|
|
- org-babel-clojure now supports multiple named sessions
|
|
|
|
*** Miscellaneous changes
|
|
|
|
**** Make =C-c r C= customize remember templates
|
|
|
|
=C-c r C= is now a shortcut for
|
|
|
|
: M-x customize-variable RET org-remember-templates RET
|
|
|
|
This was a proposal by Adam Spiers.
|
|
|
|
**** Use John Gruber's regular expression for URL's
|
|
|
|
We now use a better regexp to spot plain links in text. This
|
|
regexp is adopted from [[http://daringfireball.net/2009/11/liberal_regex_for_matching_urls][John Gruber's blogpost]].
|
|
|
|
Thanks to William Henney for the pointer.
|
|
|
|
**** Implement tag completion of all tags in all agenda files
|
|
|
|
The new option =org-complete-tags-always-offer-all-agenda-tags=
|
|
makes Org complete all tags from all agenda files if non-nil.
|
|
Usually, setting it locally to t in org-remember buffers is the
|
|
most useful application of this new feature.
|
|
|
|
Thanks to Tassilo Horn for a patch to this effect.
|
|
|
|
* Version 6.33
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.33
|
|
:END:
|
|
|
|
** Incompatible changes
|
|
|
|
*** Reorganize key bindings for archiving
|
|
|
|
The following keys now do archiving
|
|
|
|
- C-c C-x C-a :: archive using the command specified in =org-archive-default-command=. This variable is by default
|
|
set to =org-archive-subtree=, which means arching to the
|
|
archive file.
|
|
|
|
The three specific archiving commands are available through
|
|
|
|
- C-c C-x C-s :: archive to archive file
|
|
- C-c C-x a :: toggle the archive tag
|
|
- C-c C-x A :: move to archive sibling
|
|
|
|
These bindings work the same in an Org file, and in the agenda.
|
|
|
|
In addition:
|
|
|
|
- In the agenda you can also use =a= to call the default archiving
|
|
command, but you need to confirm the command with =y= so that this
|
|
cannot easily happen by accident.
|
|
|
|
- For backward compatibility, =C-c $= in an org-mode file, and =$= in the agenda buffer continue to archive to archive file.
|
|
|
|
|
|
** Details
|
|
|
|
*** Level indentation cycling new empty entries and plain list items
|
|
:PROPERTIES:
|
|
:ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
|
|
:END:
|
|
|
|
To speed up data entry, TAB now behaves special in an empty
|
|
headline, i.e. if the current line only contains the headline
|
|
starter stars, maybe a TOD keyword, but no further content. This
|
|
is usually the situation just after creating a new headline with
|
|
=M-RET= or =M-S-RET=.
|
|
|
|
Then, TAB will first make the current entry a child of the
|
|
entry above, then a parent, then a grand parent etc until it
|
|
reaches top level. Yet another TAB and you will be back at the
|
|
initial level at which the headline was created.
|
|
|
|
New plain list items behave in just the same way.
|
|
|
|
Sounds strange? Try it, it is insanely fast when entering data.
|
|
If you still don't like it, turn it off by customizing
|
|
=org-cycle-level-after-item/entry-creation=.
|
|
|
|
Thanks to [[http://thread.gmane.org/gmane.emacs.orgmode/18236][Samuel Wales]] and [[http://thread.gmane.org/gmane.emacs.orgmode/18447/focus%3D19015][John Wiegley]] for ideas that
|
|
contributed to this new feature.
|
|
|
|
*** Speed commands at the start of a headline
|
|
|
|
If you set the variable =org-use-speed-commands=, the cursor
|
|
position at the beginning of a headline (i.e. before the first
|
|
star) becomes special. Single keys execute special commands in
|
|
this place, for example outline navigation with =f=, =b=, =n=,
|
|
and =p=, equivalent to the corresponding =C-c C-f=, =C-c C-b=,
|
|
=C-c C-n=, and =C-c C-f= commands. The full list of commands can
|
|
be seen by pressing =?= at the special location. More commands
|
|
can be added and existing ones modified by configuring the
|
|
variable =org-speed-commands-user=.
|
|
|
|
This was a request by John Wiegley, based on similar speed
|
|
navigation in /allout.el/.
|
|
|
|
*** Logging changes in scheduling and deadline time stamps
|
|
|
|
Setting the variables =org-log-reschedule= and
|
|
=org-log-redeadline= to either =time= or =note= will arrange for
|
|
recording a logbook entry whenever a scheduling date or deadline
|
|
is changed.
|
|
|
|
This was a request by Rick Moynihan.
|
|
|
|
*** File remember notes into a date tree
|
|
|
|
Remember notes can now be filed to a location in a date tree. A
|
|
date tree is an outline tree with years as top levels, months as
|
|
level 2 headings, and days as level three headings. These are
|
|
great for journals and for recording appointments and other loose
|
|
dates because it will be easy to find all entries referencing a
|
|
particular date, and it will be easy to archive all such entry
|
|
from last year, for example.
|
|
|
|
To select date tree filing, set the HEADLINE part of the remember
|
|
template to the symbol =date-tree=. The date tree will be build
|
|
in the file on top level. However, if the file contains an entry
|
|
with a non-nil =DATE_TREE= property, then the tree will be build
|
|
under that headline.
|
|
|
|
*** New commands to create entries from agenda and calendar
|
|
|
|
If you make the variable =org-agenda-diary-file= point to an
|
|
org-mode file, the =i= key in both the agenda buffer and in the
|
|
Emacs calendar will be made to insert entries into that Org file.
|
|
The dates at the cursor and the mark are being used when making
|
|
entries for specific dates or blocks. In the new file,
|
|
anniversaries will be collected under a special headline, and
|
|
day/block entries will be filed into a date tree (see previous
|
|
section).
|
|
|
|
This was a request by Stephen Eglen.
|
|
|
|
*** A new freemind exporter has been integrated with Org-mode
|
|
|
|
org-freemind.el has a number of entry points (for details, see
|
|
the source code), but you can also use Org's =C-c C-e m= to
|
|
export a file or a selected subtree.
|
|
|
|
Thanks to Lennart Borgman for this contribution. An earlier
|
|
version of this file was part of the nxhtml package, under the
|
|
name /freemind.el/.
|
|
|
|
*** Drawers are now exported properly
|
|
|
|
Drawers are now exported when the configuration requires it,
|
|
i.e. if the variable `org-export-with-drawers' is t or a list
|
|
containing the drawers to export.
|
|
|
|
*** Min/Max/Mean age operators in Column View.
|
|
|
|
This lets you see how much time has passed since the specified
|
|
timestamp property each entry. The three operators (=@min=,
|
|
=@max=, =@mean=) show either the age of the youngest or oldest
|
|
entry or the average age of the children.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** Allow source code block indentation to be preserved
|
|
|
|
If =org-src-preserve-indentation= is non-nil, or if a block has a
|
|
=-i= switch, then the behavior of org-exp-blocks is altered as
|
|
follows:
|
|
|
|
1. Indentation is not removed before passing the block contents
|
|
to the block-transforming plugin.
|
|
|
|
2. The result returned by the plugin is not re-indented.
|
|
|
|
3. Editing the source code block with =C-c '= preserves it's
|
|
indentation.
|
|
|
|
Thanks to Dan Davison for this feature.
|
|
|
|
*** Frame/window control when switching to source code edit buffer.
|
|
|
|
When switching to a source code editing buffer with =C-c '=, you
|
|
can now control the frame / window setup using the new variable
|
|
=org-src-window-setup=.
|
|
|
|
Thanks to Dan Davison for this feature.
|
|
|
|
*** Refile an entry to the current clock
|
|
|
|
You can now quickly refile an entry to become a child of the
|
|
entry currently being clocked. The keys for doing this are
|
|
=C-2 C-c C-w=.
|
|
|
|
This was a request by Bernt Hansen.
|
|
|
|
*** Make =C-c C-o= open the attachment directory is there are no links
|
|
|
|
If there is no link in an entry, =C-c C-o= will now open the
|
|
attachment directory instead.
|
|
|
|
This was a request/patch by John Wiegley.
|
|
|
|
*** org-mac-iCal.el: work with calendar "groups"
|
|
|
|
Some calendar systems (Google, Zimbra) handle subscriptions to
|
|
multiple calendars (or to an account) by grouping them under a
|
|
single caldav directory in the calendar tree. org-mac-iCal used
|
|
to assumes there is only one ics file created per caldav
|
|
directory, so while it *creates* all of the needed merged ics
|
|
files, it only copies one of them to ~/Library/Calendar before
|
|
importing the contents into the diary.
|
|
|
|
Thanks to Doug Hellmann for a patch to fix this.
|
|
|
|
*** New module /org-learn.el/ in the contrib directory
|
|
|
|
The file implements the learning algorithm described at
|
|
http://supermemo.com/english/ol/sm5.htm, which is a system for reading
|
|
material according to "spaced repetition". See
|
|
http://en.wikipedia.org/wiki/Spaced_repetition for more details.
|
|
|
|
Thanks to John Wiegley for this contribution.
|
|
|
|
*** New contributed package /org-git-link.el/
|
|
/org-git-link.el/ defines two new link types. The =git= link type
|
|
is meant to be used in the typical scenario and mimics the =file=
|
|
link syntax as closely as possible. The =gitbare= link type
|
|
exists mostly for debugging reasons, but also allows e.g.
|
|
linking to files in a bare git repository for the experts.
|
|
|
|
Thanks to Raimar Finken for this contribution.
|
|
|
|
*** /org-annotation-helper.el/ and /org-browser-url.e./ have been removed
|
|
Please switch to /org-protocol.el/, into which contains the same
|
|
functionality in a more general framework.
|
|
*** The contributed /org-export-freemind/ package has been removed.
|
|
Org now contains a new freemind exporter, /org-freemind.el/.
|
|
|
|
** Org-babel Changes
|
|
- Clojure is supported [Thanks to Joel Boehland]
|
|
- Perl is supported
|
|
- Ruby and Python now respond to the :file header argument
|
|
- Added :results_switches header argument for passing switches
|
|
through to raw src blocks
|
|
- Preserve indentation in source blocks on export and tangle
|
|
- Possible to evaluate noweb reference on tangling or code block
|
|
evaluation
|
|
- Allowing multiple noweb references on a single line
|
|
- Cleaned up the passing of parameter values from Org-babel to
|
|
language specific functions
|
|
|
|
* Version 6.32
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.32
|
|
:END:
|
|
|
|
** Rewrite of org-mobile.org, for MobileOrg 1.0 (build 20)
|
|
|
|
MobileOrg is currently under review at the iPhone App Store. You
|
|
will need Org-mode version 6.32 to interact with it.
|
|
|
|
** Added support for habit consistency tracking
|
|
/org-habit.el/ contains new code to track habits. Please
|
|
configure the variable org-modules to activate it. When active,
|
|
habits (a special TODO entry) will be displayed in the agenda
|
|
together with a "consistency graph". Habit tracking is described
|
|
in a new [[http://orgmode.org/manual/Tracking-your-habits.html][manual section]].
|
|
|
|
Thanks to John Wiegley for this contribution.
|
|
|
|
** New context-aware tag auto-exclusion
|
|
|
|
After writing a function relating to location and context
|
|
information, you will be able to press =/ RET= in the agenda to
|
|
exclude tasks that cannot be done in the current context.
|
|
For details, see the information about filtering in the manual.
|
|
|
|
Thanks to John Wiegley for a patch to this effect.
|
|
|
|
** New clock resolving tools
|
|
|
|
When clocking into a new task while no clock is running, Org now
|
|
checks for orphaned CLOCK lines and offers to repair these before
|
|
starting the clock. You can also configure this feature to check
|
|
for idle time and prompt you to subtract that time from the
|
|
running timer.
|
|
|
|
See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
|
|
|
|
Thanks to John Wiegley for a patch to this effect.
|
|
|
|
** Mutually exclusive tag groups can now have a name in the tags interface
|
|
|
|
The customize interface allows to optionally add a string to the
|
|
beginning or end of such a group.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
** Agenda Search view: Search for substrings
|
|
|
|
The default in search view (/C-c a s/)is now that the search
|
|
expression is searched for as a /substring/, i.e. the different
|
|
words must occur in direct sequence, and it may be only part of
|
|
a word. If you want to look for a number of separate keywords
|
|
with Boolean logic, all words must be preceded by =+= or =-=.
|
|
|
|
This was, more-or-less, requested by John Wiegley.
|
|
|
|
** Make space and backspace scroll the show window in the agenda
|
|
|
|
Pressing SPC again after using it to show an agenda item in
|
|
another window will make the entire subtree visible, and show
|
|
scroll it. Backspace and DEL will scroll back.
|
|
|
|
This was a request by Eric Fraga.
|
|
|
|
** File tags are now offered for completion during a tag prompts
|
|
|
|
Requested by Matt Lundin.
|
|
|
|
** Make `- SPC' an agenda filter that selects entries without any tags
|
|
|
|
Request by John Wiegley.
|
|
|
|
** Better way to edit multi-line macro definitions
|
|
|
|
The editing tool key =C-c '= now also edits =#+MACRO=
|
|
definitions, including multiline macros.
|
|
|
|
** Restructured Manual
|
|
|
|
The manual has been slightly reorganized. The archiving stuff,
|
|
which was - somewhat obscurely - hidden in the /Document
|
|
Structure/ chapter, has been moved into the new chapter
|
|
/Capture-Refile-Archive/. Also, there is a new chapter /Markup/
|
|
which contains both the markup rules (moved there from the Export
|
|
chapter) and the documentation for embedded LaTeX.
|
|
|
|
** Improved figure placement in LaTeX and HTML export
|
|
|
|
Text can now be wrapped around figures. See the manual for
|
|
details.
|
|
|
|
** Allow date to be shifted into the future if time given is earlier than now
|
|
|
|
By setting
|
|
|
|
: (setq org-read-date-prefer-future 'time)
|
|
|
|
you indicate to Org that, if you only give a time at the
|
|
date/time prompt, and if this time is earlier then the current
|
|
time, then the date of tomorrow will be assumed to be valid for
|
|
this event. A similar mechanism was already in place for dates,
|
|
but now you can make it work for times as well.
|
|
|
|
** Collected changes in org-babel
|
|
- Source blocks can now reference source-blocks in other files
|
|
using =filepath:srcname= syntax.
|
|
- Inline code blocks like =src_python{2+2}= are now exported
|
|
- Remote source block calls using the =#+lob: srcname(arg=val)=
|
|
syntax can now be exported.
|
|
- When =:file= is supplied with an =R= block, graphics are
|
|
automatically sent to file and linked from the org buffer, thus
|
|
appearing on export. The image format is obtained from the
|
|
filename extension. Possible values are =.png, .jpg, .jpeg,
|
|
.tiff, .bmp, .pdf, .ps, .postscript=, defaulting to =png=.
|
|
- Results can be returned as parseable code using =:results code=,
|
|
and as pretty-printed code using =:results pp= (emacs-lisp,
|
|
python, ruby). Thanks to Benny Andresen for the idea and patch
|
|
for emacs-lisp.
|
|
- When =:file filename= is supplied, =:exports file= is unnecessary
|
|
- Header args are taken from org-file-properties in addition to
|
|
properties active in the subtree.
|
|
- =:noweb= header argument now expands noweb references before
|
|
source-block evaluation.
|
|
- Tangling honours the new org variable
|
|
org-src-preserve-indentation, so that correct code is output for
|
|
a language like python that depends on indentation.
|
|
|
|
** Changes in org-exp-blocks.el
|
|
- Interblocks export has been simplified.
|
|
- Support for R code (=begin_R= blocks and inline =\R{}=) has been
|
|
removed. Please use org-babel instead.
|
|
|
|
* Version 6.31
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.31
|
|
:END:
|
|
|
|
** Org-babel is now part of the Org distribution
|
|
|
|
Org-babel provides the ability to execute source code in many
|
|
different languages within org-mode documents. The results of
|
|
code execution -- text, tables and graphics -- can be integrated
|
|
into Org-mode documents and can be automatically updated during
|
|
publishing. Since Org-babel allows execution of arbitrary code,
|
|
the range of tasks that can be addressed from within an Org mode
|
|
file becomes very large. Examples of ways in which Org-babel
|
|
might be used include
|
|
|
|
- Documenting a task that involves some programming so that it is
|
|
automatically repeatable
|
|
- Creating dynamic (executable) reports that respond to changes
|
|
in the underlying data (Reproducible Research)
|
|
- Exportation of code contained in an Org-mode document into
|
|
regular source code files (Literate Programming)
|
|
|
|
Additionally, Org-babel provides a programming environment within
|
|
Org files, in which data can be transmitted between parameterised
|
|
source code blocks in different languages, as well as between
|
|
source code blocks and Org-mode tables.
|
|
|
|
A simple API is defined so that users can add support for new
|
|
"languages" (broadly construed). Languages currently supported
|
|
are:
|
|
|
|
- asymptote
|
|
- css
|
|
- ditaa
|
|
- dot
|
|
- emacs-lisp
|
|
- gnuplot
|
|
- haskell
|
|
- ocaml
|
|
- python
|
|
- R
|
|
- ruby
|
|
- sass
|
|
- sh
|
|
- sql
|
|
|
|
Org-babel was designed and implemented Eric Schulte with continued
|
|
significant help on both accounts from Dan Davison.
|
|
|
|
** MobileOrg support
|
|
|
|
Richard Morelands iPhone/iPod Touch program [[http://mobileorg.ncogni.to/][MobileOrg]] can view
|
|
Org files, mark entries as DONE, flag entries for later
|
|
attention, and capture new entries on the road. Org-mode has now
|
|
support to produce a staging area where MobileOrg can download
|
|
its files, and to integrate changes done on the phone in a half
|
|
automatic, half interactive way. See the new appendix B in the
|
|
manual for more information.
|
|
|
|
|
|
** Indented lines starting with "#+ " are treated as comments
|
|
|
|
To allow comments in plain lists without breaking the list
|
|
structure, you can now have indented comment lines that start
|
|
with "#+ ".
|
|
|
|
** New STARTUP keyword `showeverything'
|
|
|
|
This will make even drawer contents visible upon startup.
|
|
Requested by Jeff Kowalczyk.
|
|
|
|
** New contributed package org-invoice.el
|
|
|
|
This package collects clocking information for billing
|
|
customers.
|
|
|
|
Thanks to Peter Jones for this contribution.
|
|
|
|
** Encrypting subtrees
|
|
/org-crypt.el/ by John Wiegley and Peter Jones allows encryption
|
|
of individual subtrees in Org-mode outlines. Thanks to John and
|
|
Peter for this contribution.
|
|
|
|
** Agenda: Support for including a link in the category string
|
|
|
|
The category (as specified by an #+CATEGORY line or CATEGORY
|
|
property can contain a bracket link. While this sort-of worked
|
|
in the past, it now is officially supported and should cause no
|
|
problems in agenda display or update. The link can be followed
|
|
by clicking on it, or with =C-c C-o 0=.
|
|
|
|
This was a request by Peter Westlake.
|
|
|
|
* Version 6.30
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.30
|
|
:END:
|
|
|
|
** Inconsistent changes
|
|
|
|
*** Agenda now uses =f= and =b= to move through time
|
|
|
|
Up to now, the Org-mode agenda used the cursor keys =left= and
|
|
=right= to switch the agenda view forward an backward through
|
|
time. However, many people found this confusing, and others
|
|
wanted to be able to do cursor motion in the agenda, for example
|
|
to select text. Therefore, after an extensive discussion on
|
|
=emacs-orgmode@gnu.org=, it was decided to use the =b= and
|
|
=f= keys instead, and to let the cursor keys do cursor motion
|
|
again.
|
|
|
|
*** Agenda follow mode is now on the =F= key
|
|
|
|
This was necessary to free up the =f= key, see above.
|
|
|
|
** Details
|
|
|
|
*** Maintenance
|
|
|
|
**** New command to submit a bug report
|
|
|
|
There is now a special command =M-x org-submit-bug-report=. This
|
|
command will create a mail buffer with lots of useful details.
|
|
In particular, it contains complete version information for Emacs
|
|
and Org-mode. It will also (if you agree to it) contain all
|
|
non-standard settings of org-mode and outline-mode related
|
|
variables. Even if you do not sent your emails from within
|
|
Emacs, please still use this command to generate the information
|
|
and then copy it into your mail program.
|
|
|
|
The command will not generate and include a =*Backtrace*= buffer,
|
|
please do this yourself if you have hit an error. For more
|
|
information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
|
|
|
|
**** New contributed package org-track.el
|
|
|
|
This package allows to keep up-to-date with current Org
|
|
development, using only Emacs on-board means. So if you don't
|
|
want or cannot use =git=, but still want to run the latest and
|
|
hottest Org-mode, this is for you.
|
|
|
|
Thanks to Sebastian Rose for this contribution.
|
|
|
|
*** Agenda
|
|
|
|
**** Agenda now uses =f= and =b= to move through time
|
|
|
|
Up to now, the Org-mode agenda used the cursor keys =left= and
|
|
=right= to switch the agenda view forward an backward through
|
|
time. However, many people found this confusing, and others
|
|
wanted to be able to do cursor motion in the agenda, for example
|
|
to select text. Therefore, after an extensive discussion on
|
|
=emacs-orgmode@gnu.org=, it was decided to use the =b= and
|
|
=f= keys instead, and to let the cursor keys do cursor motion
|
|
again.
|
|
|
|
**** Agenda follow mode is now on the =F= key
|
|
|
|
This was necessary to free up the =f= key, see above.
|
|
|
|
**** The agenda can be put into a dedicated frame
|
|
|
|
When the variable =org-agenda-window-setup= has the value
|
|
=other-frame=, then the new frame created to show the agenda
|
|
will now have the window marked as /dedicated/. As a
|
|
consequence, exiting the agenda while the agenda is the only
|
|
window on the frame will kill that frame.
|
|
|
|
This was a request by Henry Atting.
|
|
|
|
**** New mode to show some entry body text in the agenda
|
|
|
|
There is now a new agenda sub-mode called
|
|
=org-agenda-entry-text-mode=. It is toggled with the =E= key.
|
|
When active, all entries in the agenda will be accompanied by a
|
|
few lines from the outline entry. The amount of text can be
|
|
customized with the variable =org-agenda-entry-text-maxlines=.
|
|
|
|
This was a request by Anthony Fairchild, Manish, and others.
|
|
|
|
**** Improve following links from the agenda
|
|
=C-c C-o= in the agenda will now offer all links in the headline
|
|
and text of an entry. If there is only a single link, it will be
|
|
followed immediately.
|
|
|
|
**** Avoid some duplicate entries
|
|
|
|
There is a new variable that can be used to avoid some duplicate
|
|
agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
|
|
If that is set, it avoids that an entry shows up in the agenda for
|
|
today for both a scheduling and a deadline entry. See the
|
|
docstring of the variables for more details.
|
|
|
|
This partially addresses a request by Samuel Wales.
|
|
|
|
**** Mark the running clock in the agenda.
|
|
|
|
If the entry currently being clocked is present in the agenda, it
|
|
will be highlighted with the face =org-agenda-clocking=.
|
|
|
|
This was a request by Rainer Stengele.
|
|
|
|
|
|
*** Export
|
|
|
|
**** Allow LaTeX export to use the listings package
|
|
|
|
The LaTeX =listings= package can now be used for formatting
|
|
fontified source code in many programming languages. For more
|
|
information, see
|
|
http://thread.gmane.org/gmane.emacs.orgmode/16269 and
|
|
http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
|
|
|
|
Thanks to Eric Schulte for this patch.
|
|
|
|
**** Remove table rows that only contain width and alignment markers
|
|
|
|
The width and alignment in table columns can be set with a cookie
|
|
like "<10>" or "<r>" or "<r10>". In order to keep Org from
|
|
exporting such lines, the first column of a line should contain
|
|
only "/". However, for convenience, there is now a special case:
|
|
If the entire row contains only such markers, the line will
|
|
automatically be discarded during export, even is the first
|
|
column is not "/".
|
|
|
|
**** Allow Macro calls to span several lines.
|
|
|
|
Macro calls may now span several lines, to write several
|
|
arguments in a cleaner way. The result of a macro call can also
|
|
span several lines, by inserting the string "\n" (backslash
|
|
followed by n) into the value in the macro definition.
|
|
|
|
These were requests by Stefan Vollmar.
|
|
|
|
*** Misc
|
|
|
|
**** Quick access to all links in an entry
|
|
|
|
If =C-c C-o= is called while the cursor is in a headline, but not
|
|
directly on a link, then all links in the entry will be offered
|
|
in a small menu. If there is only a single link, it will be
|
|
followed without a prompt.
|
|
|
|
**** Visibility Cycling: Allow to show all empty lines after a headline
|
|
|
|
=org-cycle-separator-lines= can now be set to a negative value,
|
|
to indicate that, if the number of empty lines before a visible
|
|
entry is greater than the specified number, then *all* empty
|
|
lines should be shown.
|
|
|
|
This was a request by "PT" whatever this means.
|
|
|
|
**** Allow language names to replace some strange major mode names
|
|
|
|
Sometimes a language uses a major mode which can't be guessed
|
|
from it's name. There is now a new variable =org-src-lang-modes=
|
|
which can be used to map language names to major modes when this
|
|
is the case. This is used when editing a source-code
|
|
block, or when exporting fontified source-code with htmlize.
|
|
|
|
Thanks to Eric Schulte for a patch to this effect.
|
|
|
|
**** iswitchb support for many completion prompts
|
|
|
|
This is enabled using =org-completion-use-iswitchb=, and follows
|
|
the same model of usage as for ido users.
|
|
|
|
Thanks to John Wiegley for a patch to this effect.
|
|
|
|
**** New commands to set the effort property of an entry
|
|
|
|
There is now a special command, =C-c C-x e= to set the =Effort=
|
|
property of an entry. From the agenda you can even use =e=.
|
|
If you have set up allowed values for the =Effort= property, then
|
|
using a prefix argument will directly select the nth allowed
|
|
value. For example, in the agenda, =5 e= will select the 5th
|
|
allowed value.
|
|
|
|
This was a request by Michael Gilbert
|
|
|
|
**** Edit src works now better with killing buffer
|
|
|
|
Thanks to Dan Davison for a patch to this effect
|
|
|
|
|
|
* Older changes
|
|
|
|
For older Changes, see [[file:Changes_old.org]]
|
|
|
|
|
|
|
|
* COMMENT Setup
|
|
|
|
#+STARTUP: showstars
|
|
|
|
#+TITLE: Org-mode list of user-visible changes
|
|
#+AUTHOR: Carsten Dominik
|
|
#+EMAIL: carsten at orgmode dot org
|
|
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
|
|
#+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
|
|
#+LINK_UP: index.html
|
|
#+LINK_HOME: http://orgmode.org
|