mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-24 13:32:52 +00:00
8242 lines
306 KiB
Org Mode
8242 lines
306 KiB
Org Mode
# -*- mode: org; fill-column: 65 -*-
|
|
|
|
#+STARTUP: hidestars
|
|
|
|
#+TITLE: Archive list of Org-mode 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
|
|
#+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
|
|
#+LINK_UP: index.html
|
|
#+LINK_HOME: http://orgmode.org
|
|
|
|
|
|
* Version 6.29
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.29
|
|
:END:
|
|
|
|
** Structure editing and cycling
|
|
|
|
*** New minor mode =org-indent-mode=
|
|
|
|
This mode implements outline indentation similar to clean view,
|
|
but in a dynamic and virtual way, at display time. I have wanted
|
|
this functionality for years and tried several implementations,
|
|
all unworkable. Emacs 23 has finally made it possible. So this
|
|
solution is for Emacs 23 only, and I am not sure yet how stable
|
|
it really is. Time will tell.
|
|
|
|
Currently I do not recommend to turn it on globally using
|
|
the variable =org-startup-indented=. But you can turn it on
|
|
for a particular buffer using
|
|
|
|
#+begin_src org
|
|
,#+STARTUP: indent
|
|
#+end_src
|
|
|
|
Turning on this minor mode automatically turns on
|
|
=org-hide-leading-stars=, and it turns off
|
|
=org-adapt-indentation=.
|
|
|
|
*** Skip CHILDREN state if there are no children
|
|
|
|
When a subtree does not have any children, visibility
|
|
cycling now skips the CHILDREN state. You can customize
|
|
this behavior with the variable
|
|
=org-cycle-skip-children-state-if-no-children=.
|
|
|
|
*** Nodes without keyword can now be counted for statistics
|
|
|
|
See the variable =org-provide-todo-statistics= for details.
|
|
It can be the symbol =all-headings=, or a list of TODO
|
|
states to consider.
|
|
|
|
This was requested by David A. Gershman.
|
|
|
|
*** New function =org-list-make-subtree=
|
|
|
|
This function converts the plain list at point into a
|
|
subtree, preserving the list structure. The key for this
|
|
command is =C-c C-*=. Thanks to Ilya Shlyakhter for this
|
|
suggestion.
|
|
|
|
*** Headlines can be fontified to the right window border
|
|
|
|
Use the variable =org-fontify-whole-heading-line= to turn
|
|
this on. Then headline fontification will include the final
|
|
newline. If your setup for headline faces includes a
|
|
background different from the default background, this setup
|
|
creates a visual line across the window.
|
|
|
|
*** Inline tasks have become better citizens
|
|
|
|
The new key =C-c C-x t= inserts an inline task including an
|
|
END line. Inline tasks play along with (i,e, are ignored
|
|
by) link creation and footnotes. Inline tasks with an =END=
|
|
line can be refiled and archived. During the refile/archive
|
|
operation, the tasks become normal tasks and the =END= line
|
|
disappears.
|
|
|
|
These improvements reflect reports and requests by Peter
|
|
Westlake and Matt Lundin.
|
|
|
|
*** Archive subtree and move to next visible task
|
|
|
|
When archiving a task, the cursor now ends up on the next
|
|
headline, so the repeated application of the archiving
|
|
command will archive successive tasks.
|
|
|
|
Thanks to Bernt Hansen for a patch to this effect.
|
|
|
|
*** Renumbering the fn:N-like footnotes
|
|
|
|
The new footnote action =r= will renumber simple =fn:N=
|
|
footnotes in the current document. The action =S= will
|
|
first do the renumbering and then sort the footnotes (the
|
|
=s= action).
|
|
|
|
This was a request by Andreas Röhler.
|
|
|
|
*** Automatic sorting and renumbering
|
|
|
|
Customize the new variable =org-footnote-auto-adjust= or use
|
|
the =#+STARTUP= option =fnadjust= to get automatic
|
|
renumbering and sorting of footnotes after each
|
|
insertion/deletion.
|
|
|
|
This was a request by Andreas Röhler.
|
|
|
|
*** Improvements to plain-list-cycling with TAB.
|
|
|
|
TAB now by default cycles visibility in plain lists if the
|
|
cursor is at a plain list item. This corresponds to the new
|
|
default value =t= of =org-cycle-include-plain-lists=. If
|
|
you want to treat plain list items as part of the outline
|
|
hierarchy during cycling of outline headings (this is what a
|
|
=t= value used to mean), set this variable to =integrate=.
|
|
|
|
*** Force bullet type changes during plain list demotion
|
|
|
|
We now have a mechanism to force a particular bullet type
|
|
when demoting a plain list item. See the variable
|
|
=org-list-demote-modify-bullet= for details.
|
|
|
|
This was a request by Rainer Stengele.
|
|
|
|
|
|
** Tables
|
|
|
|
*** Relative row references may now cross hlines
|
|
|
|
A relative row reference like @-1 in a table may now reach
|
|
across a horizontal separator line. I hope this will not
|
|
break any important tables out there, but I think it is the
|
|
right thing to do.
|
|
|
|
The sole original reason for not allowing such crossing was
|
|
to implement running averages of one column in the next.
|
|
This can now be done using field formulas near the beginning
|
|
and end of the column, and a column formula for the central
|
|
part.
|
|
|
|
See the variable =org-table-relative-ref-may-cross-hline=
|
|
for more details.
|
|
|
|
*** Cut or copy single fields
|
|
=C-c C-x C-w= and =C-c C-x M-w= now act on single table
|
|
fields if there is no active region defined.
|
|
|
|
** Links
|
|
|
|
*** Find agenda files linking to the current location
|
|
|
|
The new command =org-occur-link-in-agenda-files= creates a
|
|
link like =org=store-link= would, and then searches all
|
|
agenda files for this link. So for example, you could be in
|
|
a GNUS message, trying to find tasks that have links to this
|
|
message.
|
|
|
|
*** Include stored links into link completion
|
|
|
|
When inserting a link with =C-c C-l=, TAB completion will
|
|
now not only access link prefixes, but also the stored
|
|
links.
|
|
|
|
|
|
** Agenda
|
|
|
|
*** Bulk commands: Add Schedule and Deadline processing
|
|
|
|
Agenda bulk commands on marked entries now can also set the
|
|
scheduling date or a deadline. Normally, all entries will
|
|
be set to the specified date. However, when writing the
|
|
change as "++5d" or "++2w", then each time stamp will
|
|
independently be shifted by that amount.
|
|
|
|
*** Tags-todo searches: No longer force to list sublevels
|
|
|
|
For historic reasons, =org-tags-match-list-sublevels= was
|
|
forced to =t= in tags-todo agenda searches. Now we no
|
|
longer do this and accept the user setting of this variable.
|
|
|
|
Thanks to Patrick Bahr for bringing this up.
|
|
|
|
|
|
** Export
|
|
|
|
*** Use file-source.org format instead of file.org-source
|
|
|
|
When publishing the source Org file to the source directory
|
|
(i.e. if the publishing directory is the same as the source
|
|
directory), then the file name will now look like
|
|
=file-source.org= and =file-source.org.html=. Note that if you
|
|
do use this kind of setup, you probably want to specify
|
|
|
|
#+begin_src emacs-lisp
|
|
:exclude "-source\.org"
|
|
#+end_src
|
|
|
|
in your publishing project, to avoid that a new generation of
|
|
=-source= files is created each time you publish the project.
|
|
|
|
*** LaTeX export: Skip title command when there is no title
|
|
|
|
Using =#+TITLE:= without a value makes the LaTeX export
|
|
ignore the value of =org-export-latex-title-command=.
|
|
|
|
*** New option =org-export-html-footnote-format=
|
|
|
|
This defines the format for footnote references. This
|
|
string must contain =%s= which will be replaced by the
|
|
footnote label.
|
|
|
|
*** More export options for source code examples
|
|
|
|
Allow whitespace in code references. Allow the =-r= switch
|
|
to remove the references in the source code even when the
|
|
lines are not numbered: the labels can be explicit enough.
|
|
Note that =-r -k= is the same as no switch at all.
|
|
|
|
Thanks to Ulf Stegemann for bring this up.
|
|
|
|
*** LaTeX export: Allow more environment for low-level headings
|
|
|
|
The user can now define a non-standard environment or macro
|
|
to handle export of low-level headings to LaTeX.
|
|
|
|
For details, see the variable =org-export-latex-low-levels=.
|
|
|
|
*** LaTeX export: Add postscript file extensions for images
|
|
|
|
Some people process LaTeX files not directly to pdf, but go
|
|
through dvi and then to ps or pdf. In that case, allowed
|
|
images are ps and eps files, not pdf and jpg.
|
|
|
|
This commit adds the two extensions, so that export using
|
|
that alternative path can be supported better. However, it
|
|
is up to the user to make sure that the images are actually
|
|
compatible with the backend.
|
|
|
|
*** HTML export: Show UP and HOME links
|
|
=org-export-html-link-up= and =org-export-html-link-home=
|
|
are now also inserted into normal HTML export, above the
|
|
page title.
|
|
|
|
*** General mechanism for local variable settings
|
|
|
|
Many different people want to set many different variables
|
|
in a buffer-local way for export. This cannot be done with
|
|
file variables, because the Org buffer is not current while
|
|
the exporter is running.
|
|
|
|
Lots of variables can be set with the =#+OPTIONS= lines, but
|
|
finding abbreviations goes only so far.
|
|
|
|
Therefore we have now a general mechanism that can be used
|
|
to bind variables during export operations.
|
|
|
|
A line like:
|
|
|
|
#+begin_src org
|
|
,#+BIND: variable value
|
|
#+end_src
|
|
|
|
will bind the variable to value. For example, the line
|
|
|
|
#+begin_src org
|
|
,#+OPTIONS: toc:nil
|
|
#+end_src
|
|
|
|
can now equivalently be written as
|
|
|
|
#+begin_src org
|
|
,#+BIND: org-export-with-toc nil
|
|
#+end_src
|
|
|
|
*** Clean out publishing timestamp directory
|
|
|
|
When changing the publishing setup, old timestamp files can
|
|
be left behind. Forcing publishing of all projects with
|
|
=C-u C-c C-e E= will remove all existing timestamp files.
|
|
|
|
** Miscellaneous
|
|
|
|
*** Calendar for reading a date forced into current frame.
|
|
|
|
Separate-frame setup for calendar had caused problems in
|
|
AquaEmacs.
|
|
|
|
*** Set timers for headlines
|
|
|
|
You can now set a timer related to any headline, like an
|
|
alarm clock. Three new commands have been defined:
|
|
|
|
- org-timer-set-timer :: bound to =C-c C-x ;= in Org buffers
|
|
and to =;= in Org agenda buffers. This function sets a
|
|
timer for the headline the cursor is currently it. Up to
|
|
three timers can be used at any time.
|
|
|
|
- org-timer-show-remaining-time :: Show the remaining time
|
|
for the last timer set.
|
|
|
|
- org-timer-cancel-timers :: Cancel all timers.
|
|
|
|
This functionality was requested by Samuel Wales and
|
|
emulates that of /tea-time.el/ -- see the emacswiki doc at
|
|
|
|
http://www.emacswiki.org/emacs/tea-time
|
|
|
|
*** Clock reports may include a time stamp
|
|
|
|
Using =:timetamp t= as an option in a clock report now
|
|
allows insertion of the timestamp for the clocked entry.
|
|
Timestamps are searched for in this order: =SCHEDULING=,
|
|
=TIMESTAMP=, =DEADLINE= and =TIMESTAMP_IA=.
|
|
|
|
*** New option =org-id-uuid-program=
|
|
|
|
On some systems, =uuidgen= is named =uuid=.
|
|
|
|
*** Clock notification handler made configurable
|
|
|
|
See the variable =org-show-notification-handler=.
|
|
|
|
*** New option =org-tags-sort-function=.
|
|
|
|
This allows tags to be sorted by =string<=, =string>=, or a
|
|
custom function.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** Improvements for org-feed.el
|
|
|
|
But fixes, and allowing to choose between =wget= and =curl=.
|
|
|
|
Thanks to Christopher League for a patch to this effect.
|
|
|
|
|
|
* Version 6.28
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.28
|
|
:END:
|
|
|
|
|
|
** Agenda changes
|
|
*** Refiling now works from the agenda
|
|
|
|
The command =C-c C-w= can be executed to refile an entry shown in
|
|
the agenda. After the command, the entry will no longer be shown
|
|
in the agenda. It it is still in an agenda file, refresh the
|
|
agenda to bring it up from it's new context.
|
|
|
|
*** Bulk action
|
|
|
|
You can now use the =m= key to mark entries in the agenda. =u=
|
|
will unmark the etry at point, and =U= will unmark everything.
|
|
When one or more entries have been selected, the =B= key will
|
|
execute an action on all selected entries. I believe this bulk
|
|
action makes mainly sense for the commands that require answering
|
|
interactive prompts. So far the supported actions are
|
|
|
|
- Refile all selected entries to a single destination
|
|
- Archive all selected entries
|
|
- Set the TODO state of all selected entries, bypassing any
|
|
blocking or note-taking.
|
|
- Add or remove a tag to/from all selected entries
|
|
|
|
We can add more actions, if you convince me they make sense.
|
|
|
|
*** Modified keys
|
|
|
|
To make room for the new Bulk action commands, some keys in the
|
|
agenda buffer had to move:
|
|
|
|
There is a new command bound to the =v= key, it dispatches
|
|
various view mode changes. Month and year view are now only
|
|
available as =v m= and =v y=, respectively. Turning on
|
|
inclusion of archive trees and files (unsed to be on =v=) is
|
|
now on =v a= and =v A=.
|
|
|
|
** Improvements related to =#+begin= blocks
|
|
|
|
*** Indented blocks
|
|
=#+begin_ ... +#end_...= blocks may now be indented along
|
|
with the structure of your document. So the =#+= lines no
|
|
longer need to start in column 0, these lines can be, along
|
|
with the block contents, indented arbitrarily. Org supports
|
|
this during editing with "C-c '", and now finally treats them
|
|
consistently during export across all backends. This makes
|
|
these blocks work much better with plain list structure
|
|
editing, and it also looks better if you like to indent text
|
|
under outline headings. For example:
|
|
|
|
#+begin_src org
|
|
,*** This is some headline
|
|
, #+begin_example
|
|
, here we have an example
|
|
, #+end_example
|
|
,
|
|
, - a plain list
|
|
, - a sublist item
|
|
, - a second sublist item
|
|
|
|
, #+begin_center
|
|
, centering within the plain list item
|
|
, #+end_center
|
|
|
|
, #+begin_example
|
|
, This example does terminate the sublist,
|
|
, the indentation of the #+begin line counts.
|
|
, #+end_example
|
|
|
|
, - but the top level plain lists continues here
|
|
#+end_src
|
|
|
|
From now on, the indentation of such a block decides whether
|
|
it is part of a plain list item or if it is actually
|
|
terminating the list. This was so far inconsistent between
|
|
editing behavior and export, now it is consistent.
|
|
|
|
The content of the block, i.e. the text between the #+ lines
|
|
gets an extra indentation of two space characters, which I
|
|
find visually pleasing. You can change the amount of extra
|
|
indentation using the variable
|
|
=org-src-content-indentation=.
|
|
|
|
This was a pretty complex change, achieved in many small
|
|
steps over the last couple of weeks. It cleans up one of the
|
|
more annoying inconsistencies in Org. I hope it will work,
|
|
but I am sure you will let me know if not.
|
|
|
|
*** Indented tables
|
|
|
|
Also tables can be fully indented now. What is new here is
|
|
that the =#+TBLFM= line, and also things like =#+caption=,
|
|
=#+label=, =#+attr_...= etc can be indented along with the
|
|
table. Again, this makes the look of the document better and
|
|
allows for proper plain list structure editing.
|
|
|
|
*** Protected blocks
|
|
|
|
Some =#+begin_ ... +#end_...= blocks contain text that should not
|
|
be processed like normal Org-mode text. =example= and =src=
|
|
block fall into this class, and so do =ditaa= blocks, for
|
|
example. The content in such blocks is now properly fontified in
|
|
a single face (called =org-block=). This was a frequently
|
|
requested feature. The list of blocks that should be protected
|
|
from normal Org-mode fontification is defined in the variable
|
|
=org-protecting-blocks=. Modules defining new blocks should add
|
|
to this variable when needed. =org-exp-blocks.el= does this
|
|
already.
|
|
|
|
*** Hide and show the contents of blocks
|
|
|
|
Blocks can now be folded and unfolded with =TAB=. If you
|
|
want to have all blocks folded on startup, customize
|
|
=org-hide-block-startup= or use the =#+STARTUP= options
|
|
=hideblocks= or =showblocks= to overrule this variable on a
|
|
per-file basis.
|
|
|
|
Thanks to Eric Schulte for a patch to this effect.
|
|
|
|
*** Moved Eric Schulte's org-exp-blocks.el into the core
|
|
|
|
This seems to be getting a lot of use now, so it is now part of
|
|
the core and loaded automatically. This package can now also be
|
|
used to define new blocks. Customize the variable
|
|
=org-export-blocks= or use the function
|
|
=org-export-blocks-add-block=.
|
|
|
|
|
|
** New and updated contributed modules
|
|
*** org-export-generic.el is now a contributed package.
|
|
|
|
This new module allows users to export an Org page to any type of
|
|
output by constructing the output using a list of prefixes,
|
|
format specifications and suffixes for the various types of org
|
|
data (headlines, paragraphs, list bullets, etc). Use the
|
|
=org-set-generic-type= function to define your own export types
|
|
and have them bound to a key (use an upper-case letter for user
|
|
export definitions).
|
|
|
|
Thanks to Wes Hardaker for this contribution with a lot of
|
|
potential.
|
|
*** New contributed modules org-mac-iCal.el by Christopher Suckling
|
|
|
|
See the [[http://orgmode.org/worg/org-contrib/org-mac-iCal.php][documentation on Worg]].
|
|
|
|
*** org-jira.el: New file, by Jonathan Arkell
|
|
|
|
Links to Jira tickets.
|
|
|
|
*** org-R.el: Updated.
|
|
/org-R.el/ has been updated, thanks to Dan Davison for this.
|
|
|
|
*** =[ TABLE-OF-CONTENTS]= is now also used for LaTeX export
|
|
|
|
This cookie will mark the location of the =\tableofcontents=
|
|
macro. Triggered by a report by Yuva.
|
|
|
|
|
|
** Changes to the clocking system
|
|
*** New option `org-clock-out-switch-to-state'.
|
|
|
|
Clocking out can now switch the task to a particular state.
|
|
|
|
This was a request by Manish.
|
|
|
|
*** More control about what time is shown in mode line while clocking
|
|
|
|
- If you have an =Effort= property defined, its value is also
|
|
shown in the mode line, and you can configure =org-clock-sound=
|
|
to get an alert when your planned time for a particular item is
|
|
over.
|
|
|
|
- When an entry has been clocked earlier, the time shown in the
|
|
mode line while the item is being clocked is now the sum of all
|
|
previous, and the current clock.
|
|
|
|
- The exception to the previous rule are repeating entries: There
|
|
the clock time will only be clocking instances recorded since
|
|
the last time the entry when through a repeat event. The time
|
|
of that event is now recorded in the =LAST_REPEAT= property
|
|
|
|
- You can use the property CLOCK_MODELINE_TOTAL to get
|
|
control over what times are displayed in the mode line, see
|
|
the manual for more information.
|
|
|
|
- The new command =C-c C-x C-e= can be used to change the Effort
|
|
estimate and therefore to change the moment when the clock sound
|
|
will go off.
|
|
|
|
- The clock string in the modeline now has a special font, =org-mode-line-clock=. This was a proposal by Samuel Wales.
|
|
|
|
- Clicking on the mode line display of the clock now offers a
|
|
menu with important clock functions like clocking out, or
|
|
switching the clock to a different task.
|
|
|
|
Thanks to Konstantin Antipin for part of the implementation, and
|
|
thanks to Bernt Hansen for helping to iron out the issues related
|
|
to repeated tasks.
|
|
|
|
|
|
** Miscellaneous changes
|
|
|
|
*** Allow to specify the alignment in table columns by hand
|
|
|
|
Similar to the =<20>= cookies that allow to specify a maximum
|
|
width for a table column, you can now also specify the alignment
|
|
in order to overrule the automatic alignment choice based on the
|
|
dominance of number or non-number fields in a column. The
|
|
corresponding cookies are =<l>= and =<r>= for left and right side
|
|
alignment, respectively. These can be combined with maximum
|
|
width specification like this: =<r15>=.
|
|
|
|
This was a proposal by Michael Brand.
|
|
|
|
*** Stop logging and blocking when selecting a TODO state
|
|
|
|
Sometimes you want to quickly select or change a TODO state of an
|
|
item, without being bothered by your setup for blocking state
|
|
changes and logging entries. So in this case, you don't want the
|
|
change be seen as a true state change.
|
|
|
|
You can now set the variable
|
|
=org-treat-S-cursor-todo-selection-as-state-change= to nil.
|
|
Then, when you use =S-left= and =S-right= to quickly flip through
|
|
states, blocking and logging will be temporarily disabled.
|
|
|
|
*** Export BBDB anniversaries to iCalendar
|
|
|
|
See the variable `org-icalendar-include-bbdb-anniversaries'.
|
|
|
|
This was a request by Richard Riley, thanks to Thomas Baumann
|
|
for the prompt implementation.
|
|
|
|
*** Macro definitions can be collected in an #+SETUPFILE
|
|
|
|
If you want to use many macros in different files, collect the
|
|
=#+macro= lines into a file and link to them with
|
|
|
|
: #+SETUPFILE: path/to-file
|
|
|
|
*** Subtree cloning now also shifts inactive dates
|
|
|
|
When using the command =org-clone-subtree-with-time-shift=, time
|
|
stamps will be shifted for each clone. So far, this applied only
|
|
to active timestamps, but now it does apply to inactive
|
|
ones as well.
|
|
|
|
*** HTML table export: Assign alternating classes to rows
|
|
|
|
The new variable =org-export-table-row-tags= can now be set up in
|
|
a way so that different table lines get special CSS classes
|
|
assigned. This can be used for example to choose different
|
|
background colors for odd and even lines, respectively. The
|
|
docstring of the variable contains this example:
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-export-table-row-tags
|
|
(cons '(if head
|
|
"<tr>"
|
|
(if (= (mod nline 2) 1)
|
|
"<tr class=\"tr-odd\">"
|
|
"<tr class=\"tr-even\">"))
|
|
"</tr>"))
|
|
#+end_src
|
|
|
|
It makes use of the local variables =head= and =nline= which are
|
|
used to check whether the current line is a header line, and whether
|
|
it is an odd or an even line. Since this is fully programmable,
|
|
you can do other things as well.
|
|
|
|
This was a request by Xin Shi.
|
|
|
|
*** Remember: target headline may be a function
|
|
|
|
When setting up remember templates, the target headline may now
|
|
be a function, similarly to what is allowed for the target file.
|
|
The functions needs to return the headline that should be used.
|
|
|
|
*** Remove flyspell overlays in places where they are not wanted
|
|
|
|
We now keep flyspell from highlighting non-words in links.
|
|
|
|
*** Update targets in the Makefile
|
|
|
|
Some new targets in the default Makefile make it easier to update
|
|
through git to the latest version: =update= and =up2=. Here are
|
|
the definitions.
|
|
|
|
#+begin_src BSDmakefile
|
|
update:
|
|
git pull
|
|
${MAKE} clean
|
|
${MAKE} all
|
|
|
|
up2: update
|
|
sudo ${MAKE} install
|
|
#+end_src
|
|
|
|
This was a request by Konstantin Antipin.
|
|
|
|
* Version 6.27
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.27
|
|
:END:
|
|
|
|
** Details
|
|
|
|
*** Macros for export
|
|
|
|
Macro processing for export has been enhanced:
|
|
|
|
- You can use arguments in a macro, for example
|
|
#+begin_src org
|
|
#+macro hello Greet the $1: Hello $1
|
|
#+end_src
|
|
which would turn ={{{hello(world)}}}= into =Greet the world: Hello world=
|
|
|
|
- The macro value can be an emacs-lisp for to be evaluated at the
|
|
time of export:
|
|
|
|
#+begin_src org
|
|
,#+macro: datetime (eval (format-time-string "$1"))
|
|
#+end_src
|
|
|
|
- More built-in default macros:
|
|
- date(FORMAT_TIME_STRING) :: Time/Date of export
|
|
- time(FORMAT_TIME_STRING) :: Same as date
|
|
- modification-time(FORMAT_TIME_STRING) :: Last modification of file
|
|
- input-file :: Name of the input file
|
|
|
|
The new built-in macros have been requested by Daniel Clemente.
|
|
|
|
*** Link completion for files and bbdb names
|
|
|
|
Org now has a general mechanism how modules can provide enhanced
|
|
support (for example through completion) when adding a link. For
|
|
example, when inserting a link with =C-c C-l=, you can now type
|
|
=file:= followed by =RET= to get completion support for inserting
|
|
a file. After entering =bbdb:= and =RET=, a completion interface
|
|
will allow to complete names in the BBDB database. These are the
|
|
only ones implemented right now, but modules that add a link type
|
|
=xyz:= can simple define =org-xyz-complete-link= that should
|
|
return the full link with prefix after aiding the used to create
|
|
the link. For example, if you have =http= links that you have to
|
|
insert very often, you could define a function
|
|
=org-http-complete-link= to help selecting the most common ones.
|
|
|
|
*** Source file publishing
|
|
|
|
It is now easy to publish the Org sources along with, for
|
|
example, HTML files. In your publishing project, replace
|
|
|
|
: :publishing-function org-publish-org-to-html
|
|
|
|
with
|
|
|
|
: :publishing-function (org-publish-org-to-html org-publish-org-to-org)
|
|
: :plain-source t
|
|
: :htmlized-source t
|
|
|
|
to get both the plain org file and an htmlized version that
|
|
looks like your editing buffer published along with the HTML
|
|
exported version.
|
|
|
|
*** Push exported stuff to kill ring
|
|
|
|
All exporters now push the produced material onto the kill-ring
|
|
in Emacs, and also to the external clipboard and the primary
|
|
selection to make it easy to paste this under many circumstances.
|
|
|
|
*** Tables in LaTeX without centering
|
|
Set the variable `org-export-latex-tables-centered' to nil if you
|
|
prefer tables not to be horizontally centered. Note that
|
|
longtable tables are always centered.
|
|
|
|
*** LaTeX export: TODO markup configurable
|
|
|
|
The markup for TODO keywords in LaTeX export is now configurable
|
|
using the variable =org-export-latex-todo-keyword-markup=.
|
|
|
|
*** ASCII export to buffer
|
|
|
|
ASCII export has now the same command variations as the other
|
|
export backends, for example exporting to a temporary buffer
|
|
instead of a file.
|
|
|
|
The was a request by Samuel Wales.
|
|
|
|
*** Accessibility improvements for HTTP tables
|
|
|
|
When exporting tables to HTML, Org now adds =scope= attributes to
|
|
all header fields, in order to support screen readers.
|
|
Setting the variable
|
|
=org-export-html-table-use-header-tags-for-first-column= will
|
|
request using =<th>= instead of =<td>= also in the entire first
|
|
column, so that also row information can be scoped. This was
|
|
triggered by a request by Jan Buchal, and as usually Sebastian
|
|
Rose came up with the right implementation.
|
|
|
|
*** Timezone information in iCalendar files
|
|
|
|
The timezone information in iCalendar files is now written in the
|
|
correct format, and can be set in the variable
|
|
=org-ical-timezone=. This variable is initialized from the =TZ=
|
|
environment variable.
|
|
|
|
*** New contributed package /org-special-blocks.el/
|
|
|
|
The package turns any "undefined" =#+begin_...= blocks into LaTeX
|
|
environments for LaTeX export, and into =<div>= tags for HTML
|
|
export.
|
|
|
|
Thanks to Chris Gray for this contribution.
|
|
|
|
*** More flexibility about placing logging notes.
|
|
|
|
Logging into a drawer can now also be set for individual
|
|
subtrees using the =LOG_INTO_DRAWER= property.
|
|
|
|
Requested by Daniel J. Sinder
|
|
|
|
*** New reload key
|
|
|
|
Reloading Org has moved to a new key, =C-c C-x !=, and is now
|
|
also available in the agenda.
|
|
|
|
*** Start Agenda with log mode active
|
|
Set the new option =org-agenda-start-with-log-mode= to have
|
|
log mode turned on from the start. Or set this option for
|
|
specific custom commands.
|
|
|
|
Thanks to Benjamin Andresen for a patch to this effect.
|
|
|
|
*** Agenda speed optimizations
|
|
|
|
Depending on circumstances, construction the agenda has become a
|
|
lot faster.
|
|
|
|
Triggered by Eric S Fraga's reports about using Org on a slow
|
|
computer like a netbook.
|
|
|
|
*** New face for today in agenda
|
|
|
|
The date that is today can now be highlighted in the agenda by
|
|
customizing the face =org-agenda-date-today=.
|
|
|
|
Thanks to Dmitri Minaev for a patch to this effect.
|
|
|
|
*** Properties to disambiguate statistics
|
|
|
|
When an entry has both check boxes and TODO children, it is not
|
|
clear what kind of statistics a cookie should show You can now use
|
|
the =COOKIE_DATA= property to disambiguate, by giving it a value
|
|
"todo" or "checkbox".
|
|
|
|
Thanks to Ulf Stegeman, who was persistent enough to push this
|
|
change past my initial resistance.
|
|
|
|
*** Checkboxes and TODO items: recursive statistics
|
|
|
|
Setting the variable =org-hierarchical-checkbox-statistics= to
|
|
=nil= will make statistics cookies count all checkboxes in the
|
|
lit hierarchy below it.
|
|
|
|
Setting the variable =org-hierarchical-todo-statistics= to
|
|
=nil= will do the same for TODO items.
|
|
|
|
To turn on recursive statistics only for a single subtree, add the
|
|
word "recursive" to the =COOKIE_DATA= property. Note that you
|
|
can have such a property containing both "todo" or "checkbox" for
|
|
disambiguation, and the word "recursive", separated by a space
|
|
character.
|
|
|
|
The change for checkboxes was a patch by Richard Klinda.
|
|
|
|
*** New operators for column view
|
|
|
|
Column view has new operators for computing the minimum,
|
|
maximum, and mean of property values.
|
|
|
|
Thanks to Mikael Fornius for a patch to this effect.
|
|
|
|
* Version 6.26
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.26
|
|
:END:
|
|
|
|
** Details
|
|
|
|
*** custom IDs
|
|
|
|
Entries can now define a =CUSTOM_ID= property. This property
|
|
must be a valid ID according to HTML rules, and it will be used
|
|
in HTML export as the main target ID for this entry. That means,
|
|
both the table of conents and other internal links will
|
|
automatically point to this ID instead of the automatic ID like
|
|
=sec-1.1=. This is useful to create humar-readable permanent
|
|
links to these location in a document.
|
|
|
|
The user is responsible to make sure that custom IDs are unique
|
|
within a file.
|
|
|
|
Links written like =[[#my-target-name] ]= can be used to target a
|
|
custom ID.
|
|
|
|
When using =C-c l= to store a link to a headline that has a
|
|
custom ID, Org will now create two links at the same time. One
|
|
link will be to the custom ID. The other will be to the globaly
|
|
unique ID property. When inserting the line with =C-c C-l=, you
|
|
need to decide which one you want to use. Use the ID links for
|
|
entries that are expected to move from one file to the next. Use
|
|
custom ID links publishing projects, when you are sure that te
|
|
entry will stay in that file. See also the variable
|
|
=org-link-to-org-use-id=.
|
|
|
|
*** Remember to non-org files
|
|
|
|
If the target headline part of a remember template definition
|
|
entry is =top= or =bottom=, the target file may now be a
|
|
non-Org-mode file. In this case, the content of the remember
|
|
buffer will be added to that file without enforcing an Org-like
|
|
headline. Sorry, Russel, that this took so long.
|
|
|
|
*** New property to turn off todo dependencies locally
|
|
|
|
Setting the property =NOBLOCKING= will turn off TODO dependency
|
|
checking for this entry.
|
|
|
|
*** Refile verify
|
|
|
|
A new function is called to verify tasks that are about to be
|
|
selected as remember targets. See the new variable
|
|
=org-refile-target-verify-function=.
|
|
|
|
*** New version org ditaa.jar
|
|
|
|
Thanks to Stathis Sideris.
|
|
|
|
*** htmlize.el is now in the contrib directory
|
|
|
|
The latest version of htmlize.el is now the in the contrib
|
|
directory of Org. Thanks to Hrvoje Niksic for allowing this.
|
|
|
|
* Version 6.25
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.25
|
|
:END:
|
|
|
|
** Major new features
|
|
|
|
*** DocBook export
|
|
|
|
We now do have a fully functional DocBook exporter, contributed by
|
|
Baoqiu Cui. Simple press =C-c e D= to export the current file to
|
|
DocBook format. You can also get direct conversion to PDF if you have
|
|
made the correct setup, please see the manual for details.
|
|
|
|
Kudos to Baoqiu for this fantastic addition, and my personal thanks
|
|
for doing this in a such a smooth way that I did not have to do
|
|
anything myself.
|
|
|
|
*** Protocols for external access to Emacs and Org
|
|
/org-protocol.el/ is a new module that supersedes both
|
|
/org-annotation-helper.el/ and /org-browser.el/ and replaces them
|
|
with a more abstracted interface. /org-protocol/ intercepts
|
|
calls from emacsclient to trigger custom actions without external
|
|
dependencies. Only one protocol has to be configured with your
|
|
external applications or the operating system, to trigger an
|
|
arbitrary number of custom actions. Just register your custom
|
|
sub-protocol and handler with the new variable
|
|
=org-protocol-protocol-alist=.
|
|
|
|
org-protocol comes the with three standard protocol handlers (in
|
|
parenthesis the name of the sub-protocol):
|
|
- =org-protocol-remember= (=remember=) :: Trigger remember
|
|
- =org-protocol-store-link= (=store-link=) :: Store a link
|
|
- =org-protocol-open-source= (=open-source=) :: Find the local
|
|
source of a remote web page.
|
|
|
|
Passing data to emacs is now as easy as calling
|
|
|
|
: emacsclient org-protocol://sub-protocol://data
|
|
|
|
For more information see the [[http://orgmode.org/worg/org-contrib/org-protocol.php][online documentation]]
|
|
|
|
Thanks to Sebastian Rose for this really beautiful module.
|
|
|
|
*** Inline tasks
|
|
|
|
Inline tasks are tasks that have all the properties of normal
|
|
outline nodes, including the ability to store meta data like
|
|
scheduling dates, TODO state, tags and properties. But these
|
|
tasks are not meant to introduce additional outline structure, at
|
|
least as far as visibility cycling and export is concerned. They
|
|
are useful for adding tasks in extensive pieces of text where
|
|
interruption of the flow or restructuring is unwanted.
|
|
|
|
This feature is not turned on by default, you need to configure
|
|
=org-modules= to turn it on, or simply add to you .emacs file:
|
|
|
|
: (require 'org-inlinetask)
|
|
|
|
After that, tasks with level 15 (30 stars when using
|
|
org-odd-levels-only) will be treated as inline tasks, and
|
|
fontification will make obvious which tasks are treated in this
|
|
way.
|
|
|
|
*** Input from RSS feeds
|
|
|
|
Org can now collect tasks from an RSS feed, a great method to get
|
|
stuff from online call and note-taking services into your trusted
|
|
system. You need to configure the feeds in the variable
|
|
=org-feed-alist=. The manual contains a short description, more
|
|
detailed information is [[http://orgmode.org/worg/org-contrib/org-feed.php][available on Worg]].
|
|
|
|
Full credit goes to Brad Bozarth who really [[http://thread.gmane.org/gmane.emacs.orgmode/12251][paved the way]] for this
|
|
exciting new feature.
|
|
|
|
|
|
** Export
|
|
|
|
*** Allow modification of table attributes in HTML export
|
|
|
|
The #+ATTR_HTML line can now be used to set attributes for a
|
|
table. Attributes listed in that line will replace existing
|
|
attributes in =org-export-html-table-tag=, or will add new ones.
|
|
For example
|
|
|
|
: #+ATTR_HTML: border="2" rules="all" frame="all"
|
|
: #+CAPTION: Finally a table with lines!
|
|
: | a | b |
|
|
: |---|---|
|
|
: | 1 | 2 |
|
|
|
|
*** LaTeX low levels are now exported as itemize lists
|
|
|
|
LaTeX export now treats hierarchy levels 4,5, etc as itemize
|
|
lists, not as description lists as before. This is more
|
|
consistent with the behavior of HTML export. You can configure
|
|
this behavior using the variable =org-export-latex-low-levels=.
|
|
|
|
*** Markup for centering.
|
|
|
|
Text can be exported centered with
|
|
|
|
#+begin_src org
|
|
,#+BEGIN_CENTER
|
|
,Everything should be made as simple as possible, \\
|
|
,but not any simpler
|
|
,#+END_CENTER
|
|
#+end_src
|
|
|
|
*** Sitemap file is now /sitemap.org/
|
|
|
|
Org-publish can produce a list of all files in a project.
|
|
Previously the file containing this list was called "index.org",
|
|
really a brain-dead default because during publication it would
|
|
overwrite the "index.html" file of the website.
|
|
|
|
The default file name is now "sitemap.org"
|
|
|
|
*** Protect explicit target links in HTML export
|
|
|
|
If a link is =[[#name] [desc]]=, the href produced when exporting
|
|
the file will be exactly href="#name". So starting a link target
|
|
with # will indicate that there will be an explicit target for
|
|
this.
|
|
|
|
*** HTML export: Allow "- ___" to explicitly terminate a list
|
|
|
|
If a list contains "- ___" (three underscores) as an item, this
|
|
terminates the list, ignoring this item. This is an experimental
|
|
feature, it may disappear again if we find other ways to deal
|
|
with literal examples right after lists.
|
|
|
|
See [[http://thread.gmane.org/gmane.emacs.orgmode/12299/focus%3D12312][this mailing list thread]] for context.
|
|
|
|
** Agenda
|
|
|
|
*** Changing the time of an entry from the agenda
|
|
|
|
We now have a way to change not only the date, but also the start
|
|
time of an entry from the agenda. The date is normally changed
|
|
with S-right/left. Now, if you add a C-u prefix, the hour will
|
|
be changed. If you immediately press S-right/left again, hours
|
|
will continue to be changed. A double prefix will do the same
|
|
for minutes. If the entry has a time range like 14:40-16:00,
|
|
then both times will change, preserving the length of the
|
|
appointment.
|
|
|
|
*** Show saved PDF agenda view with prefix arg
|
|
|
|
When writing an agenda view to a PDF file, supplying a a prefix
|
|
argument (=C-u C-x C-w=) will get the new file displayed
|
|
immediately.
|
|
|
|
This was a request by Alan E Davis.
|
|
|
|
*** Filter for entries with no effort defined
|
|
|
|
During secondary agenda filtering, pressing "?" now will install a
|
|
filter that selects entries which do not have an effort defined.
|
|
|
|
This new model was necessary because we needed to stop interpreting
|
|
entries with no effort defines as 0 effort. This was inconsistent,
|
|
because for normal agenda sorting, the treatment of these entries
|
|
depends on the variable =org-sort-agenda-noeffort-is-high=. Now this
|
|
variable is also respected during filtering.
|
|
|
|
This new feature resulted from a [[http://thread.gmane.org/gmane.emacs.orgmode/12493][discussion]] with Matt Lundin and
|
|
Bernt Hansen.
|
|
|
|
*** Introduce user-defined sorting operators
|
|
|
|
The new variable =org-agenda-cmp-user-defined= can contain a
|
|
function to test how two entries should be compared during
|
|
sorting. The symbols =user-defined-up= and =user-defined-down=
|
|
can then be part of any sorting strategy.
|
|
|
|
This was a request by Samuel Wales.
|
|
|
|
*** Indentation of subitems in the agenda
|
|
|
|
When a tags/property match does match an entry and it's
|
|
sublevels, the sublevels used to be indented by dots, to indicate
|
|
that the matches likely result from tag inheritance. This is now
|
|
no longer the default, so the subitems will not get special
|
|
indentation. You can get this behavior back with
|
|
|
|
: (setq org-tags-match-list-sublevels 'indented)
|
|
|
|
*** Stuck projects search now searches subtrees of unstuck projects
|
|
|
|
When, during a stuck-project search, a project tree is identified
|
|
as not stuck, so far the search would continue after the end of
|
|
the project tree. From now on, the search continues in the
|
|
subtree, so that stuck subprojects can still be identified.
|
|
|
|
|
|
** Miscellaneous
|
|
|
|
*** Citations: Use RefTeX to insert citations
|
|
|
|
RefTeX can now be used to create a citation in Org-mode buffers.
|
|
Setup the buffer with
|
|
|
|
#+begin_src org
|
|
,#+BIBLIOGRAPHY: bibbase style
|
|
#+end_src
|
|
|
|
and create citations with =C-c C-x [=.
|
|
|
|
Together with org-exp-bibtex.el by Taru Karttunen (available as a
|
|
contributed package), this provides a great environment for
|
|
including citations into HTML and LaTeX documents.
|
|
|
|
*** Changing time ranges as a block
|
|
|
|
When using the S-cursor keys to change the first time in a time
|
|
range like
|
|
|
|
: <2009-04-01 Wed 14:40-16:40>
|
|
|
|
then the end time will change along, so that the duration of the
|
|
event will stay the same.
|
|
|
|
This was a request by Anupam Sengupta.
|
|
|
|
*** New sparse tree command
|
|
|
|
A new sparse tree command shows entries with times after a certain
|
|
date. Keys are =C-c / a=, this command is for symmetry
|
|
with =C-c / b=.
|
|
|
|
*** Cloning tasks
|
|
|
|
A new command allows to create clone copies of the current entry,
|
|
with shifted dates in all stamps in the entry. This is useful to
|
|
create, for example, a series of entries for a limited time
|
|
period. I am using it to prepare lectures, for example.
|
|
|
|
*** New face for checkboxes
|
|
|
|
Checkboxes now have their own face, =org-checkbox=. This can be
|
|
used for nice effects, for example choosing a face with a box
|
|
around it:
|
|
|
|
#+begin_src emacs-lisp
|
|
(custom-set-faces
|
|
(org-checkbox ((t (:background "#444444" :foreground "white"
|
|
:box (:line-width 1 :style released-button)))))
|
|
#+end_src
|
|
|
|
*** M-a and M-e for navigation in a table field
|
|
|
|
In tables fields, the sentence commands =M-a= and =M-e= are
|
|
redefined to jump to the beginning or end of the field.
|
|
|
|
This was a request by Bastien Guerry.
|
|
|
|
*** Backup files for remember buffers
|
|
|
|
Sometimes users report that they lost data when not immediately
|
|
storing a new remember note, and then later exiting Emacs or
|
|
starting a new remember process.
|
|
|
|
Now you can set the variable =org-remember-backup-directory=.
|
|
Each remember buffer created will then get its own unique file
|
|
name in that directory, and the file will be removed only if the
|
|
storing of the note to an Org files was successful.
|
|
|
|
*** org-mac-message.el: New functions to access flagged mail
|
|
|
|
Christopher Suckling has added functionality to
|
|
/org-mac-message.el/. In particular, you can now select a number
|
|
of messages and easily get links to all of them with a single
|
|
command. For details, see the [[http://orgmode.org/worg/org-contrib/org-mac-message.php][online documentation]].
|
|
|
|
*** Read-date: New hook
|
|
|
|
The new hook =org-read-date-minibuffer-setup-hook= is called when
|
|
setting up the minibuffer for reading a date. If can be used to
|
|
install new keys into the temporary keymap used there.
|
|
|
|
|
|
* Version 6.24
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.24
|
|
:END:
|
|
|
|
** Incompatible changes
|
|
|
|
|
|
*** Tag searches are now case-sensitive
|
|
|
|
From this release on, tag searches will be case sensitive. While
|
|
I still think it would be nice to have them case-insensitive,
|
|
this was both an inconsistency (TODO keyword searches have always
|
|
been case-sensitive), and trouble for coding some efficient
|
|
algorithms. So please make sure that you give the tags with
|
|
correct casing when prompted for a match expression.
|
|
|
|
*** New key for creating tags/property sparse trees
|
|
|
|
The key to produce a sparse tree matching tags and properties is
|
|
now =C-c / m= instead of =C-c a T=. This is also more consistent
|
|
with the =C-c a m= key for the corresponding agenda view.
|
|
=C-c / T= will still work for now, but it is no longer advertised
|
|
in the documentation and may go away at any time in the future.
|
|
|
|
*** IDs in HTML have "ID-" prefix when generated by uuidgen
|
|
/uuidgen/ generates IDs that often start with a number, not a
|
|
latter. However, IDs and names in XHTML must start with a letter.
|
|
Therefore, IDs in HTML files will now get an "ID-" prefix if they
|
|
have been generated by uuidgen. This means that id links from one
|
|
file to another may stop working until all files have been
|
|
exported again.
|
|
|
|
*** In agenda, only priority cookies get the special face
|
|
|
|
So far, an entire task would get a special face when
|
|
=org-agenda-fontify-priorities= was set. Now, the default value
|
|
for this variable is the symbol =cookies=, which means that on
|
|
the cookie is fontified. Set it to =t= if you want the entire
|
|
task headline to be fontified.
|
|
|
|
** Details
|
|
|
|
*** PDF export of agenda views
|
|
|
|
Agenda views can now be exported to PDF files by writing them to
|
|
a file with extension ".pdf". Internally this works by first
|
|
producing the postscript version and then converting that to PDF
|
|
using the ghostview utility =ps2pdf=. Make sure that this
|
|
utility is installed on your system.
|
|
|
|
The postscript version will not be removed, it will stay around.
|
|
|
|
*** Inline some entry text for Agenda View export
|
|
|
|
When exporting an agenda view to HTML or PDF for printing or
|
|
remote access, one of the problems can be that information stored
|
|
in entries below the headline is not accessible in that format.
|
|
|
|
You can now copy some of that information to the agenda view
|
|
before exporting it. For this you need to set the variable
|
|
=org-agenda-add-entry-text-maxlines= to a number greater than 0.
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-agenda-add-entry-text-maxlines 20)
|
|
#+end_src
|
|
|
|
Or you can do this with the settings in a custom agenda view,
|
|
for example
|
|
|
|
#+begin_src emacs-lisp
|
|
("A" "" agenda ""
|
|
((org-agenda-ndays 1)
|
|
(org-agenda-add-entry-text-maxlines 5))
|
|
("agenda-today.pdf"))
|
|
#+end_src
|
|
|
|
*** Improved ASCII export of links
|
|
|
|
ASCII export of links works now much better. If a link has a
|
|
link and a description part which are different, then the
|
|
description will remain in the text while the link part will be
|
|
moved to the end of the current section, before the next heading,
|
|
as a footnote-like construct.
|
|
|
|
Configure the variable =org-export-ascii-links-to-notes= if you
|
|
prefer the links to be shown in the text. In this case, Org will
|
|
make an attempt to wrap the line which may have become
|
|
significantly longer by showing the link.
|
|
|
|
Thanks to Samuel Wales for pointing out the bad state of ASCII
|
|
link export.
|
|
|
|
*** Custom agenda commands can specify a filter preset
|
|
|
|
If a custom agenda command specifies a value for
|
|
=org-agenda-filter-preset= in its options, the initial view of
|
|
the agenda will be filterd by the specified tags. Applying a
|
|
filter with =/= will then always add to that preset filter,
|
|
clearing the filter with =/ /= will set it back to the preset.
|
|
Here is an example of a custom agenda view that will display the
|
|
agenda, but hide all entries with tags =FLUFF= or =BLUFF=:
|
|
|
|
#+begin_src emacs-lisp
|
|
("A" "" agenda ""
|
|
((org-agenda-filter-preset '("-FLUFF" "-BLUFF"))))
|
|
#+end_src
|
|
|
|
This is in response to a [[http://thread.gmane.org/gmane.emacs.orgmode/11752][thread on the mailing list]], started by
|
|
Daniel Clemente and with great contributions by Bernt Hansen and
|
|
Matt Lundin.
|
|
|
|
*** Exporting of citations to LaTeX and HTML, using BibTeX
|
|
|
|
Citations can now me made using BibTeX, and will be exported to
|
|
LaTeX and HTML. This is implemented in a contributed package by
|
|
Taru Karttunen, /org-exp-bibtex.el/. Kudos to Taru for this
|
|
really nice addition.
|
|
|
|
*** Finally a way to specify keywords and description for HTML export
|
|
|
|
Use something like
|
|
|
|
#+begin_src org
|
|
#+DESCRIPTION: This page is all about ....
|
|
#+KEYWORDS: org-mode, indexing, publishing
|
|
#+end_src
|
|
|
|
To specify the content of the description and keywords meta tags
|
|
for HTML output.
|
|
|
|
*** org-collector.el is now a contributed package
|
|
/org-collector.el/ provides functions to create tables by
|
|
collecting and processing properties from entries in a specific
|
|
scope like the current tree or file, or even from all agenda
|
|
files. General lisp expressions can be used to manipulate the
|
|
property values before they are inserted into an org-mode table,
|
|
for example as a dynamic block that is easy to update.
|
|
|
|
Thanks to Eric Schulte for yet another great contribution to
|
|
Org.
|
|
|
|
*** Update of org2rem.el
|
|
/org2rem.el/ has been updated significantly and now does a more
|
|
comprehensive job of exporting Org events to remind.
|
|
|
|
Thanks to Sharad Pratap for this update.
|
|
|
|
*** New div around the entire page in HTMP export
|
|
|
|
A new =<div id=content>= is wrapped around the entire page,
|
|
everything that is inside =<body>=.
|
|
|
|
This means that you need to update /org-info.js/ (if you have a
|
|
local copy). It will be safe todo so, because the new
|
|
org-info.js still handles older pages correctly. Thanks to
|
|
Sebastian Rose for making these changes so quicky.
|
|
|
|
*** Clustering characters for undo
|
|
|
|
When typing in Org-mode, undo will now remove up to 20 characters
|
|
at a time with a single undo command. This is how things work
|
|
normally in Emacs, but the special binding of characters in
|
|
Org-mode made this impossible until now.
|
|
|
|
Thanks to Martin Pohlack for a patch which mimicks the behavior
|
|
of the Emacs command loop for the Org version of
|
|
=self-insert-command=. Note that this will not work in headlines
|
|
and tables because typing there will do a lot of extra work.
|
|
|
|
There might be a small typing performance hit resulting from this
|
|
change - please report in the mailing list if this is noticeable
|
|
and annoying.
|
|
|
|
*** Separate settings for special C-a and C-e
|
|
|
|
The variable `org-special-ctrl-a/e' now allows separate settings
|
|
for =C-a= and =C-e=. For example
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-special-ctrl-a/e '(reversed . t))
|
|
#+end_src
|
|
|
|
Thanks to Alan Davis for this proposal.
|
|
|
|
*** orgstruct++-mode improvements
|
|
|
|
In addition to =orgstruct-mode= which allows to use some Org-mode
|
|
structure commands in other major modes, there is a more invasive
|
|
version of this mode: =orgstruct++-mode=. This mode will import
|
|
all paragraph and line wrapping variables into the major mode, so
|
|
that, for example, during typing the auto-fill wrapping of items
|
|
will work just like in Org-mode. This change is not reversible,
|
|
so turning off =orgstruct++-mode= will not remove these settings
|
|
again. =orgstruct++-mode= is most useful in text modes like
|
|
message-mode or =magit-log-edit-mode=. Furthermore,
|
|
=orgstruct++-mode= will recognize plain list context not only in
|
|
the first line of an item, but also further down, so that =M-RET=
|
|
will correctly insert new items.
|
|
|
|
Thanks to Austin Frank for requesting some of these changes.
|
|
|
|
*** Promotion and demotion works for regions now
|
|
=M-right= and =M-left= now do demote and promote all headlines in
|
|
an active region.
|
|
|
|
*** Match syntax for tags/properties is now described in a single place
|
|
|
|
The manual chapters about tags and about properties now only
|
|
refer to the section about agenda views, where the general syntax
|
|
of tag/property matches is described.
|
|
|
|
*** Macro replacement
|
|
|
|
A string like ={{{ title }}}= will be replaced by the title of
|
|
the document, ={{{ email }}}= by the email setting of the author
|
|
and similarly for other export settings given in =#+...= lines.
|
|
In addition to that, you can define an arbitrary number of
|
|
macros, for example:
|
|
|
|
#+begin_src org
|
|
,#+MACRO: myaddress 41 Onestreet, 12345 New York, NY
|
|
...
|
|
,my address is {{{myaddress}}}, see you there.
|
|
#+end_src
|
|
|
|
Macro replacement is the very first thing that happens during
|
|
export, and macros will be replaced even in source code and other
|
|
protected regions.
|
|
|
|
*** New reload command, with keyboard access
|
|
|
|
There is now a special command to reload all Org Lisp files, so
|
|
that you can stay in your Emacs session while pulling and
|
|
compiling changes to Org. The command to reload the compiled
|
|
files (if available) is =C-c C-x r=. If no compiled files are
|
|
found, uncompiled ones will be loaded. If you want to force
|
|
loading of uncompiled code (great for producing backtraces), use
|
|
a prefix arg: =C-u C-c C-x r=. Both commands are available in
|
|
the menu as well.
|
|
|
|
This new command was inspired by one written earlier by Bernt
|
|
Hansen.
|
|
|
|
*** Faces for priority cookies can now be set freely
|
|
|
|
The new variable =org-priority-faces= can be used to set faces
|
|
for each priority.
|
|
|
|
*** New key for creating tags/property sparse trees
|
|
|
|
The key to produce a sparse tree matching tags and properties is
|
|
now =C-c / m= instead of =C-c a T=. This is more consistent with
|
|
the =C-c a m= key for the corresponding agenda view. =C-c / T=
|
|
will still work for now, but it is no longer advertised in the
|
|
documentation and may go away at any time in the future.
|
|
|
|
*** IDs in HTML have "ID-" prefix when generated by uuidgen
|
|
/uuidgen/ generates IDs that often start with a number, not a
|
|
letter. However, IDs and names in XHTML must start with a letter.
|
|
Therefore, IDs in HTML files will now get an "ID-" prefix if they
|
|
have been generated by /uuidgen/. This means that id links from one
|
|
file to another may stop working until all files have been
|
|
exported again, so that both links and targets have the new prefix.
|
|
|
|
*** In agenda, only priority cookies get the special face
|
|
|
|
So far, an entire task would get a special face when
|
|
=org-agenda-fontify-priorities= was set. Now, the default value
|
|
for this variable is the symbol =cookies=, which means that on
|
|
the cookie is fontified. Set it to =t= if you want the entire
|
|
task headline to be fontified.
|
|
|
|
*** Turning off time-of-day search in headline
|
|
|
|
Some people like to put a creation time stamp into a headline and
|
|
then get confused if the time-of-day found in there shows up as
|
|
the time-of-day of the deadline/scheduling entry for this
|
|
headline. The reason for this is that Org searches the headline
|
|
for a free-format time when trying to sort the entry into the
|
|
agenda, and that search accidentally finds the time in the
|
|
creation time stamp or something else that happens to look like a
|
|
time. If this is more painful than useful for you, configure the
|
|
new variable =org-agenda-search-headline-for-time=.
|
|
|
|
|
|
* Version 6.23
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.23
|
|
:END:
|
|
** Overview
|
|
|
|
- Capture state change notes into a drawer
|
|
- Clock lines are now captured into the LOGBOOK drawer as well
|
|
- Added org-R.el to contrib directory
|
|
- Allow individual formatting of each TODO keyword in HTML export
|
|
- New hooks for add-ons to tap into context-sensitive commands
|
|
- Publishing files irrespective of extension
|
|
- New variable index in the manual
|
|
- The ORDERED property also influences checkboxes
|
|
- The ORDERED property can be tracked with a tag
|
|
- You may now specify line breaks in the fast tags interface
|
|
- When a TODO is blocked by checkboxes, keep it visible in agenda
|
|
- LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
|
|
|
|
** Incompatible changes
|
|
|
|
- CLOCK lines will now be captured into the LOGBOOK drawer.
|
|
See below for details.
|
|
|
|
** Details
|
|
|
|
*** Capture state change notes into a drawer
|
|
|
|
State change notes can now be captured into a drawer =LOGBOOK=,
|
|
to keep the entry tidy. If this is what you want, you will need
|
|
this configuration:
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-log-into-drawer "LOGBOOK")
|
|
#+end_src
|
|
|
|
Thanks to Wanrong Lin for this proposal.
|
|
|
|
*** Clock lines are now captured into the LOGBOOK drawer as well
|
|
|
|
The =CLOCK= drawer will be abandoned, clock lines will now also
|
|
end up in a drawer =LOGBOOK=. The reason for this is that it's a
|
|
bit useless to have two different drawers for state change notes
|
|
and clock lines. If you wish to keep the old way, use
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-clock-into-drawer "CLOCK")
|
|
#+end_src
|
|
|
|
*** Added org-R.el to contrib directory
|
|
|
|
Dan Davison has contributed /org-R.el/ which is now in the
|
|
contrib directory. Org-R performs numerical computations and
|
|
generates graphics. Data can come from org tables, or from csv
|
|
files; numerical output can be stored in the org buffer as org
|
|
tables, and links are created to files containing graphical
|
|
output. Although, behind the scenes, it uses R, you do not need
|
|
to know anything about R. Common operations, such as tabulating
|
|
discrete values in a column of an org table, are available "off
|
|
the shelf" by specifying options on lines starting with =#+R:=.
|
|
However, you can also provide raw R code to be evaluated. The
|
|
documentation is currently the worg tutorial at
|
|
http://orgmode.org/worg/org-tutorials/org-R/org-R.php
|
|
|
|
Thanks to Dan for this great contribution.
|
|
|
|
*** Allow individual formatting of TODO keyword and tags in HTML export
|
|
|
|
TODO keywords in HTML export have the CSS class =todo= or =done=.
|
|
Tags have the CSS class =tag=. In addition to this, each keyword
|
|
has now itself as class, so you could do this in your CSS file:
|
|
|
|
#+begin_src css
|
|
.todo { font-weight:bold; }
|
|
.done { font-weight:bold; }
|
|
.TODO { color:red; }
|
|
.WAITING { color:orange; }
|
|
.DONE { color:green; }
|
|
#+end_src
|
|
|
|
If any of your keywords causes conflicts with CSS classes used
|
|
for different purposes (for example a tag "title" would cause a
|
|
conflict with the class used for formatting the document title),
|
|
then you can use the variables =org-export-html-tag-class-prefix=
|
|
and =org-export-html-todo-kwd-class-prefix= to define prefixes
|
|
for the class names for keywords, for example "kwd-".
|
|
|
|
Thanks to Wanrong Lin for this request, and to Sebastian Rose for
|
|
help with the implementation.
|
|
|
|
*** New hooks for add-ons to tap into context-sensitive commands
|
|
|
|
Some commands in Org are context-sensitive, they will execute
|
|
different functions depending on context. The most important
|
|
example is of course =C-c C-c=, but also the =M-cursor= keys fall
|
|
into this category.
|
|
|
|
Org has now a system of hooks that can be used by add-on packages
|
|
to install their own functionality into these keys. See the
|
|
docstring of =org-ctrl-c-ctrl-c-hook= for details. The other
|
|
hooks are named like =org-metaleft-hook= or
|
|
=org-shiftmetaright-hook=.
|
|
|
|
*** Publishing files irrespective of extension
|
|
|
|
If you set the =:base-extension= property for a publishing
|
|
project to the symbol =any=, all files in the directory will be
|
|
published, irrespective of extension.
|
|
|
|
Thanks to Richard Klinda for a patch to this effect.
|
|
|
|
*** New variable index in the manual
|
|
|
|
A new index in the manual lists all variables mentioned in the
|
|
manual, about 200 variables in total.
|
|
|
|
*** The ORDERED property also influences checkboxes
|
|
|
|
When an entry has the ORDERED property set, checkboxes in
|
|
the entry must be completed in order. This was already the case
|
|
for children TODO items, now it also applies for checkboxes.
|
|
|
|
Thanks to Rainer Stengele for this proposal.
|
|
|
|
*** The ORDERED property can be tracked with a tag
|
|
|
|
The =ORDERED= property is used to flag an entry so that subtasks
|
|
(both children TODO items and checkboxes) must be completed in
|
|
order. This property is most easily toggled with the command
|
|
=C-c C-x o=. A property was chosen for this functionality,
|
|
because this should be a behavior local to the current task, not
|
|
inherited like tags. However, properties are normally
|
|
invisible. If you would like visual feedback on the state of
|
|
this property, configure the variable
|
|
=org-track-ordered-property-with-tag=. If you then use =C-c C-x
|
|
o= to toggle the property, a tag will be toggled as well, for
|
|
visual feedback.
|
|
|
|
Note that the tag itself has no meaning for the behavior of TODO
|
|
items and checkboxes, and that changing the tag with the usual
|
|
tag commands will not influence the property and therefore the
|
|
behavior of TODO and checkbox commands.
|
|
|
|
*** You may now specify line breaks in the fast tags interface
|
|
|
|
Up to now, the fast tags interface tried to lump as many tags as
|
|
possible into a single line, with the exception that groups would
|
|
always be on a line by themselves.
|
|
|
|
Now, if you use several lines to define your tags, like
|
|
|
|
#+begin_src org
|
|
,#+TAGS: aa(a) bb(b) cc(c)
|
|
,#+TAGS: dd(d) ee(e) ff(f)
|
|
#+end_src
|
|
|
|
then there will also be a line break after the "cc" tag in the
|
|
fast tag selection interface. You may also write
|
|
|
|
#+begin_src org
|
|
,#+TAGS: aa(a) bb(b) cc(c) \n dd(d) ee(e) ff(f)
|
|
#+end_src
|
|
|
|
to achieve the same effect, and you can use =\n= several times in
|
|
order to produce empty lines. In =org-tag-alist=, newlines are
|
|
represented as =(:newline)=.
|
|
|
|
Thanks to Christopher Suckling for a patch to this effect.
|
|
|
|
*** When a TODO is blocked by checkboxes, keep it visible in agenda
|
|
|
|
When the variable =org-agenda-dim-blocked-tasks= is set to
|
|
=invisible=, tasks that are blocked will not be visible in the
|
|
agenda. If the blocking is due to child TODO entries, this does
|
|
make sense because the children themselves will show up in the
|
|
TODO list.
|
|
|
|
However, as John Rakestraw has [[http://thread.gmane.org/gmane.emacs.orgmode/10939][pointed out]], if the blocking is
|
|
done by checkboxes, no trace of these subtasks is left.
|
|
Therefore, when the blocking is done by checkboxes, we now
|
|
overrule the =invisible= setting and replace it with mere dimming
|
|
of the task.
|
|
|
|
*** LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
|
|
|
|
If you configure =org-export-latex-import-inbuffer-stuff=,
|
|
in-buffer definitions like #+TITLE will be made available in the
|
|
LaTeX file as =\orgTITLE=.
|
|
|
|
This was a request by Russel Adams.
|
|
|
|
* Version 6.22
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.22
|
|
:END:
|
|
** Details
|
|
|
|
*** org-choose.el by Tom Breton is now included
|
|
|
|
Org-choose helps documenting a decision-making process by using
|
|
TODO keywords for different degrees of /chosenness/, and by
|
|
automatically keeping a set of alternatives in a consistent state.
|
|
|
|
Documentation for /org-choose.el/ is available [[http://orgmode.org/worg/org-contrib/org-choose.php][here]].
|
|
|
|
This package inserts itself into Org using hooks, so if other
|
|
people would like to do interesting stuff with TODO keywords for
|
|
special purposes, looking at Tom's code might be a good way to
|
|
start.
|
|
|
|
Thanks to Tom for this interesting contribution!
|
|
|
|
*** orgmode.org and Worg css works now better on IE
|
|
|
|
Thanks to Sebastian Rose for making these changes.
|
|
|
|
*** When exporting a subtree, headline levels are now relative to parent
|
|
|
|
This was reported as a bug by William Henney and is fixed now.
|
|
|
|
*** Inactive dates in tables can be used for sorting.
|
|
|
|
When sorting table fields or entries by date, Org first tries to
|
|
find an active date, and, if none exist, uses a passive date if
|
|
present.
|
|
|
|
This was a request by Hsui-Khuen Tang
|
|
|
|
*** The default for =org-return-follows-link= is back to =nil=
|
|
|
|
Setting it to =t= violates Emacs rules to some extent. The
|
|
internal implementation of this has been improved, so setting it
|
|
to =t= should now be pretty stable.
|
|
|
|
*** Automatic scheduling of siblings with org-depend.el
|
|
|
|
The sibling of a DONE task can now automatically be scheduled.
|
|
|
|
This was a patch by Andrew Hyatt.
|
|
|
|
*** New skipping conditions
|
|
|
|
The functions =org-agenda-skip-entry-if= and
|
|
=org-agenda-skip-subtree-if= now accept =timestamp= and
|
|
=nottimestamp= as additional conditions.
|
|
|
|
This was in response to a request by Saurabh Agrawal.
|
|
|
|
* Version 6.21
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.21
|
|
:END:
|
|
|
|
** Details
|
|
|
|
*** Changes to some default values of variables:
|
|
|
|
Here are the new default values:
|
|
|
|
#+begin_example
|
|
(setq org-return-follows-link t)
|
|
|
|
(setq org-use-fast-todo-selection t)
|
|
|
|
(setq org-yank-adjusted-subtrees nil)
|
|
|
|
(setq org-tags-column -77)
|
|
|
|
(setq org-agenda-sorting-strategy
|
|
'((agenda time-up priority-down category-keep)
|
|
(todo time-up priority-down category-keep)
|
|
(tags time-up priority-down category-keep)
|
|
(search category-keep)))
|
|
#+end_example
|
|
|
|
*** Final cleanup for Emacs 21.1 pretest
|
|
|
|
* Version 6.20
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.20
|
|
:END:
|
|
|
|
** Details
|
|
|
|
*** Support for simple TODO dependencies
|
|
|
|
John Wiegley's code for enforcing simple TODO dependencies has
|
|
been integrated into Org-mode. Thanks John!
|
|
|
|
The structure of Org files (hierarchy and lists) makes it easy to
|
|
define TODO dependencies. A parent TODO task should not be
|
|
marked DONE until all subtasks (defined as children tasks) are
|
|
marked as DONE. And sometimes there is a logical sequence to a
|
|
number of (sub)tasks, so that one task cannot be acted upon
|
|
before all siblings above it are done. If you customize the
|
|
variable =org-enforce-todo-dependencies=, Org will block entries
|
|
from changing state while they have children that are not DONE.
|
|
Furthermore, if an entry has a property =ORDERED=, each of its
|
|
children will be blocked until all earlier siblings are marked
|
|
DONE. Here is an example:
|
|
|
|
#+begin_src org
|
|
,* TODO Blocked until (two) is done
|
|
,** DONE one
|
|
,** TODO two
|
|
|
|
,* Parent
|
|
, :PROPERTIES:
|
|
, :ORDERED: t
|
|
, :END:
|
|
,** TODO a
|
|
,** TODO b, needs to wait for (a)
|
|
,** TODO c, needs to wait for (a) and (b)
|
|
#+end_src
|
|
|
|
The command =C-c C-x o= toggles the value of the =ORDERED=
|
|
property.
|
|
|
|
The variable =org-agenda-dim-blocked-tasks= controls how blocked
|
|
entries should appear in the agenda, where they can be dimmed or
|
|
even made invisible.
|
|
|
|
Furthermore, you can use the variable
|
|
=org-enforce-todo-checkbox-dependencies= to block TODO entries
|
|
from switching to DONE while any checkboxes are unchecked in the entry.
|
|
|
|
*** Support for shift-selection in Emacs 23
|
|
|
|
Customize the variable =org-support-shift-select= to use S-cursor
|
|
key for selecting text. Make sure that you carefully read the
|
|
docstring of that variable first.
|
|
|
|
*** Adding and removing checkboxes from many lines
|
|
|
|
The command =C-c C-x C-b= normally toggles checkbox status in the
|
|
current line, or in all lines in the region. With prefix
|
|
argument it now either adds or removes the checkbox.
|
|
|
|
This was a requested by Daniel Clemente.
|
|
|
|
|
|
* Version 6.19
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.19
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Improved behavior of conversion commands =C-c -= and =C-c *=
|
|
- Table formulas may now reference fields in other tables
|
|
- A final hline is imagined in each table, for the sake of references
|
|
- A tags-todo search can now ignore timestamped items
|
|
- =\par= can be used to force a paragraph break, also in footnotes
|
|
|
|
** Details
|
|
|
|
|
|
*** Improved behavior of conversion commands =C-c -= and =C-c *=
|
|
|
|
The conversion commands =C-c -= and =C-c *= are now better
|
|
behaved and therefore more useful, I hope.
|
|
|
|
If there is an active region, these commands will act on the
|
|
region, otherwise on the current line.
|
|
|
|
- C-c - :: This command turns headings or normal lines into
|
|
items, or items into normal lines. When there is a
|
|
region, everything depends on the first line of the
|
|
region:
|
|
- if it is a item, turn all items in the region into
|
|
normal lines.
|
|
- if it is a headline, turn all headlines in the region
|
|
into items.
|
|
- if it is a normal line, turn all lines into items.
|
|
- special case: if there is no active region and the
|
|
current line is an item, cycle the bullet type of the
|
|
current list.
|
|
- C-c * :: This command turns items and normal lines into
|
|
headings, or headings into normal lines. When there is
|
|
a region, everything depends on the first line of the
|
|
region:
|
|
- if it is a item, turn all items in the region into
|
|
headlines.
|
|
- if it is a headline, turn all headlines in the region
|
|
into normal lines.
|
|
- if it is a normal line, turn all lines into headlines.
|
|
|
|
*** Table formulas may now reference fields in other tables
|
|
|
|
You may now reference constants, fields and ranges from a
|
|
different table, either in the current file or even in a
|
|
different file. The syntax is
|
|
|
|
: remote(NAME-OR-ID,REF)
|
|
|
|
where /NAME/ can be the name of a table in the current file as
|
|
set by a =#+TBLNAME: NAME= line before the table. It can also be
|
|
the ID of an entry, even in a different file, and the reference
|
|
then refers to the first table in that entry. /REF/ is an
|
|
absolute field or range reference, valid in the referenced table.
|
|
Note that since there is no "current filed" for the remote table,
|
|
all row and column references must be absolute, not relative.
|
|
|
|
*** A final hline is imagined in each table, for the sake of references
|
|
|
|
Even if a table does not end with a hline (mine never do because I
|
|
think it is not pretty), for the sake of references you can
|
|
assume there is one. So in the following table
|
|
|
|
#+begin_src org
|
|
| a | b |
|
|
|---+---|
|
|
| 1 | 2 |
|
|
| 3 | 4 |
|
|
#+end_src
|
|
|
|
a reference like =@I$1..@II$2= will now work.
|
|
|
|
*** A tags-todo search can now ignore timestamped items
|
|
The variables =org-agenda-todo-ignore-with-date=, =org-agenda-todo-ignore-with-date=, and =org-agenda-todo-ignore-with-date= make it possible to
|
|
exclude TODO entries which have this kind of planning info
|
|
associated with them. This is most useful for people who
|
|
schedule everything, and who use the TODO list mainly to find
|
|
things that are not yet scheduled. Thomas Morgan pointed out
|
|
that also the tags-todo search may serve exactly this
|
|
purpose, and that it might be good to have a way to make
|
|
these variables also apply to the tags-todo search. I can
|
|
see that, but could not convince myself to make this the
|
|
default. A new variable must be set to make this happen: =org-agenda-tags-todo-honor-ignore-options=.
|
|
|
|
*** =\par= can be used to force a paragraph break, also in footnotes
|
|
|
|
The LaTeX idiom =\par= will insert a paragraph break at that
|
|
location. Normally you would simply leave an empty line to get
|
|
such a break, but this is useful for footnotes whose
|
|
definitions may not contain empty lines.
|
|
|
|
* Version 6.18
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.18
|
|
:END:
|
|
** Incompatible changes
|
|
|
|
*** Short examples must have a space after the colon
|
|
|
|
Short literal examples can be created by preceding lines
|
|
with a colon. Such lines must now have a space after the
|
|
colon. I believe this is already general practice, but now
|
|
it must be like this. The only exception are lines that are
|
|
empty except for the colon.
|
|
|
|
** Details
|
|
|
|
*** Include files can now also process switches
|
|
|
|
The example and src switches like =-n= can now also be added
|
|
to include file statements:
|
|
|
|
: #+INCLUDE "~/.emacs" src emacs-lisp -n -r
|
|
|
|
Thanks to Manish for pointing out that this was not yet
|
|
supported.
|
|
|
|
*** Examples can be exported to HTML as text areas
|
|
|
|
You can now specify a =-t= switch to an example or src block,
|
|
to make it export to HTML as a text area. To change the
|
|
defaults for height (number of lines in the example) and
|
|
width of this area (80), use the =-h= and =-w= switches.
|
|
|
|
Thanks to Ulf Stegemann for driving this development.
|
|
|
|
*** LaTeX_CLASS can be given as a property
|
|
|
|
When exporting a single subtree by selecting it as a region
|
|
before export, the LaTeX class for the export will be taken
|
|
from the =LaTeX_CLASS= property of the entry if present.
|
|
|
|
Thanks to Robert Goldman for this request.
|
|
|
|
*** Better handling of inlined images in different backends
|
|
|
|
Two new variables govern which kind of files can be inlined
|
|
during export. These are
|
|
=org-export-html-inline-image-extensions= and
|
|
=org-export-latex-inline-image-extensions=. Remember that
|
|
links are turned into an inline image if they are a pure link
|
|
with no description. HTML files can inline /.png/, /.jpg/,
|
|
and /.gif/ files, while LaTeX files, when processed with /pdflatex/, can inline /.png/, /.jpg/, and /.pdf/ files.
|
|
These also represent the default settings for the new
|
|
variables. Note that this means that pure links to /.pdf/
|
|
files will be inlined - to avoid this for a particular link,
|
|
make sure that the link has a description part which is not
|
|
equal to the link part.
|
|
|
|
*** Links by ID now continue to work in HTML exported files
|
|
|
|
If you make links by ID, these links will now still work in
|
|
HTML exported files, provided that you keep the relative path
|
|
from link to target file the same.
|
|
|
|
Thanks to Friedrich Delgado Friedrichs for pushing this over
|
|
the line.
|
|
|
|
*** The relative timer can be paused
|
|
|
|
The new command `C-c C-x ,' will pause the relative timer.
|
|
When the relative timer is running, its value will be shown
|
|
in the mode line. To get rid of this display, you need to
|
|
really stop the timer with `C-u C-c C-x ,'.
|
|
|
|
Thanks to Alan Davis for driving this change.
|
|
|
|
*** The attachment directory may now be chosen by the user
|
|
|
|
Instead of using the automatic, unique directory related to
|
|
the entry ID, you can also use a chosen directory for the
|
|
attachments of an entry. This directory is specified by the
|
|
ATTACH_DIR property. You can use `C-c C-a s' to set this
|
|
property.
|
|
|
|
Thanks to Jason Jackson for this proposal.
|
|
|
|
*** You can use a single attachment directory for a subtree
|
|
|
|
By setting the property ATTACH_DIR_INHERIT, you can now tell
|
|
Org that children of the entry should use the same directory
|
|
for attachments, unless a child explicitly defines its own
|
|
directory with the ATTACH_DIR property. You can use the
|
|
command `C-c C-a i' to set this property in an entry.
|
|
|
|
* Version 6.17
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.17
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Footnote support
|
|
- Line numbers and references in literal examples
|
|
- New hooks for export preprocessing
|
|
- Capture column view into a different file
|
|
|
|
** Details
|
|
|
|
*** Footnote support
|
|
|
|
Org-mode now directly supports the creation of footnotes. In
|
|
contrast to the /footnote.el/ package, Org-mode's footnotes are
|
|
designed for work on a larger document, not only for one-off
|
|
documents like emails. The basic syntax is similar to the one
|
|
used by /footnote.el/, i.e. a footnote is defined in a paragraph
|
|
that is started by a footnote marker in square brackets in column
|
|
0, no indentation allowed. The footnote reference is simply the
|
|
marker in square brackets inside text. For example:
|
|
|
|
#+begin_src org
|
|
The Org homepage[fn:1] now looks a lot better than it used to.
|
|
...
|
|
[fn:1] The link is: http://orgmode.org
|
|
#+end_src
|
|
|
|
Org-mode extends the number-based syntax to /named/ footnotes and
|
|
optional inline definition. Using plain numbers as markers is
|
|
supported for backward compatibility, but not encouraged because
|
|
of possible conflicts with LaTeX syntax. Here are the valid
|
|
references:
|
|
|
|
- [1] :: A plain numeric footnote marker.
|
|
|
|
- [fn:name] :: A named footnote reference, where `name' is a
|
|
unique label word or, for simplicity of automatic creation,
|
|
a number.
|
|
|
|
- [fn:: This is the inline definition of this footnote] :: A
|
|
LaTeX-like anonymous footnote where the definition is given
|
|
directly at the reference point.
|
|
|
|
- [fn:name: a definition] :: An inline definition of a footnote,
|
|
which also specifies a name for the note. Since Org allows
|
|
multiple references to the same note, you can then use use
|
|
`[fn:name]' to create additional references.
|
|
|
|
Footnote labels can be created automatically, or you create names
|
|
yourself. This is handled by the variable
|
|
=org-footnote-auto-label= and its corresponding =#+STARTUP=
|
|
keywords, see the docstring of that variable for details.
|
|
|
|
The following command handles footnotes:
|
|
|
|
- C-c C-x f :: The footnote action command. When the cursor is
|
|
on a footnote reference, jump to the definition. When it is
|
|
at a definition, jump to the (first) reference. Otherwise,
|
|
create a new footnote. Depending on the variable
|
|
`org-footnote-define-inline' (with associated =#+STARTUP=
|
|
options =fninline= and =nofninline=), the definitions will
|
|
be placed right into the text as part of the reference, or
|
|
separately into the location determined by the variable =org-footnote-section=.
|
|
When this command is called with a prefix argument, a menu
|
|
of additional options is offered:
|
|
- s :: Sort the footnote definitions by reference sequence.
|
|
During editing, Org makes no effort to sort footnote
|
|
definitions into a particular sequence. If you want
|
|
them sorted, use this command, which will also move
|
|
entries according to =org-footnote-section=.
|
|
- n :: Normalize the footnotes by collecting all
|
|
definitions (including inline definitions) into a
|
|
special section, and then numbering them in
|
|
sequence. The references will then also be
|
|
numbers. This is meant to be the final step before
|
|
finishing a document (e.g. sending off an email).
|
|
The exporters do this automatically, and so could
|
|
something like `message-send-hook'.
|
|
- d :: Delete the footnote at point, and all references to it.
|
|
|
|
- C-c C-c :: If the cursor is on a footnote reference, jump to
|
|
the definition. If it is a the definition, jump back to the
|
|
reference. When called with a prefix argument at either
|
|
location, offer the same menu as `C-u C-c C-x f'.
|
|
|
|
- C-c C-o or mouse-1/2 :: Footnote labels are also links to the
|
|
corresponding definition/reference, and you can use the
|
|
usual commands to follow these links.
|
|
|
|
Org-mode's footnote support is designed so that it should also
|
|
work in buffers that are not in Org-mode, for example in email
|
|
messages. Just bind =org-footnote-action= to a global key like
|
|
=C-c f=.
|
|
|
|
The main trigger for this development came from a hook function
|
|
written by Paul Rivier, to implement named footnotes and to
|
|
convert them to numbered ones before export. Thanks, Paul!
|
|
|
|
Thanks also to Scot Becker for a thoughtful post bringing this
|
|
subject back onto the discussion table, and to Matt Lundin for
|
|
the idea of named footnotes and his prompt testing of the new
|
|
features.
|
|
|
|
*** Line numbers and references in literal examples
|
|
|
|
Literal examples introduced with =#+BEGIN_EXAMPLE= or =#+BEGIN_SRC=
|
|
do now allow optional line numbering in the example.
|
|
Furthermore, links to specific code lines are supported, greatly
|
|
increasing Org-mode's utility for writing tutorials and other
|
|
similar documents.
|
|
|
|
Code references use special labels embedded directly into the
|
|
source code. Such labels look like "(ref:name)" and must be
|
|
unique within a document. Org-mode links with "(name)" in the
|
|
link part will be correctly interpreted, both while working with
|
|
an Org file (internal links), and while exporting to the
|
|
different backends. Line numbering and code references are
|
|
supported for all three major backends, HTML, LaTeX, and ASCII.
|
|
In the HTML backend, hovering the mouse over a link to a source
|
|
line will remote-highlight the referenced code line.
|
|
|
|
The options for the BEGIN lines are:
|
|
|
|
- -n :: Number the lines in the example
|
|
- +n :: Like -n, but continue numbering from where the previous
|
|
example left off.
|
|
- -r :: Remove the coderef cookies from the example, and replace
|
|
links to this reference with line numbers. This option
|
|
takes only effect if either -n or +n are given as well.
|
|
If -r is not given, coderefs simply use the label name.
|
|
- -l "fmt" :: Define a local format for coderef labels, see the
|
|
variable =org-coderef-label-format= for details. Use this
|
|
of the default syntax causes conflicts with the code in the
|
|
code snippet you are using.
|
|
|
|
Here is an example:
|
|
|
|
#+begin_example -k
|
|
#+begin_src emacs-lisp -n -r
|
|
(defmacro org-unmodified (&rest body) (ref:def)
|
|
"Execute body without changing `buffer-modified-p'."
|
|
`(set-buffer-modified-p (ref:back)
|
|
(prog1 (buffer-modified-p) ,@body)))
|
|
#+end_src
|
|
[[(def)][Line (def)]] contains the macro name. Later at line [[(back)]],
|
|
backquoting is used.
|
|
#+end_example
|
|
|
|
When exported, this is translated to:
|
|
#+begin_src emacs-lisp -n -r
|
|
(defmacro org-unmodified (&rest body) (ref:def)
|
|
"Execute body without changing `buffer-modified-p'."
|
|
`(set-buffer-modified-p (ref:back)
|
|
(prog1 (buffer-modified-p) ,@body)))
|
|
#+end_src
|
|
[[(def)][Line (def)]] contains the macro name. Later at line [[(back)]],
|
|
backquoting is used.
|
|
|
|
Thanks to Ilya Shlyakhter for proposing this feature set. Thanks
|
|
to Sebastian Rose for the key Javascript element that made the
|
|
remote highlighting possible.
|
|
|
|
*** New hooks for export preprocessing
|
|
The export preprocessor now runs more hooks, to allow
|
|
better-timed tweaking by user functions:
|
|
|
|
- =org-export-preprocess-hook= ::
|
|
Pretty much the first thing in the preprocessor. But org-mode
|
|
is already active in the preprocessing buffer.
|
|
|
|
- =org-export-preprocess-after-include-files-hook= ::
|
|
This is run after the contents of included files have been inserted.
|
|
|
|
- =org-export-preprocess-after-tree-selection-hook= ::
|
|
This is run after selection of trees to be exported has
|
|
happened. This selection includes tags-based selection, as
|
|
well as removal of commented and archived trees.
|
|
|
|
- =org-export-preprocess-before-backend-specifics-hook= ::
|
|
Hook run before backend-specific functions are called during preprocessing.
|
|
|
|
- =org-export-preprocess-final-hook= ::
|
|
Hook for preprocessing an export buffer. This is run as the
|
|
last thing in the preprocessing buffer, just before returning
|
|
the buffer string to the backend.
|
|
|
|
*** Capture column view into a different file
|
|
|
|
The :id parameter for the dynamic block capturing column view
|
|
can now truly be an ID that will also be found in a
|
|
different file. Also, it can be like =file:path/to/file=, to
|
|
capture the global column view from a different file.
|
|
|
|
Thanks to Francois Lagarde for his report that IDs outside
|
|
the current file would not work.
|
|
|
|
* Version 6.16
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.16
|
|
:END:
|
|
Cleanup of many small bugs, and one new feature.
|
|
|
|
** Details
|
|
|
|
*** References to last table row with special names
|
|
|
|
Fields in the last row of a table can now be referenced with
|
|
$LR1, $LR2, etc. These references can appear both on the
|
|
left hand side and right hand side of a formula.
|
|
|
|
* Version 6.15f
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.15f
|
|
:END:
|
|
|
|
This version reverses the introduction of @0 as a reference to
|
|
the last rwo in a table, because of a conflict with the use of
|
|
@0 for the current row.
|
|
|
|
* Version 6.15
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.15
|
|
:END:
|
|
** Overview
|
|
|
|
- All known LaTeX export issues fixed
|
|
- Captions and attributes for figures and tables.
|
|
- Better implementation for entry IDs
|
|
- Spreadsheet references to the last table line.
|
|
- Old syntax for link attributes abandoned
|
|
|
|
** Incompatible changes
|
|
*** Old syntax for link attributes abandoned
|
|
|
|
There used to be a syntax for setting link attributes for
|
|
HTML export by enclosing the attributes into double braces
|
|
and adding them to the link itself, like
|
|
|
|
#+begin_example
|
|
[[./img/a.jpg{{alt="an image"}}] ]
|
|
#+end_example
|
|
|
|
This syntax is not longer supported, use instead
|
|
|
|
#+begin_src org
|
|
,#+ATTR_HTML: alt="an image"
|
|
[[./img/a.jpg] ]
|
|
#+end_src
|
|
|
|
** Details
|
|
|
|
*** All known LaTeX export issues fixed
|
|
|
|
All the remaining issues with the LaTeX exporter have hopefully
|
|
been addressed in this release. In particular, this covers
|
|
quoting of special characters in tables and problems with
|
|
exporting files where the headline is in the first line, or with
|
|
an active region.
|
|
|
|
*** Captions and attributes for figures and tables.
|
|
|
|
Tables, and Hyperlinks that represent inlined images, can now be
|
|
equipped with additional information that will be used during
|
|
export. The information will be taken from the following special
|
|
lines in the buffer and apply to the first following table or
|
|
link.
|
|
|
|
- #+CAPTION: :: The caption of the image or table. This string
|
|
should be processed according to the export backend, but
|
|
this is not yet done.
|
|
|
|
- #+LABEL: :: A label to identify the figure/table for cross
|
|
references. For HTML export, this string will become the
|
|
ID for the ~<div class="figure">~ element that encapsulates
|
|
the image tag and the caption. For LaTeX export, this
|
|
string will be used as the argument of a ~\label{...}~
|
|
macro. These labels will be available for internal links
|
|
like ~[[label][Table] ]~.
|
|
|
|
- #+ATTR_HTML: :: Attributes for HTML export of image, to be
|
|
added as attributes into the ~<img...>~ tag. This string
|
|
will not be processed, so it should have immediately the
|
|
right format.
|
|
|
|
- #+ATTR_LaTeX: :: Attributes for LaTeX export of images and
|
|
tables.\\
|
|
For /images/, this string is directly inserted into
|
|
the optional argument of the ~\includegraphics[...]{file}~
|
|
command, to specify scaling, clipping and other options.
|
|
This string will not be processed, so it should have
|
|
immediately the right format, like =width=5cm,angle=90=.\\
|
|
For /tables/, this can currently contain the keyword =longtable=, to request typesetting of the table using the
|
|
longtable package, which automatically distributes the table
|
|
over several pages if needed. Also, the attributes line may
|
|
contain an alignment string for the tabular environment, like
|
|
=longtable,align=l|lrl=
|
|
|
|
For LaTeX export, if either a caption or a label is given, the element
|
|
will be exported as a float, i.e. wrapped into a figure or table
|
|
environment.
|
|
|
|
*** Better implementation for entry IDs
|
|
|
|
Unique identifiers for entries can now be used more efficiently.
|
|
Internally, a hash array has replaced the alist used so far to
|
|
keep track of the files in which an ID is defined. This makes it
|
|
quite fast to find an entry by ID.
|
|
|
|
There is a new link type which looks like this:
|
|
|
|
#+begin_example
|
|
id:GLOBALLY-UNIQUE-IDENTIFIER
|
|
#+end_example
|
|
|
|
This link points to a specific entry. When you move the entry to
|
|
a different file, for example if you move it to an archive
|
|
file, the link will continue to work.
|
|
|
|
The file /org-id.el/ contains an API that can be used to write
|
|
code using these identifiers, including creating IDs and finding
|
|
them wherever they are.
|
|
|
|
Org has its own method to create unique identifiers, but if the system
|
|
has /uuidgen/ command installed (Mac's and Linux systems generally
|
|
do), it will be used by default (a change compared to the earlier
|
|
implmentation, where you explicitdly had to opt for uuidgen). You can
|
|
also select the method by hand, using the variable =org-id-method=.
|
|
|
|
If the ID system ever gets confused about where a certain ID is, it
|
|
initiates a global scan of all agenda files with associated archives,
|
|
all files previously known containing any IDs, and all currently
|
|
visited Org-mode files to rebuild the hash. You can also initiate
|
|
this by hand: =M-x org-id-update-id-locations=. Running this command
|
|
will also dump into the =*Messages*= buffer information about any
|
|
duplicate IDs. These should not exist, and Org will never /make/ the
|
|
same ID twice, but if you /copy/ an entry with its properties,
|
|
duplicate IDs will inevitably be produced. Unfortunately, this is
|
|
unavoidable in a plain text system that allows you to edit the text in
|
|
arbitrary ways, and a portion of care on your side is needed to keep
|
|
this system clean.
|
|
|
|
The hash is stored in the file =~/.emacs.d/.org-id-locations=.
|
|
This is also a change from previous versions where the file was
|
|
=~/.org=id-locations=. Therefore, you can remove this old file
|
|
if you have it. I am not sure what will happen if the =.emacs.d=
|
|
directory does not exists in your setup, but in modern Emacsen, I
|
|
believe it should exist. If you do not want to use IDs across
|
|
files, you can avoid the overhead with tracking IDs by
|
|
customizing the variable =org-id-track-globally=. IDs can then
|
|
still be used for links inside a single file.
|
|
|
|
IDs will also be used when you create a new link to an Org-mode
|
|
buffer. If you use =org-store-link= (normally at =C-c l=) inside
|
|
en entry in an Org-mode buffer, and ID property will be created
|
|
if it does not exist, and the stored link will be an =id:= link.
|
|
If you prefer the much less secure linking to headline text, you
|
|
can configure the variable =org-link-to-org-use-id=. The default
|
|
setting for this variable is =create-if-interactive=, meaning
|
|
that an ID will be created when you store a link interactively,
|
|
but not if you happen to be in an Org-mode file while you create
|
|
a remember note (which usually has a link to the place where you
|
|
were when starting remember).
|
|
|
|
*** Spreadsheet references to the last table line.
|
|
|
|
You may now use =@0= to reference the last dataline in a table
|
|
in a stable way. This is useful in particular for automatically
|
|
generated tables like the ones using /org-collector.el/ by Eric
|
|
Schulte.
|
|
|
|
* Version 6.14
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.14
|
|
:END:
|
|
** Overview
|
|
|
|
- New relative timer to support timed notes
|
|
- Special faces can be set for individual tags
|
|
- The agenda shows now all tags, including inherited ones.
|
|
- Exclude some tags from inheritance.
|
|
- More special values for time comparisons in property searches
|
|
- Control for exporting meta data
|
|
- Cut and Paste with hot links from w3m to Org
|
|
- LOCATION can be inherited for iCalendar export
|
|
- Relative row references crossing hlines now throw an error
|
|
|
|
** Incompatible Changes
|
|
|
|
*** Relative row references crossing hlines now throw an error
|
|
|
|
Relative row references in tables look like this: "@-4" which
|
|
means the forth row above this one. These row references are
|
|
not allowed to cross horizontal separator lines (hlines). So
|
|
far, when a row reference violates this policy, Org would
|
|
silently choose the field just next to the hline.
|
|
|
|
Tassilo Horn pointed out that this kind of hidden magic is
|
|
actually confusing and may cause incorrect formulas, and I do
|
|
agree. Therefore, trying to cross a hline with a relative
|
|
reference will now throw an error.
|
|
|
|
If you need the old behavior, customize the variable
|
|
`org-table-error-on-row-ref-crossing-hline'.
|
|
|
|
** Details
|
|
|
|
*** New relative timer to support timed notes
|
|
|
|
Org now supports taking timed notes, useful for example while
|
|
watching a video, or during a meeting which is also recorded.
|
|
|
|
- =C-c C-x .= ::
|
|
Insert a relative time into the buffer. The first time
|
|
you use this, the timer will be started. When called
|
|
with a prefix argument, the timer is reset to 0.
|
|
|
|
- =C-c C-x -= ::
|
|
Insert a description list item with the current relative
|
|
time. With a prefix argument, first reset the timer to 0.
|
|
|
|
- =M-RET= ::
|
|
Once the time list has been initiated, you can also use the
|
|
normal item-creating command to insert the next timer item.
|
|
|
|
- =C-c C-x 0= ::
|
|
Reset the timer without inserting anything into the buffer.
|
|
By default, the timer is reset to 0. When called with a =C-u= prefix, reset the timer to specific starting
|
|
offset. The user is prompted for the offset, with a
|
|
default taken from a timer string at point, if any, So this
|
|
can be used to restart taking notes after a break in the
|
|
process. When called with a double prefix argument =C-c C-u=, change all timer strings in the active
|
|
region by a certain amount. This can be used to fix timer
|
|
strings if the timer was not started at exactly the right
|
|
moment.
|
|
|
|
Thanks to Alan Dove, Adam Spiers, and Alan Davis for
|
|
contributions to this idea.
|
|
|
|
*** Special faces can be set for individual tags
|
|
|
|
You may now use the variable =org-tag-faces= to define the
|
|
face used for specific tags, much in the same way as you can
|
|
do for TODO keywords.
|
|
|
|
Thanks to Samuel Wales for this proposal.
|
|
|
|
*** The agenda shows now all tags, including inherited ones.
|
|
|
|
This request has come up often, most recently it was
|
|
formulated by Tassilo Horn.
|
|
|
|
If you prefer the old behavior of only showing the local
|
|
tags, customize the variable =org-agenda-show-inherited-tags=.
|
|
|
|
*** Exclude some tags from inheritance.
|
|
|
|
So far, the only way to select tags for inheritance was to
|
|
allow it for all tags, or to do a positive selection using
|
|
one of the more complex settings for
|
|
`org-use-tag-inheritance'. It may actually be better to
|
|
allow inheritance for all but a few tags, which was difficult
|
|
to achieve with this methodology.
|
|
|
|
A new option, `org-tags-exclude-from-inheritance', allows to
|
|
specify an exclusion list for inherited tags.
|
|
|
|
*** More special values for time comparisons in property searches
|
|
|
|
In addition to =<now>=, =<today>=, =<yesterday>=, and =<tomorrow>=, there are more special values accepted now in
|
|
time comparisons in property searches: You may use strings
|
|
like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
|
|
week, month, and year, respectively
|
|
|
|
Thanks to Linday Todd for this proposal.
|
|
|
|
*** Control for exporting meta data
|
|
|
|
All the metadata in a headline, i.e. the TODO keyword, the
|
|
priority cookie, and the tags, can now be excluded from
|
|
export with appropriate options:
|
|
|
|
| Variable | Publishing property | OPTIONS switch |
|
|
|-------------------------------+---------------------+----------------|
|
|
| org-export-with-todo-keywords | :todo-keywords | todo: |
|
|
| org-export-with-tags | :tags | tags: |
|
|
| org-export-with-priority | :priority | pri: |
|
|
|
|
*** Cut and Paste with hot links from w3m to Org
|
|
|
|
You can now use the key =C-c C-x M-w= in a w3m buffer with
|
|
HTML content to copy either the region or the entire file in
|
|
a special way. When you yank this text back into an Org-mode
|
|
buffer, all links from the w3m buffer will continue to work
|
|
under Org-mode.
|
|
|
|
For this to work you need to load the new file /org-w3m.el./
|
|
Please check your org-modules variable to make sure that this
|
|
is turned on.
|
|
|
|
Thanks for Richard Riley for the idea and to Andy Stewart for
|
|
the implementation.
|
|
|
|
*** LOCATION can be inherited for iCalendar export
|
|
|
|
The LOCATION property can now be inherited during iCalendar
|
|
export if you configure =org-use-property-inheritance= like
|
|
this:
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-use-property-inheritance '("LOCATION"))
|
|
#+end_src
|
|
|
|
* Version 6.13
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.13
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Keybindings in Remember buffers can be configured
|
|
- Support for ido completion
|
|
- New face for date lines in agenda column view
|
|
- Invisible targets become now anchors in headlines.
|
|
- New contributed file /org-exp-blocks.el/
|
|
- New contributed file /org-eval-light.el/
|
|
- Link translation
|
|
- BBDB links may use regular expressions.
|
|
- Link abbreviations can use %h to insert a url-encoded target value
|
|
- Improved XHTML compliance
|
|
|
|
** Details
|
|
|
|
*** Keybindings in Remember buffers can be configured
|
|
|
|
The remember buffers created with Org's extensions are in
|
|
Org-mode, which is nice to prepare snippets that will
|
|
actually be stored in Org-mode files. However, this makes it
|
|
hard to configure key bindings without modifying the Org-mode
|
|
keymap. There is now a minor mode active in these buffers,
|
|
`org-remember-mode', and its keymap org-remember-mode-map can
|
|
be used for key bindings. By default, this map only contains
|
|
the bindings for =C-c C-c= to store the note, and =C-c C-k=
|
|
to abort it. Use `org-remember-mode-hook' to define your own
|
|
bindings like
|
|
|
|
#+begin_src emacs-lisp
|
|
(add-hook
|
|
'org-remember-mode-hook
|
|
(lambda ()
|
|
(define-key org-remember-mode-map
|
|
"\C-x\C-s" 'org-remember-finalize)))
|
|
#+end_src
|
|
|
|
If you wish, you can also use this to free the =C-c C-c=
|
|
binding (by binding this key to nil in the minor mode map),
|
|
so that you can use =C-c C-c= again to set tags.
|
|
|
|
This modification is based on a request by Tim O'Callaghan.
|
|
|
|
*** Support for ido completion
|
|
|
|
You can now get the completion interface from /ido.el/ for
|
|
many of Org's internal completion commands by turning on the
|
|
variable =org-completion-use-ido=. =ido-mode= must also be
|
|
active before you can use this.
|
|
|
|
This change is based upon a request by Samuel Wales.
|
|
|
|
*** New face for date lines in agenda column view
|
|
|
|
When column view is active in the agenda, and when you have
|
|
summarizing properties, the date lines become normal column
|
|
lines and the separation between different days becomes
|
|
harder to see. If this bothers you, you can now customize
|
|
the face =org-agenda-column-dateline=.
|
|
|
|
This is based on a request by George Pearson.
|
|
|
|
*** Invisible targets become now anchors in headlines.
|
|
|
|
These anchors can be used to jump to a directly with an HTML
|
|
link, just like the =sec-xxx= IDs. For example, the
|
|
following will make a http link =//domain/path-to-my-file.html#dummy= work:
|
|
|
|
#+begin_src org
|
|
,# <<dummy>>
|
|
,*** a headline
|
|
#+end_src
|
|
|
|
This is based on a request by Matt Lundin.
|
|
|
|
*** New contributed file /org-exp-blocks.el/
|
|
|
|
This new file implements special export behavior of
|
|
user-defined blocks. The currently supported blocks are
|
|
|
|
- comment :: Comment blocks with author-specific markup
|
|
- ditaa :: conversion of ASCII art into pretty png files
|
|
using Stathis Sideris' /ditaa.jar/ program
|
|
- dot :: creation of graphs in the /dot/ language
|
|
- R :: Sweave type exporting using the R program
|
|
|
|
For more details and examples, see the file commentary in /org-exp-blocks.el/.
|
|
|
|
Kudos to Eric Schulte for this new functionality, after /org-plot.el/ already his second major contribution. Thanks
|
|
to Stathis for this excellent program, and for allowing us to
|
|
bundle it with Org-mode.
|
|
|
|
*** New contributed file /org-eval-light.el/
|
|
|
|
This module gives control over execution Emacs Lisp code
|
|
blocks included in a file.
|
|
|
|
Thanks to Eric Schulte also for this file.
|
|
|
|
*** Link translation
|
|
|
|
You can now configure Org to understand many links created
|
|
with the Emacs Planner package, so you can cut text from
|
|
planner pages and paste them into Org-mode files without
|
|
having to re-write the links. Among other things, this means
|
|
that the command =org-open-at-point-global= which follows
|
|
links not only in Org-mode, but in arbitrary files like
|
|
source code files etc, will work also with links created by
|
|
planner. The following customization is needed to make all of
|
|
this work
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-link-translation-function
|
|
'org-translate-link-from-planner)
|
|
#+end_src
|
|
|
|
I guess an inverse translator could be written and integrated
|
|
into Planner.
|
|
|
|
*** BBDB links may use regular expressions.
|
|
|
|
This did work all along, but only now I have documented it.
|
|
|
|
*** =yank-pop= works again after yanking an outline tree
|
|
|
|
Samuel Wales had noticed that =org-yank= did mess up this
|
|
functionality. Now you can use =yank-pop= again, the only
|
|
restriction is that the so-yanked text will not be
|
|
pro/demoted or folded.
|
|
|
|
*** Link abbreviations can use %h to insert a url-encoded target value
|
|
|
|
Thanks to Steve Purcell for a patch to this effect.
|
|
|
|
*** Improved XHTML compliance
|
|
|
|
Thanks to Sebastian Rose for pushing this.
|
|
|
|
*** Many bug fixes again.
|
|
|
|
* Version 6.12
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.12
|
|
:END:
|
|
** Overview
|
|
|
|
- A region of entries can now be refiled with a single command
|
|
- Fine-tuning the behavior of `org-yank'
|
|
- Formulas for clocktables
|
|
- Better implementation of footnotes for HTML export
|
|
- More languages for HTML export.
|
|
|
|
** Details
|
|
|
|
*** A region of entries can now be refiled with a single command
|
|
|
|
With =transient-make-mode= active (=zmacs-regions= under
|
|
XEmacs), you can now select a region of entries and refile
|
|
them all with a single =C-c C-w= command.
|
|
|
|
Thanks to Samuel Wales for this useful proposal.
|
|
|
|
*** Fine-tuning the behavior of =org-yank=
|
|
|
|
The behavior of Org's yanking command has been further
|
|
fine-tuned in order to avoid some of the small annoyances
|
|
this command caused.
|
|
|
|
- Calling =org-yank= with a prefix arg will stop any special
|
|
treatment and directly pass through to the normal =yank=
|
|
command. Therefore, you can now force a normal yank with =C-u C-y=.
|
|
|
|
- Subtrees will only be folded after a yank if doing so will
|
|
now swallow any non-white characters after the yanked text.
|
|
This is, I think a really important change to make the
|
|
command work more sanely.
|
|
|
|
*** Formulas for clocktables
|
|
|
|
You can now add formulas to a clock table, either by hand, or
|
|
with a =:formula= parameter. These formulas can be used to
|
|
create additional columns with further analysis of the
|
|
measured times.
|
|
|
|
Thanks to Jurgen Defurne for triggering this addition.
|
|
|
|
*** Better implementation of footnotes for HTML export
|
|
|
|
The footnote export in 6.11 really was not good enough. Now
|
|
it works fine. If you have customized =footnote-section-tag=, make sure that your customization is
|
|
matched by =footnote-section-tag-regexp=.
|
|
|
|
Thanks to Sebastian Rose for pushing this change.
|
|
|
|
*** More languages for HTML export.
|
|
|
|
More languages are supported during HTML export. This is
|
|
only relevant for the few special words Org inserts, like
|
|
"Table of Contents", or "Footnotes". Also the encoding
|
|
issues with this feature seem to be solved now.
|
|
|
|
Thanks to Sebastian Rose for pushing me to fix the encoding
|
|
problems.
|
|
|
|
* Version 6.11
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.11
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Yanking subtree with =C-y= now adjusts the tree level
|
|
- State changes can now be shown in the log mode in the agenda
|
|
- Footnote in HTML export are now collected at the end of the document
|
|
- HTML export now validates again as XHTML
|
|
- The clock can now be resumed after exiting and re-starting Emacs
|
|
- Clock-related data can be saved and resumed across Emacs sessions
|
|
- Following file links can now use C-u C-u to force use of an external app
|
|
- Inserting absolute files names now abbreviates links with "~"
|
|
- Links to attachment files
|
|
- Completed repeated tasks listed briefly in agenda
|
|
- Remove buffers created during publishing are removed
|
|
|
|
** Details
|
|
|
|
*** Yanking subtree with =C-y= now adjusts the tree level
|
|
When yanking a cut/copied subtree or a series of trees, the
|
|
normal yank key =C-y= now adjusts the level of the tree to
|
|
make it fit into the current outline position, without losing
|
|
its identity, and without swallowing other subtrees.
|
|
|
|
This uses the command =org-past-subtree=. An additional
|
|
change in that command has been implemented: Normally, this
|
|
command picks the right outline level from the surrounding *visible* headlines, and uses the smaller one. So if the
|
|
cursor is between a level 4 and a level 3 headline, the tree
|
|
will be pasted as level 3. If the cursor is actually *at*
|
|
the beginning of a headline, the level of that headline will
|
|
be used. For example, lets say you have a tree like this:
|
|
|
|
#+begin_src org
|
|
,* Level one
|
|
,** Level two
|
|
,(1)
|
|
,(2)* Level one again
|
|
#+end_src
|
|
|
|
with (1) and (2) indicating possible cursor positions for the
|
|
insertion. When at (1), the tree will be pasted as level 2.
|
|
When at (2), it will be pasted as level 1.
|
|
|
|
If you do not want =C-y= to behave like this, configure the
|
|
variable =org-yank-adjusted-subtrees=.
|
|
|
|
Thanks to Samuel Wales for this idea and a partial implementation.
|
|
|
|
*** State changes can now be shown in the log mode in the agenda
|
|
|
|
If you configure the variable =org-agenda-log-mode-items=,
|
|
you can now request that all logged state changes be included
|
|
in the agenda when log mode is active. If you find this too
|
|
much for normal applications, you can also temporarily
|
|
request the inclusion of state changes by pressing =C-u l= in
|
|
the agenda.
|
|
|
|
This was a request by Hsiu-Khuern Tang.
|
|
|
|
You can also press `C-u C-u l' to get *only* log items in the
|
|
agenda, withour any timestamps/deadlines etc.
|
|
|
|
*** Footnote in HTML export are now collected at the end of the document
|
|
Previously, footnotes would be left in the document where
|
|
they are defined, now they are all collected and put into a
|
|
special =<div>= at the end of the document.
|
|
|
|
Thanks to Sebastian Rose for this request.
|
|
|
|
*** HTML export now validates again as XHTML.
|
|
|
|
Thanks to Sebastian Rose for pushing this cleanup.
|
|
|
|
*** The clock can now be resumed after exiting and re-starting Emacs
|
|
|
|
If the option =org-clock-in-resume= is t, and the first clock
|
|
line in an entry is unclosed, clocking into that task resumes
|
|
the clock from that time.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** Clock-related data can be saved and resumed across Emacs sessions
|
|
|
|
The data saved include the contents of =org-clock-history=,
|
|
and the running clock, if there is one.
|
|
|
|
To use this, you will need to add to your .emacs
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-clock-persist t)
|
|
(setq org-clock-in-resume t)
|
|
(org-clock-persistence-insinuate)
|
|
#+end_src
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** Following file links can now use C-u C-u to force use of an external app.
|
|
|
|
So far you could only bypass your setup in `org-file-apps'
|
|
and force opening a file link in Emacs by using a =C-u= prefix arg
|
|
with =C-c C-o=. Now you can call =C-u C-u C-c C-o= to force
|
|
an external application. Which external application depends
|
|
on your system. On Mac OS X and Windows, =open= is used. On
|
|
a GNU/Linux system, the mailcap settings are used.
|
|
|
|
This was a proposal by Samuel Wales.
|
|
|
|
*** Inserting absolute files names now abbreviates links with "~".
|
|
|
|
Inserting file links with =C-u C-c C-l= was buggy if the
|
|
setting of `org-link-file-path-type' was `adaptive' (the
|
|
default). Absolute file paths were not abbreviated relative
|
|
to the users home directory. This bug has been fixed.
|
|
|
|
Thanks to Matt Lundin for the report.
|
|
|
|
*** Links to attachment files
|
|
|
|
Even though one of the purposes of entry attachments was to
|
|
reduce the number of links in an entry, one might still want
|
|
to have the occasional link to one of those files. You can
|
|
now use link abbreviations to set up a special link type that
|
|
points to attachments in the current entry. Note that such
|
|
links will only work from within the same entry that has the
|
|
attachment, because the directory path is entry specific.
|
|
Here is the setup you need:
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-link-abbrev-alist '(("att" . org-attach-expand-link)))
|
|
#+end_src
|
|
|
|
After this, a link like this will work
|
|
|
|
#+BEGIN_EXAMPLE
|
|
[[att:some-attached-file.txt]]
|
|
#+END_EXAMPLE
|
|
This was a proposal by Lindsay Todd.
|
|
|
|
*** Completed repeated tasks listed briefly in agenda
|
|
|
|
When a repeating task, listed in the daily/weekly agenda under
|
|
today's date, is completed from the agenda, it is listed as
|
|
DONE in the agenda until the next update happens. After the
|
|
next update, the task will have disappeared, of course,
|
|
because the new date is no longer today.
|
|
|
|
*** Remove buffers created during publishing are removed
|
|
|
|
Buffers that are created during publishing are now deleted
|
|
when the publishing is over. At least I hope it works like this.
|
|
|
|
* Version 6.10
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.10
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Secondary agenda filtering is becoming a killer feature
|
|
- Setting tags has now its own binding, =C-c C-q=
|
|
- Todo state changes can trigger tag changes
|
|
- C-RET will now always insert a new headline, never an item.
|
|
- Customize org-mouse.el feature set to free up mouse events
|
|
- New commands for export all the way to PDF (through LaTeX)
|
|
- Some bug fixed for LaTeX export, more bugs remain.
|
|
|
|
** Details
|
|
|
|
*** Enhancements to secondary agenda filtering
|
|
|
|
This is, I believe, becoming a killer feature. It allows you
|
|
to define fewer and more general custom agenda commands, and
|
|
then to do the final narrowing to specific tasks you are
|
|
looking for very quickly, much faster than calling a new
|
|
agenda command.
|
|
|
|
If you have not tries this yet, you should!
|
|
|
|
**** You can now refining the current filter by an additional criterion
|
|
When filtering an existing agenda view with =/=, you can
|
|
now narrow down the existing selection by an additional
|
|
condition. Do do this, use =\= instead of =/= to add the
|
|
additional criterion. You can also press =+= or =-= after =/= to add a positive or negative condition. A condition
|
|
can be a TAG, or an effort estimate limit, see below.
|
|
|
|
**** It is now possible to filter for effort estimates
|
|
This means to filter the agenda for the value of the Effort
|
|
property. For this you should best set up global allowed
|
|
values for effort estimates, with
|
|
|
|
#+begin_src emacs-lisp
|
|
(setq org-global-properties
|
|
'(("Effort_ALL" . "0 0:10 0:30 1:00 2:00 3:00 4:00")))
|
|
#+end_src
|
|
|
|
You may then select effort limits with single keys in the
|
|
filter. It works like this: After =/= or =\=, first select
|
|
the operator which you want to use to compare effort
|
|
estimates:
|
|
|
|
: < Select entries with effort smaller than or equal to the limit
|
|
: > Select entries with effort larger than or equal to the limit
|
|
: = Select entries with effort equal to the limit
|
|
|
|
After that, you can press a single digit number which is
|
|
used as an index to the allowed effort estimates.
|
|
|
|
If you do not use digits to fast-select tags, you can even
|
|
skip the operator, which will then default to
|
|
`org-agenda-filter-effort-default-operator', which is by
|
|
default =<=.
|
|
|
|
Thanks to Manish for the great idea to include fast effort
|
|
filtering into the agenda filtering process.
|
|
|
|
**** The mode line will show the active filter
|
|
For example, if there is a filter in place that does select
|
|
for HOME tags, against EMAIL tags, and for tasks with an
|
|
estimated effort smaller than 30 minutes, the mode-line with
|
|
show =+HOME-EMAIL+<0:30=
|
|
|
|
**** The filter now persists when the agenda view is refreshed
|
|
All normal refresh commands, including those that move the
|
|
weekly agenda from one week to the next, now keep the
|
|
current filter in place.
|
|
|
|
You need to press =/ /= to turn off the filter. However,
|
|
when you run a new agenda command, for example going from
|
|
the weekly agenda to the TODO list, the filter will be
|
|
switched off.
|
|
|
|
*** Setting tags has now its own binding, =C-c C-q=
|
|
|
|
You can still use =C-c C-c= on a headline, but the new
|
|
binding should be considered as the main binding for this
|
|
command. The reasons for this change are:
|
|
|
|
- Using =C-c C-c= for tags is really out of line with other
|
|
uses of =C-c C-c=.
|
|
|
|
- I hate it in Remember buffers when I try to set tags and I
|
|
cannot, because =C-c C-c= exits the buffer :-(
|
|
|
|
- =C-c C-q= will also work when the cursor is somewhere down
|
|
in the entry, it does not have to be on the headline.
|
|
|
|
*** Todo state changes can trigger tag changes
|
|
|
|
The new option =org-todo-state-tags-triggers= can be used to
|
|
define automatic changes to tags when a TODO state changes.
|
|
For example, the setting
|
|
|
|
: (setq org-todo-state-tags-triggers
|
|
: '((done ("Today" . nil) ("NEXT" . nil))
|
|
: ("WAITING" ("Today" . t))))
|
|
|
|
will make sure that any change to any of the DONE states will
|
|
remove tags "Today" and "NEXT", while switching to the
|
|
"WAITING" state will trigger the tag "Today" to be added.
|
|
|
|
I use this mostly to get rid of TODAY and NEXT tags which I
|
|
apply to select an entry for execution in the near future,
|
|
which I often prefer to specific time scheduling.
|
|
|
|
*** C-RET will now always insert a new headline, never an item.
|
|
The new headline is inserted after the current subtree.
|
|
|
|
Thanks to Peter Jones for patches to fine-tune this behavior.
|
|
|
|
*** Customize org-mouse.el feature set
|
|
There is a new variable =org-mouse-features= which gives you
|
|
some control about what features of org-mouse you want to
|
|
use. Turning off some of the feature will free up the
|
|
corresponding mouse events, or will avoid activating special
|
|
regions for mouse clicks. By default I have urned off the
|
|
feature to use drag mouse events to move or promote/demote
|
|
entries. You can of course turn them back on if you wish.
|
|
|
|
This variable may still change in the future, allowing more
|
|
fine-grained control.
|
|
|
|
*** New commands for export to PDF
|
|
|
|
This is using LaTeX export, and then processes it to PDF
|
|
using pdflatex.
|
|
|
|
: C-c C-e p process to PDF.
|
|
: C-c C-e d process to PDF, and open the file.
|
|
|
|
*** LaTeX export
|
|
- \usepackage{graphicx} is now part of the standard class
|
|
definitions.
|
|
- Several bugs fixed, but definitely not all of them :-(
|
|
|
|
*** New option `org-log-state-notes-insert-after-drawers'
|
|
|
|
Set this to =t= if you want state change notes to be inserted
|
|
after any initial drawers, i.e drawers the immediately follow
|
|
the headline and the planning line (the one with
|
|
DEADLINE/SCHEDULED/CLOSED information).
|
|
|
|
* Version 6.09
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.09
|
|
:END:
|
|
** Incompatible
|
|
*** =org-file-apps= now uses regular expressions, see [[*%20org%20file%20apps%20now%20uses%20regular%20repressions%20instead%20of%20extensions][below]]
|
|
|
|
** Details
|
|
|
|
*** =org-file-apps= now uses regular repressions instead of extensions
|
|
Just like in =auto-mode-alist=, car's in the variable =org-file-apps= that are strings are now interpreted as
|
|
regular expressions that are matched against a file name. So
|
|
instead of "txt", you should now write "\\.txt\\'" to make
|
|
sure the matching is done correctly (even though "txt" will
|
|
be recognized and still be interpreted as an extension).
|
|
|
|
There is now a shortcut to get many file types visited by
|
|
Emacs. If org-file-apps contains `(auto-mode . emacs)', then
|
|
any files that are matched by `auto-mode-alist' will be
|
|
visited in emacs.
|
|
|
|
*** Changes to the attachment system
|
|
|
|
- The default method to attach a file is now to copy it
|
|
instead of moving it.
|
|
- You can modify the default method using the variable
|
|
`org-attach-method'. I believe that most Unix people want
|
|
to set it to `ln' to create hard links.
|
|
- The keys =c=, =m=, and =l= specifically select =copy=, =move=, or =link=, respectively, as the attachment method
|
|
for a file, overruling `org-attach-method'.
|
|
- To create a new attachment as an Emacs buffer, you have not
|
|
now use =n= instead of =c=.
|
|
- The file list is now always retrieved from the directory
|
|
itself, not from the "Attachments" property. We still
|
|
keep this property by default, but you can turn it off, by
|
|
customizing the variable =org-attach-file-list-property=.
|
|
|
|
* Version 6.08
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.08
|
|
:END:
|
|
|
|
** Incompatible changes
|
|
|
|
- Changes in the structure of IDs, see [[*The%20default%20structure%20of%20IDs%20has%20changed][here]] for details.
|
|
|
|
- C-c C-a has been redefined, see [[*%20C%20c%20C%20a%20no%20longer%20calls%20show%20all][here]] for details.
|
|
|
|
** Details
|
|
|
|
*** The default structure of IDs has changed
|
|
|
|
IDs created by Org have changed a bit:
|
|
- By default, there is no prefix on the ID. There used to be
|
|
an "Org" prefix, but I now think this is not necessary.
|
|
- IDs use only lower-case letters, no upper-case letters
|
|
anymore. The reason for this is that IDs are now also used
|
|
as directory names for org-attach, and some systems do not
|
|
distinguish upper and lower case in the file system.
|
|
- The ID string derived from the current time is now /reversed/ to become an ID. This assures that the first
|
|
two letters of the ID change fast, so hat it makes sense to
|
|
split them off to create subdirectories to balance load.
|
|
- You can now set the `org-id-method' to `uuidgen' on systems
|
|
which support it.
|
|
|
|
*** =C-c C-a= no longer calls `show-all'
|
|
|
|
The reason for this is that =C-c C-a= is now used for the
|
|
attachment system. On the rare occasions that this command
|
|
is needed, use =M-x show-all=, or =C-u C-u C-u TAB=.
|
|
|
|
*** New attachment system
|
|
|
|
You can now attach files to each node in the outline tree.
|
|
This works by creating special directories based on the ID of
|
|
an entry, and storing files in these directories. Org can
|
|
keep track of changes to the attachments by automatically
|
|
committing changes to git. See the manual for more
|
|
information.
|
|
|
|
Thanks to John Wiegley who contributed this fantastic new
|
|
concept and wrote org-attach.el to implement it.
|
|
|
|
*** New remember template escapes
|
|
|
|
: %^{prop}p to insert a property
|
|
: %k the heading of the item currently being clocked
|
|
: %K a link to the heading of the item currently being clocked
|
|
|
|
Also, when you exit remember with =C-2 C-c C-c=, the item
|
|
will be filed as a child of the item currently being
|
|
clocked. So the idea is, if you are working on something and
|
|
think of a new task related to this or a new note to be
|
|
added, you can use this to quickly add information to that
|
|
task.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** Clicking with mouse-2 on clock info in mode-line visits the clock.
|
|
|
|
Thanks to James TD Smith for a patch to this effect.
|
|
|
|
*** New file in contrib: lisp/org-checklist.el
|
|
|
|
This module deals with repeated tasks that have checkbox
|
|
lists below them.
|
|
|
|
Thanks to James TD Smith for this contribution.
|
|
|
|
*** New in-buffer setting #+STYLE
|
|
|
|
It can be used to locally set the variable
|
|
`org-export-html-style-extra'. Several such lines are
|
|
allowed-, they will all be concatenated. For an example on
|
|
how to use it, see the [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php][publishing tutorial]].
|
|
|
|
* Version 6.07
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: v6.07
|
|
:END:
|
|
|
|
** Overview
|
|
|
|
- Filtering existing agenda views with respect to a tag
|
|
- Editing fixed-width regions with picture or artist mode
|
|
- /org-plot.el/ is now part of Org
|
|
- Tags can be used to select the export part of a document
|
|
- Prefix interpretation when storing remember notes
|
|
- Yanking inserts folded subtrees
|
|
- Column view capture tables can have formulas, plotting info
|
|
- In column view, date stamps can be changed with S-cursor keys
|
|
- The note buffer for clocking out now mentions the task
|
|
- Sorting entries alphabetically ignores TODO keyword and priority
|
|
- Agenda views can sort entries by TODO state
|
|
- New face =org-scheduled= for entries scheduled in the future.
|
|
- Remember templates for gnus links can use the :to escape.
|
|
- The file specification in a remember template may be a function
|
|
- Categories in iCalendar export include local tags
|
|
- It is possible to define filters for column view
|
|
- Disabling integer increment during table Field copy
|
|
- Capturing column view is on `C-c C-x i'
|
|
- And tons of bugs fixed.
|
|
|
|
|
|
** Incompatible changes
|
|
|
|
*** Prefix interpretation when storing remember notes has changed
|
|
|
|
The prefix argument to the `C-c C-c' command that finishes a
|
|
remember process is now interpreted differently:
|
|
|
|
: C-c C-c Store the note to predefined file and headline
|
|
: C-u C-c C-c Like C-c C-c, but immediately visit the note
|
|
: in its new location.
|
|
: C-1 C-c C-c Select the storage location interactively
|
|
: C-0 C-c C-c Re-use the last used location
|
|
|
|
This was requested by John Wiegley.
|
|
|
|
*** Capturing column view is now on `C-c C-x i'
|
|
|
|
The reason for this change was that `C-c C-x r' is also used
|
|
as a tty key replacement.
|
|
|
|
*** Categories in iCalendar export now include local tags
|
|
|
|
The locally defined tags are now listed as categories when
|
|
exporting to iCalendar format. Org's traditional file/tree
|
|
category is now the last category in this list. Configure
|
|
the variable =org-icalendar-categories= to modify or revert
|
|
this behavior.
|
|
|
|
This was a request by Charles Philip Chan.
|
|
|
|
** Details
|
|
|
|
*** Secondary filtering of agenda views.
|
|
|
|
You can now easily and interactively filter an existing
|
|
agenda view with respect to a tag. This command is executed
|
|
with the =/= key in the agenda. You will be prompted for a
|
|
tag selection key, and all entries that do not contain or
|
|
inherit the corresponding tag will be hidden. With a prefix
|
|
argument, the opposite filter is applied: entries that
|
|
do have the tag will be hidden.
|
|
|
|
This operation only /hides/ lines in the agenda buffer, it
|
|
does not remove them. Changing the secondary filtering does
|
|
not require a new search and is very fast.
|
|
|
|
If you press TAB at the tag selection prompt, you will be
|
|
switched to a completion interface to select a tag. This is
|
|
useful when you want to select a tag that does not have a
|
|
direct access character.
|
|
|
|
A double =/ /= will restore the original agenda view by
|
|
unhiding any hidden lines.
|
|
|
|
This functionality was John Wiegley's idea. It is a simpler
|
|
implementation of some of the query-editing features proposed
|
|
and implemented some time ago by Christopher League (see the
|
|
file contrib/lisp/org-interactive-query.el).
|
|
|
|
*** Editing fixed-width regions with picture or artist mode
|
|
|
|
The command @<code>C-c '@</code> (that is =C-c= followed by a
|
|
single quote) can now also be used to switch to a special
|
|
editing mode for fixed-width sections. The default mode is =artist-mode= which allows you to create ASCII drawings.
|
|
|
|
It works like this: Enter the editing mode with
|
|
@<code>C-c '@</code>. An indirect buffer will be created and
|
|
narrowed to the fixed-width region. Edit the drawing, and
|
|
press @<code>C-c '@</code> again to exit.
|
|
|
|
Lines in a fixed-width region should be preceded by a colon
|
|
followed by at least one space. These will be removed during
|
|
editing, and then added back when you exit the editing mode.
|
|
|
|
Using the command in an empty line will create a new
|
|
fixed-width region.
|
|
|
|
This new feature arose from a discussion involving Scott
|
|
Otterson, Sebastian Rose and Will Henney.
|
|
|
|
*** /org-plot.el/ is now part of Org.
|
|
|
|
You can run it by simple calling org-plot/gnuplot.
|
|
Documentation is not yet included with Org, please refer to
|
|
http://github.com/eschulte/org-plot/tree/master until we have
|
|
moved the docs into Org or Worg.
|
|
|
|
Thanks to Eric Schulte for this great contribution.
|
|
|
|
*** Tags can be used to select the export part of a document
|
|
|
|
You may now use tags to select parts of a document for
|
|
inclusion into the export, and to exclude other parts. This
|
|
behavior is governed by two new variables: =org-export-select-tags= and =org-export-exclude-tags=.
|
|
These default to =("export")= and =("noexport")=, but can be
|
|
changed, even to include a list of several tags.
|
|
|
|
Org first checks if any of the /select/ tags is present in
|
|
the buffer. If yes, all trees that do not carry one of these
|
|
tags will be excluded. If a selected tree is a subtree, the
|
|
heading hierarchy above it will also be selected for export,
|
|
but not the text below those headings. If none of the select
|
|
tags is found anywhere in the buffer, the whole buffer will
|
|
be selected for export. Finally, all subtrees that are
|
|
marked by any of the /exclude/ tags will be removed from the
|
|
export buffer.
|
|
|
|
You may set these tags with in-buffer options =EXPORT_SELECT_TAGS= and =EXPORT_EXCLUDE_TAGS=.
|
|
|
|
I love this feature. Thanks to Richard G Riley for coming
|
|
up with the idea.
|
|
|
|
*** Prefix interpretation when storing remember notes
|
|
|
|
The prefix argument to the `C-c C-c' command that finishes a
|
|
remember process is now interpreted differently:
|
|
|
|
: C-c C-c Store the note to predefined file and headline
|
|
: C-u C-c C-c Like C-c C-c, but immediately visit the note
|
|
: in its new location.
|
|
: C-1 C-c C-c Select the storage location interactively
|
|
: C-0 C-c C-c Re-use the last used location
|
|
|
|
This was requested by John Wiegley.
|
|
|
|
*** Yanking inserts folded subtrees
|
|
|
|
If the kill is a subtree or a sequence of subtrees, yanking
|
|
them with =C-y= will leave all the subtrees in a folded
|
|
state. This basically means, that kill and yank are now
|
|
much more useful in moving stuff around in your outline. If
|
|
you do not like this, customize the variable =org-yank-folded-subtrees=.
|
|
|
|
Right now, I am only binding =C-y= to this new function,
|
|
should I modify all bindings of yank? Do we need to amend =yank-pop= as well?
|
|
|
|
This feature was requested by John Wiegley.
|
|
|
|
*** Column view capture tables can have formulas, plotting info
|
|
|
|
If you attach formulas and plotting instructions to a table
|
|
capturing column view, these extra lines will now survive an
|
|
update of the column view capture, and any formulas will be
|
|
re-applied to the captured table. This works by keeping any
|
|
continuous block of comments before and after the actual
|
|
table.
|
|
|
|
*** In column view, date stamps can be changed with S-cursor keys
|
|
|
|
If a property value is a time stamp, S-left and S-right can
|
|
now be used to shift this date around while in column view.
|
|
|
|
This was a request by Chris Randle.
|
|
|
|
*** The note buffer for clocking out now mentions the task
|
|
|
|
This was a request by Peter Frings.
|
|
|
|
*** Sorting entries alphabetically ignores TODO keyword and priority
|
|
|
|
Numerical and alphanumerical sorting now skips any TODO
|
|
keyword or priority cookie when constructing the comparison
|
|
string. This was a request by Wanrong Lin.
|
|
|
|
*** Agenda views can sort entries by TODO state
|
|
|
|
You can now define a sorting strategy for agenda entries that
|
|
does look at the TODO state of the entries. Sorting by TODO
|
|
entry does first separate the non-done from the done states.
|
|
Within each class, the entries are sorted not alphabetically,
|
|
but in definition order. So if you have a sequence of TODO
|
|
entries defined, the entries will be sorted according to the
|
|
position of the keyword in this sequence.
|
|
|
|
This follows an idea and sample implementation by Christian
|
|
Egli.
|
|
|
|
*** New face =org-scheduled= for entries scheduled in the future.
|
|
|
|
This was a request by Richard G Riley.
|
|
|
|
*** Remember templates for gnus links can now use the :to escape.
|
|
|
|
Thanks to Tommy Lindgren for a patch to this effect.
|
|
*** The file specification in a remember template may now be a function
|
|
|
|
Thanks to Gregory Sullivan for a patch to this effect.
|
|
|
|
*** Categories in iCalendar export now include local tags
|
|
|
|
The locally defined tags are now listed as categories when
|
|
exporting to iCalendar format. Org's traditional file/tree
|
|
category is now the last category in this list. Configure
|
|
the variable =org-icalendar-categories= to modify or revert
|
|
this behavior.
|
|
|
|
This was a request by Charles Philip Chan.
|
|
|
|
*** It is now possible to define filters for column view
|
|
|
|
The filter can modify the value that will be displayed in a
|
|
column, for example it can cut out a part of a time stamp.
|
|
For more information, look at the variable =org-columns-modify-value-for-display-function=.
|
|
|
|
*** Disabling integer increment during table field copy
|
|
|
|
Prefix arg 0 to S-RET does the trick.
|
|
|
|
This was a request by Chris Randle.
|
|
|
|
|
|
* Version 6.06
|
|
|
|
** Overview
|
|
|
|
- New, more CSS-like setup for HTML style information
|
|
- Attributes in hyperlinks, for example alt and title for images
|
|
- Simplified way to specify file links
|
|
- Modified behavior of time stamps in iCalendar export
|
|
- New way to compare times during a property search
|
|
- New option `org-open-directory-means-index'
|
|
- New parameters :prefix and :prefix1 for include files
|
|
- New option :index-style for org-publish
|
|
- New structure for the timestamp directory for org-publish.
|
|
|
|
** Incompatible changes
|
|
|
|
*** New structure for the timestamp directory for org-publish.
|
|
|
|
The timestamp directory now uses SHA1 hashed versions of the
|
|
path to each publishing file. This should be a consistent
|
|
and system-independent way to handle things. The change
|
|
means that your next publishing command will publish each and
|
|
every file again, but just once, until new time stamps are in
|
|
place.
|
|
|
|
** Details
|
|
|
|
*** New setup for HTML style information
|
|
|
|
In order to create a more CSS-like setup of the HTML style
|
|
information, the following changes have been made:
|
|
- The default style has moved to a constant, =org-export-html-style-default= and should not be changed
|
|
anymore.
|
|
- The default of the variable =org-export-html-style= is now
|
|
just the empty string. This variable should receive
|
|
settings that are Org-wide. When using org-publish, this
|
|
variable is associated with the =:style= property and can
|
|
be used to establish project-wide settings.
|
|
- There is a new variable =org-export-html-style-extra= that
|
|
should be used for file-local settings. Org-publish can, if
|
|
necessary, access this variable with the =:style-extra=
|
|
property.
|
|
- When a file is published, the values of
|
|
- org-export-html-style-default
|
|
- org-export-html-style
|
|
- org-export-html-style-extra
|
|
are all inserted into the HTML header, in the given
|
|
sequence.
|
|
|
|
This follows a proposal by Rustom Mody.
|
|
|
|
*** Attributes in hyperlinks
|
|
|
|
You can now set attributes in hyperlinks that will be used
|
|
when publishing to HTML. For example, if you want to use the
|
|
ALT and TITLE attributes of an inlined image, here is who to
|
|
do this:
|
|
|
|
: [[./img/a.jpg{{alt="This is image A" title="Image with no action"}}]]
|
|
|
|
Thanks to Charles Chen for this idea.
|
|
|
|
*** Simplified way to specify file links
|
|
|
|
In a link, you can now leave out the "file:" prefix if you
|
|
write an absolute file name like =/Users/dominik/.emacs= or =~/.emacs=, or if you write a relative file name by using =./= or =../= to start the file path. You cannot write a
|
|
plain file name, because plain text is interpreted as an
|
|
internal link.
|
|
|
|
So for example, a link to an image /A.jpg/ with a thumbnail /B.jpg/ can now be written like
|
|
|
|
#+begin_src org
|
|
[[./A.jpg][./B.jpg] ]
|
|
#+end_src
|
|
|
|
*** Changes in iCalendar export
|
|
|
|
Deadline and scheduling time stamps are now treated
|
|
differently in iCalendar export. The default behavior is now
|
|
the following:
|
|
|
|
- a DEADLINE that appears in an entry that is a TODO item is
|
|
used as the item's DUE date. Therefore, such a deadline
|
|
will no longer show up in the calendar.
|
|
|
|
- a DEADLINE that appears in an item that is *not* a TODO
|
|
item is exported as an EVENT and will show up in the
|
|
calendar.
|
|
|
|
- a SCHEDULED timestamp in a TODO item will be used as the
|
|
items DTSTART. Therefore, such a timestamp will not show
|
|
up in the calendar.
|
|
|
|
- a SCHEDULED timestamp in an item that is not a TODO has no
|
|
effect on iCalendar export at all. It will be ignored.
|
|
|
|
Of course this would not be Emacs if you could not configure
|
|
exactly what you want. Take a look at the variables =org-icalendar-use-deadlines= and =org-icalendar-use-scheduled= if you want to go back to the
|
|
old behavior or even do something completely different.
|
|
|
|
Thanks to Karen Cooke for triggering this change.
|
|
|
|
*** New way to compare times during a property search
|
|
|
|
If the comparison value in a property search is a string that
|
|
is enclosed in angular brackets, a time comparison will be
|
|
done. For example
|
|
|
|
: +DEADLINE>="<2008-12-24 15:20>"
|
|
|
|
looks for entries with a deadline on or after that time.
|
|
Special allowed values are "<now>" (with time) and "<today>"
|
|
(date only).
|
|
|
|
This is based on a request by Manish.
|
|
|
|
*** New option `org-open-directory-means-index'
|
|
|
|
When set, a link pointing to a directory will actually open
|
|
the index.org file in that directory. This is a good setting
|
|
inside a publishing project. When not set, you get a
|
|
finder/explorer window for that directory, or dired,
|
|
depending on system and setup.
|
|
|
|
This follows a request by Richard Riley.
|
|
|
|
*** New parameters :prefix and :prefix1 for include files
|
|
|
|
These parameters specify prefixes for each line of included
|
|
text. :prefix1 is only for the first line, :prefix for all
|
|
other lines.
|
|
|
|
This follows a proposal by Richard Riley.
|
|
|
|
*** New option :index-style for org-publish
|
|
|
|
This option can be used to switch the style of the index
|
|
produced by org-publish. Can be `list' (index is just an
|
|
itemized list of the titles of the files involved) or `tree'
|
|
(the directory structure of the source files is reflected in
|
|
the index). The default is `tree'.
|
|
|
|
Thanks to Manuel Hermenegildo for the patch.
|
|
|
|
*** In the Agenda, inclusion of archives can now be toggled
|
|
- Pressing =v= will toggle inclusion of trees with the
|
|
ARCHIVE tag, this includes obviously the archive sibling.
|
|
- Pressing `C-u v' will include trees with ARCHIVE tag, and
|
|
will also include all archive files that are currently
|
|
associated with your agenda files.
|
|
|
|
This was triggered by a proposal by Manuel Hermenegildo.
|
|
|
|
* Version 6.05
|
|
|
|
If I were to name my releases, this one would be called "Adam".
|
|
Adam, you definitely owe me a beer :-). And I owe you one, too -
|
|
thanks for all the great ideas.
|
|
|
|
** Overview
|
|
|
|
- Use cursor position in agenda for remember, scheduling and deadlines
|
|
- New API for mapping a function over all or selected entries
|
|
- Remember templates can be filed to beginning/end of a file
|
|
- Visiting a filed remember buffer immediately
|
|
- BBDB anniversaries are now links
|
|
- Column view in the agenda now cleans the ITEM field
|
|
- The format of section numbers in exported files is configurable
|
|
- Direct, single key access to allowed values in column view
|
|
- New hook to hack exported iCalendar files
|
|
- Log mode in agenda now shows end time for CLOCK line
|
|
|
|
** Incompatible changes
|
|
|
|
*** `C-c C-x C-k' now calls `org-mark-entry-for-agenda-action'
|
|
It used to call =org-cut-special=, but that is also at bound
|
|
to the key =C-c C-x C-w=.
|
|
** Details
|
|
|
|
*** Making use of the cursor position in the agenda
|
|
|
|
The date at the cursor in the agenda (and also in the
|
|
calendar) can now be used to schedule entries, or to set the
|
|
date in a remember template correctly. It is also designed
|
|
to make it easier to move an entry to a date picked in the
|
|
agenda. Thanks to Thomas Baumann for starting the thread
|
|
that led to this development.
|
|
|
|
**** Calling remember with the cursor date in the agenda
|
|
|
|
If you want to use the date at the agenda cursor in a
|
|
remember template, start remember from the agenda with the
|
|
keys =k r=. While the template is being filled in, the
|
|
default date for all time stamps, and also for all
|
|
interactive escapes like =%^t= is now the date at the cursor
|
|
in the agenda. The exact same command can also be used from
|
|
the calendar if you prefer that.
|
|
|
|
**** Picking a date for scheduling/deadline in the agenda
|
|
|
|
You may now pick the date for scheduling an item or for
|
|
setting a deadline in the agenda, where you have the best
|
|
overview over free time slots. This is a two step process.
|
|
|
|
1. First you pick the entry that should be acted upon. In
|
|
the agenda, you use the keys =k m=. In an org-mode file,
|
|
this is on =C-c C-x C-k=.
|
|
|
|
2. Then you find the agenda date you want to apply. When the
|
|
cursor is anywhere in the block belonging to that date,
|
|
press =k s= to schedule, or =k d= to put a deadline. The
|
|
agenda is not updated immediately, press =r= if you want
|
|
it to show the affected entry in the right place.
|
|
|
|
*** New API for mapping a function over all or selected entries
|
|
|
|
Org has sophisticated mapping capabilities to find all
|
|
entries satisfying certain criteria. Internally, this
|
|
functionality is used to produce agenda views, but there is
|
|
also an API that can be used to execute arbitrary functions
|
|
for each or selected entries. The main entry point for this
|
|
API is:
|
|
|
|
#+begin_example
|
|
-- Function: org-map-entries func &optional match scope &rest skip
|
|
Call FUNC at each headline selected by MATCH in SCOPE.
|
|
|
|
FUNC is a function or a lisp form. The function will be
|
|
called without arguments, with the cursor positioned at
|
|
the beginning of the headline. The return values of all
|
|
calls to the function will be collected and returned as
|
|
a list.
|
|
|
|
MATCH is a tags/property/todo match as it is used in the
|
|
agenda tags view. Only headlines that are matched by
|
|
this query will be considered during the iteration.
|
|
When MATCH is nil or t, all headlines will be visited by
|
|
the iteration.
|
|
|
|
SCOPE determines the scope of this command, it can
|
|
specify a file, all agenda files, the current tree and
|
|
much more.
|
|
|
|
The remaining args are treated as settings for the
|
|
skipping facilities of the scanner.
|
|
#+end_example
|
|
|
|
The function given to that mapping routine can really do anything
|
|
you like. Here is a simple example that will turn all entries in
|
|
the current file with a tag =TOMORROW= into TODO entries with the
|
|
keyword =UPCOMING=. Entries in comment trees and in archive
|
|
trees will be ignored.
|
|
|
|
#+begin_src emacs-lisp
|
|
(org-map-entries
|
|
'(org-todo "UPCOMING")
|
|
"+TOMORROW" 'file 'archive 'comment)
|
|
#+end_src
|
|
|
|
The following example counts the number of entries with TODO
|
|
keyword =WAITING=, in all agenda files.
|
|
|
|
#+begin_src emacs-lisp
|
|
(length (org-map-entries t "/+WAITING" nil 'agenda))
|
|
#+end_src
|
|
|
|
*** Changes in Remember templates
|
|
|
|
**** Remember templates can now use the cursor date in the agenda
|
|
Use =k r= to start remember from the agenda, with enforcing
|
|
the cursor date as default for any time stamps created by
|
|
the template.
|
|
|
|
**** Filing remember templates to the beginning or end of a file
|
|
You may now set the heading part of a remember template
|
|
definition to `top' or `bottom'. The template will then be
|
|
filed as a level 1 entry to the beginning or end of the
|
|
target file, respectively. Thanks to Adam Spiers for this
|
|
proposal.
|
|
|
|
**** You can jump to the location of a note immediately after filing it
|
|
Just include the =%&= escape anywhere in the template. An
|
|
interesting combination now is to use =%!%&=, which will
|
|
immediately file and visit the note, which is equivalent to
|
|
generating the note directly in the target location. Thanks
|
|
to Adam Spiers for this proposal.
|
|
|
|
*** BBDB anniversaries are now links.
|
|
If you are using =%%(bbdb-anniversaries)= to list
|
|
anniversaries in the agenda, you can now directly access the
|
|
entry that triggered a listed anniversary from the agenda.
|
|
Just click the anniversary - it is a link now. Thanks to
|
|
Thomas Baumann for a patch to this effect.
|
|
|
|
*** Column view in the agenda now cleans the ITEM field
|
|
See the new variable =org-agenda-columns-remove-prefix-from-item=. Thanks to Adam
|
|
Spiers for this proposal.
|
|
|
|
*** The format of section number in exported files is configurable
|
|
|
|
See the new variable `org-export-section-number-format'.
|
|
Thanks to Adam Spiers for this proposal.
|
|
|
|
*** Direct access to allowed values in column view
|
|
|
|
In column view, if you press a key 1-9 or 0, the
|
|
corresponding values from the list of allowed values for that
|
|
field at point will be directly selected. Thanks to Levin Du
|
|
for this proposal and a patch to this effect.
|
|
|
|
*** New hook to hack exported iCalendar files
|
|
The new hook `org-before-save-iCalendar-file-hook' runs just
|
|
before the buffer with a created iCalendar export is saved.
|
|
This is what I settled for after a long discussion with Adam
|
|
Spiers about doing some special filtering automatically.
|
|
|
|
*** Log mode in agenda now shows end time for CLOCK lines
|
|
When turning on log mode in the agenda with =l=, clock lines
|
|
will now also list the end time, not only the starting time.
|
|
Thanks to Tian Qiu for bringing this up again.
|
|
*** Fixes and additions for org-publish
|
|
- the :include and :index-title properties in org-publish
|
|
work now as advertized
|
|
- the #+TITLE of a page will be used in the index
|
|
- new :completion-function property can define a hook to be
|
|
run after publishing a file.
|
|
|
|
Thanks to Manuel Hermenegildo for a patch to this effect.
|
|
|
|
* Version 6.04
|
|
|
|
** Overview
|
|
|
|
- Statistics cookies [/] and [%] for TODO entries
|
|
- Editing source code example in the proper mode
|
|
- iCalendar now defines proper UIDs for entries
|
|
- New properties for customizing subtree export
|
|
|
|
** Incompatible changes
|
|
|
|
- The default of the variable `org-tags-match-list-sublevels' is
|
|
now `t'. The main reason for this is that it is easier to
|
|
explain in the manual and will lead to fewer surprises.
|
|
|
|
- The former CONTRIB directory is now called "contrib". This was
|
|
already the case in the git distribution, but the tar and zip
|
|
archives still did this wrong.
|
|
|
|
** Details
|
|
|
|
*** Statistics for TODO entries
|
|
|
|
The [/] and [%] cookies have already provided statistics for
|
|
checkboxes. Now they do the same also for TODO entries. If a
|
|
headline contains either cookie, changing the TODO state of any
|
|
direct child will trigger an update of this cookie. Children
|
|
that are neither TODO nor DONE are ignored.
|
|
|
|
There have already been requests to automatically switch the
|
|
parent headline to DONE when all children are done. I am not
|
|
making this a default feature, because one needs to make many
|
|
decisions about which keyword to use, etc. Instead of a complex
|
|
customization variable, I am providing a hook that can be used.
|
|
This hook will be called each time a TODO statistics cookie is
|
|
updated, with the cursor in the corresponding line. Each
|
|
function in the hook will receive two arguments, the number of
|
|
done entries, and the number of not-done entries, and you can use
|
|
the hook to change the state of the headline. Here is an example
|
|
implementation:
|
|
|
|
#+begin_src emacs-lisp
|
|
(defun org-summary-todo (n-done n-not-done)
|
|
"Switch entry to DONE when all sub-entries are done, to TODO otherwise."
|
|
(let (org-log-done org-log-states) ; turn off logging
|
|
(org-todo (if (= n-not-done 0) "DONE" "TODO"))))
|
|
|
|
(add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
|
|
#+end_src
|
|
|
|
*** Editing source code example in the proper mode
|
|
|
|
If you are writing a document with source code examples, you can
|
|
include these examples into a =#+BEGIN_SRC lang ... #+END_SRC= or
|
|
(with the org-mtags module loaded) a =<src...= structure. =lang=
|
|
stands for the Emacs mode used for editing the language, this
|
|
could be =emacs-lisp= for Emacs Lisp mode examples, or =org= for
|
|
Org mode examples. You can now use the key "C-c '" (that is C-c
|
|
followed by the single quote) to edit the example in its native
|
|
mode. This works by creating an indirect buffer, narrowing it to
|
|
the example and setting the appropriate mode. You need to exit
|
|
editing by pressing "C-c '" again. This is important, because
|
|
lines that have syntactic meaning in Org will be quoted by
|
|
calling this command.
|
|
|
|
"C-c '" also edits include files, the setupfile in a =#+setufile=
|
|
line, and all those little foreign snippets like:
|
|
|
|
#+begin_src org
|
|
,#+HTML: this code can be edited in html-mode
|
|
|
|
,#+BEGIN_HTML
|
|
,Same here
|
|
,#+BEGIN_HTML
|
|
|
|
,#+LaTeX: this code can be edited in latex-mode
|
|
|
|
,#+BEGIN_LaTeX
|
|
,Same here
|
|
,#+BEGIN_LaTeX
|
|
|
|
,#+BEGIN_SRC fortran
|
|
,Here we can edit in fortran-mode
|
|
,#+END_SRC
|
|
#+end_src
|
|
|
|
*** iCalendar now defines proper UIDs for entries
|
|
|
|
This is necessary for synchronization services. The UIDs are
|
|
created using the the org-id.el module which is now part of the
|
|
Org core. If you set the variable
|
|
|
|
: (setq org-icalendar-store-UID t)
|
|
|
|
then all created UIDs will be stored in the entry as an =:ID:=
|
|
property. This is off by default because it creates lots of
|
|
property drawers even if you only play with iCalendar export.
|
|
But if you plan to use synchronization, you really need to turn
|
|
this on.
|
|
|
|
Diary sexp entries do not yet receive proper persistent UIDs,
|
|
because they are transformed to iCalendar format by icalendar.el
|
|
which creates fresh UIDs each time, based on the current time.
|
|
|
|
An interesting aspect of Org is that a single outline node can
|
|
give rise to multiple iCalendar entries (as a timestamp, a
|
|
deadline, a scheduled item, and as a TODO item). Therefore, Org
|
|
adds prefixes "TS-", "DL-" "CS-", and "TD-" to the UID during
|
|
iCalendar export, depending on what triggered the inclusion of
|
|
the entry. In this way the UID remains unique, but a
|
|
synchronization program can still figure out from which entry all
|
|
the different instances originate.
|
|
|
|
*** New properties for customizing subtree export.
|
|
|
|
When exporting a subtree by selecting it before calling the
|
|
export command, you can now use the properties =EXPORT_TITLE=,
|
|
=EXPORT_TEXT=, and =EXPORT_OPTIONS= to overrule the global
|
|
=#+TITLE=, =#+TEXT=, and =#+OPTIONS= settings. You can also set
|
|
an export file name with =EXPORT_FILE_NAME= that will overrule
|
|
the file name derived from the buffer's file name. As far as the
|
|
options are concerned, the global =#+OPTIONS= will still be read,
|
|
and only the options you give in the property will be
|
|
overwritten. For example:
|
|
|
|
#+begin_src org
|
|
,#+OPTIONS: skip:nil
|
|
,* Computer Tricks
|
|
, :PROPERTIES:
|
|
, :EXPORT_FILE_NAME: ct.html
|
|
, :EXPORT_TITLE: Steve's collected computer tricks
|
|
, :EXPORT_OPTIONS: h:2 toc:nil
|
|
, :END:
|
|
#+end_src
|
|
|
|
*** New way to define tags for an entire file.
|
|
|
|
Tags that are defined in a line like
|
|
: #+FILETAGS: work urgent
|
|
are inherited by all entries in the file.
|
|
|
|
Thanks to Manuel Hermenegildo for this proposal.
|
|
|
|
* Version 6.03
|
|
|
|
** Overview
|
|
|
|
- Description lists are now supported natively
|
|
- Block quotes for export
|
|
- Fontified code examples in HTML export
|
|
- Include files for export
|
|
- Text before the first headline is now exported by default
|
|
- In-buffer options may now be collected in an external file
|
|
- The in-buffer settings keywords may now be lower case
|
|
- Completion of structure elements
|
|
- Startup visibility can now be influenced by properties
|
|
- Clock task history, moving entries with the running clock
|
|
- BBDB anniversaries much faster
|
|
- New contrib files: org-eval.el and org-mtags.el
|
|
|
|
** Incompatible changes
|
|
|
|
- The text before the first headline is now exported by default
|
|
|
|
Previously, the default was to not include text in an org-mode
|
|
buffer before the first headline. From now on, the default it to
|
|
include it. If you like the old default better, customize the
|
|
variable =org-export-skip-text-before-1st-heading= or set the
|
|
value on a per-file basis with
|
|
|
|
#+begin_src org
|
|
#+OPTIONS: skip:t
|
|
#+end_src
|
|
|
|
** Details
|
|
|
|
*** Description lists are now supported natively
|
|
|
|
A plain list will be exported as a description list if the
|
|
first item in the list has a /term/ and the /description/,
|
|
separated by " :: ". For example
|
|
|
|
: Emacs software by Carsten Dominik
|
|
: - RefTeX :: Support for LaTeX Labels, References, Citations
|
|
: - CDLaTeX :: more LaTeX functionality for Emacs
|
|
: - TeXmathp :: checking LaTeX buffers for Math mode.
|
|
: - ORG :: An Emacs mode for notes and projet planning.
|
|
: - CONSTANTS :: An Emacs package for inserting the definition of
|
|
: natural constants and units into a buffer.
|
|
: - IDLWAVE :: The Emacs modes for editing and
|
|
: running IDL and WAVE CL files.
|
|
|
|
will be rendered as
|
|
|
|
Emacs software by Carsten Dominik
|
|
- RefTeX :: Support for LaTeX Labels, References, Citations
|
|
- CDLaTeX :: more LaTeX functionality for Emacs
|
|
- TeXmathp :: checking LaTeX buffers for Math mode.
|
|
- ORG :: An Emacs mode for notes and projet planning.
|
|
- CONSTANTS :: An Emacs package for inserting the definition of
|
|
natural constants and units into a buffer.
|
|
- IDLWAVE :: The Emacs modes for editing and
|
|
running IDL and WAVE CL files.
|
|
|
|
This works now in the HTML exporter, we still need to supoort
|
|
it with the LaTeX and ASCII exporters.
|
|
|
|
*** Block quotes for export
|
|
|
|
For quoting an entire paragraph as a citation, use
|
|
|
|
#+begin_src org
|
|
,#+BEGIN_QUOTE
|
|
Everything should be made as simple as possible,
|
|
but not any simpler -- Albert Einstein
|
|
,#+BEGIN_QUOTE
|
|
#+end_src
|
|
|
|
which will render as
|
|
|
|
#+BEGIN_QUOTE
|
|
Everything should be made as simple as possible,
|
|
but not any simpler -- Albert Einstein
|
|
#+BEGIN_QUOTE
|
|
|
|
*** Fontified code examples in HTML export
|
|
|
|
You can now get code examples fontified like they would be
|
|
fontified in an Emacs Buffer, and export the result to HTML.
|
|
To do so, wrap the code examples into the following
|
|
structure:
|
|
|
|
#+begin_src org
|
|
,#+BEGIN_SRC emacs-lisp
|
|
(defun org-xor (a b)
|
|
"Exclusive or."
|
|
(if a (not b) b))
|
|
,#+END_SRC
|
|
#+end_src
|
|
|
|
In the export, this will then look like this (if you are now
|
|
looking at the ASCII export and do not see anything
|
|
interesting, go and check out the HTML version at
|
|
http://orgmode.org/Changes.html).
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(defun org-xor (a b)
|
|
"Exclusive or."
|
|
(if a (not b) b))
|
|
#+END_SRC
|
|
|
|
The string after the =BEGIN_SRC= is the name of the major emacs
|
|
mode that should be used to fontify the code example, without the
|
|
"-mode" at the end of the mode name. For example, if you are
|
|
writing an Org tutorial with Org examples included, you would use
|
|
"org" as the language identifier - in fact, I have used just
|
|
that in the example above.
|
|
|
|
Currently this works only for HTML export, and requires the /htmlize.el/ package, version 1.34 or later. For other
|
|
backends, such structures are simply exported as EXAMPLE.
|
|
|
|
*** Include files for export
|
|
|
|
A line like
|
|
|
|
: #+INCLUDE "file" markup lang
|
|
|
|
will lead to the inclusion of the contents of FILE at the moment
|
|
of publishing. FILE should be surrounded by double quotes, this
|
|
is obligatory if it contains space characters. The parameters
|
|
MARKUP and LANG are optional. MARKUP can be "example", "quote",
|
|
or "src". If it is "src", LANG should be the name of the Emacs
|
|
mode to be used for fontifying the code. For example:
|
|
|
|
: Here is my /.emacs/ file:
|
|
: #+INCLUDE "~/.emacs" src emacs-lisp
|
|
|
|
*** The text before the first headline is now exported by default
|
|
|
|
Previously, the default was to not include text in an org-mode
|
|
buffer before the first headline. From now on, the default it to
|
|
include it. If you like the old default better, customize the
|
|
variable =org-export-skip-text-before-1st-heading= or set the
|
|
value on a per-file basis with
|
|
|
|
: #+OPTIONS: skip:t
|
|
|
|
|
|
*** In-buffer options may now be collected in an external file
|
|
|
|
If you would like to share the Org setup between a number of
|
|
files, you can now store in-buffer setup in a file and simply
|
|
point to that file from each file that should read it. If
|
|
you write in a buffer
|
|
|
|
: #+SETUPFILE: "path/to/setup.org"
|
|
|
|
then this file will be scanned for in-buffer options like =#+STARTUP=, =#+TITLE=, or =#+OPTIONS=.
|
|
|
|
*** The in-buffer settings keywords may now be upper or lower case
|
|
|
|
From now on, it makes no difference is you write =#+STARTUP= or =#+startup=, to make these lines less imposing. Similarly for all
|
|
other in-buffer keywords.
|
|
|
|
*** Completion of structure elements
|
|
As a new experimental feature, Org now supports completion of
|
|
structural elements like =#+BEGIN_EXAMPLE= in a special way.
|
|
It work by typing, for example "<e" and then pressing TAB, on
|
|
an otherwise empty line. "<e" will expand into a complete
|
|
EXAMPLE template, with the cursor positioned in the middle.
|
|
Currently supported templates are:
|
|
|
|
: <s #+begin_src
|
|
: <e #+begin_example
|
|
: <q #+begin_quote
|
|
: <v #+begin_verse
|
|
: <l #+begin_latex
|
|
: <L #+latex:
|
|
: <h #+begin_html
|
|
: <H #+html:
|
|
: <a #+begin_ascii
|
|
: <i #+include
|
|
|
|
This is an experimental feature, please comment! See also
|
|
below under /org-mtags.el/.
|
|
|
|
*** Startup visibility can now be influenced by properties
|
|
|
|
When Emacs opens an Org mode buffer, the outline visibility
|
|
is set to a startup value that is taken from the variable =org-startup-folded=, or from a =#+STARTUP= setting in the
|
|
buffer. After this has happened, the buffer will now also be
|
|
scanned for entries with a =VISIBILITY= property. Wherever
|
|
such a property is found, the corresponding subtree will get
|
|
its visibility adjusted. Allowed values for the property
|
|
are:
|
|
|
|
- folded :: Fold the subtree
|
|
- children :: Show the text after the headline, and the
|
|
headlines of all direct children
|
|
- content :: Show all headlines in the tree, but no text below any
|
|
headline
|
|
- all :: Show the entire subtree
|
|
|
|
For example, I am using this for the huge /Changes.org/ file that
|
|
is the source for the list of visible changes you are reading
|
|
right now. The top-most entry in this file always describes the
|
|
changes in my current working version. The start of this section
|
|
currently looks like this:
|
|
|
|
#+begin_src org
|
|
,* Version 6.03
|
|
, :PROPERTIES:
|
|
, :VISIBILITY: content
|
|
, :END:
|
|
,** Overview
|
|
#+end_src
|
|
|
|
This was a proposal by Ben Alexander.
|
|
|
|
The command =C-u C-u TAB= will switch back to the startup
|
|
visibility of the buffer.
|
|
|
|
*** Clock task history, and moving entries with the running clock
|
|
|
|
Org now remembers the last 5 tasks that you clocked into, to
|
|
make it easier to clock back into a task after interrupting
|
|
it for another task.
|
|
- =C-u C-u C-c C-x C-i= (or =C-u C-u I= from the agenda) will
|
|
clock into that task and mark it as current default task.
|
|
- =C-u C-c C-x C-i= (or =C-u I= from the agenda) will offer a
|
|
list of recently clocked tasks, including the default task,
|
|
for selection. =d= selects the default task, =i= selects
|
|
the task that was interrupted by the task that is currently
|
|
being clocked. =1=,... selects a recent task. When you
|
|
select a task, you will be clocked into it.
|
|
- You can use =C-u C-c C-x C-j= to jump to any of these
|
|
tasks.
|
|
|
|
When moving an entry using structure editing commands,
|
|
archiving commands, or the special subtree cut-and-paste
|
|
commands =C-c C-x C-w= and =C-c C-x C-y=, the running clock
|
|
marker and all clock history markers will be moved with the
|
|
subtree. Now you can start a clock in a remember buffer and
|
|
keep the clock running while filing the note away. See also
|
|
the variable `org-remember-clock-out-on-exit'.
|
|
|
|
*** BBDB anniversaries much faster =bbdb-anniversaries= is now much faster, thanks to a new
|
|
approach using a hash for birthdays. Thanks to Thomas
|
|
Baumann for a patch to this effect.
|
|
|
|
*** New files in the contrib directory
|
|
|
|
Do people think any of these should become core?
|
|
|
|
- org-eval.el :: This new module allows to include the result
|
|
of the evaluation of Lisp code (and other scripting
|
|
languages) into the buffer, similar to the =<lisp>= tag
|
|
of [[http://mwolson.org/static/doc/emacs-wiki.html#Lisp-Tricks][Emacs Wiki]] and [[http://mwolson.org/static/doc/muse/Embedded-Lisp.html#Embedded-Lisp][Muse]].
|
|
- org-mtags.el :: This new modules allows you to use
|
|
Muse-like tags for some structure definitions in Org.
|
|
For example, instead of
|
|
:#+BEGIN_EXAMPLE
|
|
:...
|
|
:#+END_EXAMPLE
|
|
you can write
|
|
:<example>
|
|
:...
|
|
:</example>
|
|
In fact, I myself find these easier to type and to look
|
|
at. Also, it will allow you to more easily move text
|
|
and files back and forth between Org and Muse. For a
|
|
list of supported structure elements, see the commentary
|
|
in the file [[http://repo.or.cz/w/org-mode.git?a=blob_plain;f=contrib/lisp/org-mtags.el;hb=HEAD][commentary in the file org-mtags.el]].
|
|
|
|
If you load this module and use the "<i" etc completion
|
|
described above, the Muse form will automatically be
|
|
inserted.
|
|
|
|
*** Bug fixes
|
|
Many bug fixes again. Will this ever stop?
|
|
|
|
* Version 6.02
|
|
|
|
** Overview
|
|
|
|
- Column view (mostly) works now in XEmacs
|
|
- Summaries for columns in the agenda
|
|
- The special property Effort can be used for effort estimates
|
|
- New operators for property searches
|
|
- Search commands can now include archive files.
|
|
- Clock tables can include the archive files
|
|
- Orgtbl radio tables generalized.
|
|
|
|
** Details
|
|
|
|
*** Column view works now in XEmacs
|
|
|
|
I had already given up on this, but Greg Chernev (who
|
|
implemented noutline.el for XEmacs and in this way kept Org
|
|
alive on XEmacs) has done it again and provided the patches
|
|
to make column view work under XEmacs. There are still some
|
|
problems, but the basics work and we will iron out the
|
|
remaining issues, hopefully soon.
|
|
|
|
*** Summaries for columns in the agenda
|
|
|
|
If any of the columns has a summary type defined, turning on
|
|
column view in the agenda will show summaries for these
|
|
columns. Org will first visit all relevant agenda files and
|
|
make sure that the computations of this property are up to
|
|
date. This is also true for the special =CLOCKSUM= property.
|
|
Org will then sum the values displayed in the agenda. In the
|
|
daily/weekly agenda, the sums will cover a single day, in all
|
|
other views they cover the entire block. It is vital to
|
|
realize that the agenda may show the same entry multiple
|
|
times (for example as scheduled and as a deadline), and it
|
|
may show two entries from the same hierarchy (for example a /parent/ and it's /child/). In these cases, the summation in
|
|
the agenda will lead to incorrect results because some values
|
|
will count double.
|
|
|
|
*** The special property Effort can be used for effort estimates
|
|
|
|
If you want to plan your work in a very detailed way, or if
|
|
you need to produce offers with quotations of the estimated
|
|
work effort, you may want to assign effort estimates to
|
|
entries. If you are also clocking your work, you may later
|
|
want to compare the planned effort with the actual working
|
|
time. Effort estimates can now be stored in a special
|
|
property =Effort=, displayed side-to-side with clock sums,
|
|
and also be summed over a day, in order to show the planned
|
|
work load of a day. See the manual for more details.
|
|
|
|
*** New operators for property searches
|
|
|
|
Property searches can now choose a number of different
|
|
operators for comparing values. These operators are `=',
|
|
`<>', `<', `<=', `>', and `>='.
|
|
|
|
When the search term uses the operator with plain number like
|
|
=+Effort>=2.7=, then the property value is converted to a
|
|
number and a numerical comparison takes place.
|
|
|
|
When the search term uses a string on the right hand side of
|
|
the operator, a string comparison is done: =+PRIORITY<"C".=
|
|
|
|
Finally, if the right hand side is enclosed in curly braces,
|
|
a regexp match is done: =aaa={regexp}=. In this case you
|
|
should use only the `=' or `<>' operators, meaning "does
|
|
match" or "does not match", respectively.
|
|
|
|
This was a triggered with a request by Dan Davison.
|
|
|
|
*** Search commands can now include archive files.
|
|
|
|
If the value of the customization variable =org-agenda-text-search-extra-files= contains the symbol =agenda-archives= as the first element in the list, all
|
|
archive files of all agenda files will be added to the list
|
|
of files to search. This is relevant for the search view =C-c a s=, as well as for the agenda files multi-occur
|
|
command =C-c a /=.
|
|
|
|
*** Clock tables can include the archive files
|
|
|
|
There are new values for the =:scope= parameter of a clock
|
|
table. This can now be =file-with-archives= and =agenda-with-archives=, in order to collect information not
|
|
only from the current file or all agenda files, but also from
|
|
all archive files that are currently used by these files.
|
|
|
|
*** Orgtbl radio tables generalized.
|
|
|
|
The options available for radio tables using orgtbl-mode have
|
|
been expanded. You may use several reception points and
|
|
formats for the same table, you may have special formatting
|
|
in the last line of the table, and many table parameters may
|
|
be functions, so that more general transformations are
|
|
possible. Jason Riedy provided a patch for this, and he will
|
|
hopefully come up with some examples. Thanks!
|
|
|
|
* Version 6.01
|
|
|
|
This is a new major release, mostly because of structural changes
|
|
in Org. However, since this took a while, there is also a long
|
|
list of small improvements and some new significant features.
|
|
|
|
** Overview
|
|
|
|
- The Org distribution has a new structure
|
|
- New system for selecting modules to load
|
|
- New archiving mechanism: The Archive Sibling
|
|
- Support for Sebastian Rose's JavaScript org-info.js.
|
|
- Internal links work now better in HTML export
|
|
- Export commands can be done in the background
|
|
- Flexible setting of the time block shown by the clock table
|
|
- Clock table can be included in the agenda
|
|
- Support for ISO week dates (ISO 6801)
|
|
- Tag inheritance can be limited to a subset of all tags
|
|
- Entries can be sorted by TODO keyword
|
|
- And some more small fixes and improvements
|
|
|
|
** Incompatible changes
|
|
|
|
*** The Org distribution has a new structure
|
|
|
|
In the distribution files as well as in the GIT repository,
|
|
the lisp files are now located in a subdirectory "lisp", and
|
|
the documentation files are located in a subdirectory "doc".
|
|
If you are running Org directly from the unpacked
|
|
distribution archive (zip or tar file, or GIT repository),
|
|
you need to modify your settings for load-path accordingly.
|
|
|
|
** Details
|
|
|
|
*** The Org distribution has a new structure
|
|
|
|
In the distribution files as well as in the GIT repository,
|
|
the lisp files are now located in a subdirectory "lisp", and
|
|
the documentation files are located in a subdirectory "doc".
|
|
If you are running Org directly from the unpacked
|
|
distribution archive (zip or tar file, or GIT repository),
|
|
you need to modify your settings for load-path accordingly.
|
|
|
|
*** Loading modules
|
|
|
|
Org-mode has now a system for loading modules by simply
|
|
configuring an option that lists all the modules you want to
|
|
use. Customize the variable `org-modules'. That variable
|
|
lists both modules that are part of the Org-mode core (and in
|
|
this way part of Emacs), and modules that are contributed
|
|
packages. Contributed modules will only be available when
|
|
you have installed them properly (most likely by downloading
|
|
the distribution and adding /path/to/orgdir/contrib/lisp to
|
|
your load path).
|
|
|
|
*** New archiving mechanism: The Archive Sibling
|
|
|
|
There is a new method to archive entries in the current file:
|
|
By moving it to a sibling called the /Archive Sibling/. That
|
|
sibling has the heading "Archive" and also carries the
|
|
ARCHIVE tag. This can be a great way to do archiving inside
|
|
a project, to get parts of the project out of the way and to
|
|
wait with true archiving (moving to another file) until the
|
|
entire project is done. Archiving to a sibling keeps much of
|
|
the context, for example inherited tags and approximate tree
|
|
position in tact.
|
|
|
|
The key binding for the is "C-c C-x A", and from the agenda
|
|
buffer you can simply use "A".
|
|
|
|
Thanks to Ilya Shlyakhter for this rather clever idea.
|
|
|
|
*** Support for Sebastian Rose's JavaScript org-info.js.
|
|
|
|
This fascinating program allows a completely new viewing
|
|
experience for web pages created from Org files. The same
|
|
document can be viewed in different ways, and switching
|
|
between the views as well as navigation uses single-key
|
|
commands.
|
|
|
|
One of the view types is an /Info-like/ interface where you
|
|
can jump through the sections of the document with the `n'
|
|
and `p' keys (and others). There is also a /folding/
|
|
interface where you can fold the document much like you can
|
|
fold it in org-mode in Emacs, and cycle through the
|
|
visibility both locally and globally.
|
|
|
|
To set this up, all you need to do is to make sure that
|
|
org-infojs.el gets loaded (customize the variable org-modules
|
|
to check). Then add this line to the buffer:
|
|
|
|
: #+INFOJS_OPT: view:info
|
|
|
|
In that line, you can configure the initial view and other
|
|
settings. Available views are =info= for the info-like
|
|
interface, and =overview=, =content=, and =showall= for the
|
|
folding interface. See the manual for more details. The
|
|
JavaScript program is served from
|
|
http://orgmode.org/org-info.js, and your exported HTML files
|
|
will automatically get it from there. However, you may want
|
|
to be independent of the existence and stability of
|
|
orgmode.org and install a copy locally. Then you need to
|
|
change the path from which the script is loaded, either by
|
|
using something like
|
|
|
|
: #+INFOJS_OPT: view:info path:../scripts/org-info.js
|
|
|
|
or by configuring the variable =org-infojs-options=.
|
|
|
|
For details see the documentation provided by Sebastian Rose
|
|
together with org-info.js.
|
|
|
|
*** Export improvements
|
|
|
|
- The export of internal links to HTML now works a lot
|
|
better. Most internal links that work while editing an Org
|
|
file inside Emacs will now also work the the corresponding
|
|
HTML file.
|
|
|
|
- You can run many of the export commands in the background
|
|
by using `C-c C-u C-c C-e' in order to start the process.
|
|
RIght now this will only work if "emacs" is the right
|
|
command to get to your Emacs executable - I hope to make
|
|
this less system dependent in the future.
|
|
|
|
Both these are based on requests by Ilya Shlyakhter.
|
|
|
|
*** Improvements to clocktable
|
|
|
|
- The clocktable is now much more flexible and user friendly
|
|
when trying to specify the time block that should be
|
|
considered when constructing the table.
|
|
|
|
The =:block= parameter to the table can now look like any
|
|
of these:
|
|
|
|
| :block | meaning |
|
|
|--------------+-----------------------|
|
|
| 2008 | The entire year 2008 |
|
|
| 2008-04 | The month April 2008 |
|
|
| 2008-04-02 | The day April 2, 2008 |
|
|
| 2008-W14 | ISO-Week 14 in 2008 |
|
|
| today | Today |
|
|
| today-5 | The day five days ago |
|
|
| thisweek | The current week |
|
|
| thisweek-2 | Two weeks ago |
|
|
| thismonth | The current month |
|
|
| thismonth-12 | Same month, last year |
|
|
| lastmonth | Same as thismonth-1 |
|
|
|
|
|
|
What is more, you can now use the =S-left= and =S-right=
|
|
keys to shift the time block around. The cursor needs to
|
|
be in the =#+BEGIN: clocktable= line for this to work. If
|
|
the current block is =today=, =S-left= with switch to
|
|
yesterday. If the current block is =2008-W14=, =S-right=
|
|
will switch to the following week.
|
|
|
|
- When the clocktable is collecting from several files, the
|
|
total time for each file will now also be listed. This was
|
|
a request from Bernt Hansen.
|
|
|
|
- If you turn on the new clock report mode with the "R" key in
|
|
the agenda, a clock table will be attached to the agenda,
|
|
showing the clock report for the file scope and time
|
|
interval of the agenda view. To turn this on permanently,
|
|
configure the variable =org-agenda-start-with-clock report-mode=. To modify the
|
|
properties of the table, in particular the =:maxlevel=
|
|
depth, configure =org-agenda-clockreport-parameter-plist=.
|
|
|
|
*** Support for ISO week dates (ISO 6801)
|
|
|
|
The agenda now shows the ISO week for the displayed dates, in
|
|
the form =W08= for week 8.
|
|
|
|
The keys =d=, =w=, =m=, and =y= in the agenda view now accept
|
|
prefix arguments. Remember that in the agenda, you can
|
|
directly type a prefix argument by typing a number, no need
|
|
to press =C-u= first. The prefix argument may be used to
|
|
jump directly to a specific day of the year, ISO week, month,
|
|
or year, respectively. For example, =32 d= jumps to February
|
|
1st, =9 w= to ISO week number 9. When setting day, week, or
|
|
month view, a year may be encoded in the prefix argument as
|
|
well. For example, =200712 w= will jump to week 12 in the
|
|
year 2007. If such a year specification has only one or two
|
|
digits, it will be mapped to the interval 1938-2037.
|
|
|
|
When entering a date at the date prompt, you may now also
|
|
specify an ISO week. For example
|
|
|
|
: w4 Monday of week 4
|
|
: fri w4 Friday of week 4
|
|
: w4-5 Same as above
|
|
: 2012 w4 fri Friday of week 4 in 2012.
|
|
: 2012-W04-5 Same as above
|
|
|
|
So far I have not implemented the effect of
|
|
`org-read-date-prefer-future' on this functionality, because
|
|
it seemed too magic for me. I'd appreciate comments on this
|
|
issue: Should `org-read-date-prefer-future' also push dates
|
|
into the next year if the week you are entering has already
|
|
passed in the current year? For consistency I guess this
|
|
should be the case, but I cannot quite wrap my head around
|
|
it.
|
|
|
|
I hope but am not entirely convinced that this will behave
|
|
sanely also during the first/last week of a year. Please
|
|
test extensively and report back.
|
|
|
|
This was a request by Thomas Baumann.
|
|
|
|
*** Improvements in Search View
|
|
|
|
- Calling search view with a C-u prefix will make it match
|
|
only in TODO entries.
|
|
|
|
- The single quote is no longer considered a word character
|
|
during search, so that searching for the word "Nasim" will
|
|
also match in "Nasim's".
|
|
|
|
|
|
*** Misc
|
|
|
|
- Inheritance of tags can now be limited to a subset of all
|
|
tags, using the variable =org-use-tag-inheritance=. This
|
|
variable may now be a regular expression or a list to
|
|
select the inherited tags. Thanks to Michael Ekstrand for
|
|
this excellent proposal.
|
|
|
|
The regexp option is also implemented for =org-use-property-inheritance=, so that you can now select
|
|
properties for inheritance my name.
|
|
|
|
- The INHERIT flag to the function =org-entry-get= can be set
|
|
to the symbol =selective=. If this is the case, then the
|
|
value of the property will be retrieved using inheritance
|
|
if and only if the setting in =org-use-property-inheritance= selects the property for
|
|
inheritance.
|
|
|
|
- There are now special faces for the date lines in the
|
|
agenda/timeline buffers, and another special face for days
|
|
that fall on a weekend: =org-agenda-date= and =org-agenda-date-weekend=. Both these faces are initially
|
|
similar to the =org-agenda-structure= face, but you can
|
|
customize them freely.
|
|
|
|
- When an entry already has a scheduling or deadline time
|
|
stamp, calling `C-c C-s' or `C-c C-d', respectively, will
|
|
now use that old date as the default, and you can can use
|
|
the "++4d" syntax to invoke shifts relative to that default
|
|
date. Simply pressing RET at the prompt will keep the
|
|
default date, not switch to today.
|
|
|
|
This was an omission in the earlier implementation, spotted
|
|
by Wanrong Lin. Thanks!
|
|
|
|
- File names in remember templates can be relative, if they
|
|
are, they will be interpreted relative to =org-directory=.
|
|
|
|
- The handling of the clipboard when inserting into remember
|
|
templates is now much better, and gives more control on what
|
|
should be inserted with new %-escapes:
|
|
|
|
- =%c= - Now always insert the head of the kill ring, never
|
|
the X clipboard.
|
|
|
|
- =%x= - Insert the content of the X clipboard. This is the
|
|
first non-empty value from the PRIMARY, SECONDARY and
|
|
CLIPBOARD X clipboards.
|
|
|
|
- =%^C= - This allows the user to choose between any of the
|
|
clipboard values available, the kill ring head, and the
|
|
initial region if set.
|
|
|
|
- =%^L= - Like =%^C=, but this inserts an org link using the
|
|
selected value.
|
|
|
|
Thanks to James TD Smith for this patch.
|
|
|
|
- Table export to an internal file can now use a format
|
|
specification, similar to the formats that are used by
|
|
orgtbl radio tables. The default format is in the variable =org-table-export-default-format=. You can use properties =TABLE_EXPORT_FILE= and =TABLE_EXPORT_FORMAT= to specify the
|
|
file name to which the export should go, and a local
|
|
format. For example:
|
|
|
|
: :PROPERTIES:
|
|
: :TABLE_EXPORT_FILE: ~/xx.txt
|
|
: :TABLE_EXPORT_FORMAT: orgtbl-to-generic :splice t :sep "\t"
|
|
: :END:
|
|
|
|
Thanks to James TD Smith for this patch.
|
|
|
|
- Entries can be sorted by TODO keyword, and the order is given
|
|
by the definition sequence of the TODO keywords in the
|
|
variable =org-todo-keywords=, or in the =#+TODO= line. Use
|
|
the "o" key when sorting with =C-c ^=.
|
|
|
|
Thanks to James TD Smith for this patch.
|
|
|
|
|
|
* Version 5.23
|
|
|
|
** Overview
|
|
|
|
- New keyword search agenda view
|
|
|
|
- Many new extensions available in the CONTRIB directory
|
|
|
|
- New remember template option: pre-selection contexts
|
|
|
|
- Modifying list/headline status of a line
|
|
|
|
- Granularity while editing time stamps
|
|
|
|
- New repeaters mechanisms
|
|
|
|
- New parameters for dynamic blocks ad the clock table
|
|
|
|
- Limiting iCalendar export to fewer entries
|
|
|
|
- =M-RET= splits lines again
|
|
|
|
- New hooks
|
|
|
|
** Incompatible changes
|
|
|
|
- The variable `org-time-stamp-rounding-minutes' is now a list
|
|
of two values - if you have configured this variable before,
|
|
please do it again.
|
|
|
|
** Details
|
|
|
|
*** New keyword search agenda view
|
|
|
|
`C-c a s' now invokes a special agenda view that can be used
|
|
to search notes by keyword and regular expressions. In
|
|
particular, it does not require a single regular expression
|
|
or string to search for, but it can search for a number
|
|
keywords or regexps that can occur in arbitrary sequence in
|
|
the entry. The search knows the boundaries of an entry, can
|
|
use simple Boolean logic and is reasonably fast. For
|
|
example, the search string
|
|
|
|
: +computer +wifi -ethernet -{8\.11[bg]}
|
|
|
|
will search for note entries that contain the keywords
|
|
=computer= and =wifi=, but not the keyword =ethernet=, and
|
|
which are also not matched by the regular expression
|
|
"8\.11[bg]", meaning to exclude both 8.11b and 8.11g. If the
|
|
first character of the search string is an asterisk, the
|
|
search will only look at headlines - otherwise it will look
|
|
at the headine and the text below it, up to the next
|
|
(possibly sub-) heading.
|
|
|
|
The command searches all agenda files, and in addition the
|
|
files listed in =org-agenda-text-search-extra-files=.
|
|
|
|
I find it very useful to define a custom command to do such
|
|
a search only in a limited number of files (my notes files),
|
|
like this:
|
|
|
|
: ("N" "Search notes" search ""
|
|
: ((org-agenda-files '("~/org/notes.org" "~/org/computer.org"))
|
|
: (org-agenda-text-search-extra-files nil)))
|
|
|
|
*** Many new extensions available in the CONTRIB directory
|
|
|
|
- Phil Jackson's /org-irc.el/ is now part of the Org-mode
|
|
core, which means it will become part of Emacs soon.
|
|
|
|
- The new development model already starts to pay off, a
|
|
number of interesting extensions are now part of the
|
|
distribution. Check the file CONTRIB/README for a list.
|
|
|
|
- There is a new variable `org-default-extensions'.
|
|
Configuring this variable makes it *very* easy to load
|
|
these default extensions - eventually this will be expanded
|
|
to cover contributed extensions as well.
|
|
|
|
*** New remember template option: pre-selection contexts
|
|
|
|
- Remember template definitions now allow six elements. The
|
|
last element defines the contexts in which the template
|
|
should be offered. It can be a list of major modes, a
|
|
function, =t= or =nil=. If it is a list of major-mode, the
|
|
template will be available only when =org-remember= is
|
|
called from a buffer in one of these modes. If it is a
|
|
function, the template will be offered only if the function
|
|
returns `t' when called in the current buffer. A value of
|
|
=t= or =nil= for this element means select this template in
|
|
any context.
|
|
|
|
One possible application for this would be to have several
|
|
templates all using the same selection letter, and choosing
|
|
the right one based on context. For example, think of
|
|
tasks describing a bug in a source code file. With the
|
|
following configuration we make sure that the bug reports
|
|
are filed into the appropriate sections of the target file.
|
|
|
|
: (setq org-remember-templates
|
|
: '(("Elisp" ?b "* %a\n\n%i%?" "~/bugs.org" "Elisp bugs" (emacs-lisp-mode))
|
|
: ("C Bugs" ?b "* %a\n\n%i%?" "~/bugs.org" "C bugs" (cc-mode))))
|
|
|
|
See (info "(org)Remember templates") for details.
|
|
|
|
*** Modifying list/headline status of a line
|
|
|
|
- `C-c -' has now more functions:
|
|
+ In a table, add a hline as before + In an item list, cycle bullet type as before
|
|
+ In a normal line, turn it into an item + In a headline, turn it into an item
|
|
+ If there is an active region, turn each line into an item.
|
|
But if the first region line is already an item, remove
|
|
item markers from all lines.
|
|
|
|
Based on proposals by Bastien.
|
|
|
|
- `C-c *' has now more functions + in a table, recompute, as before
|
|
+ in a normal line, convert it to a sub heading. + at an item, convert it into a subheading
|
|
+ if there is an active region, convert all lines in the
|
|
region to headlines. However, if the first lie already is
|
|
a heading, remove the stars from all lines int he region.
|
|
|
|
Based on proposals by Bastien.
|
|
|
|
*** Changes related to time stamps
|
|
|
|
- The value variable =org-time-stamp-rounding-minutes= is now
|
|
a list of two values. The first applies when creating a new
|
|
time stamp. The second applies when modifying a timestamp
|
|
with S-up/down. The default for this new task is 5 minutes,
|
|
but 15 may also be a very good value for many people. If
|
|
S-up/down is used on a time stamp where the minute part is
|
|
not compatible with this granularity it will be made so.
|
|
You can bypass this by using a prefix argument to exactly
|
|
specify the number of minutes to shift.
|
|
|
|
This was a proposal by Adam Spiers.
|
|
|
|
- New repeaters that shift a date relative to today, or that
|
|
make sure that the next date is in the future. For example:
|
|
|
|
:** TODO Call Father
|
|
: DEADLINE: <2008-02-10 Sun ++1w>
|
|
: Marking this DONE will shift the date by at least one week,
|
|
: but also by as many weeks as it takes to get this date into
|
|
: the future. However, it stays on a Sunday, even if you called
|
|
: and marked it done on Saturday.
|
|
:** TODO Check the batteries in the smoke detectors
|
|
: DEADLINE: <2005-11-01 Tue .+1m>
|
|
: Marking this DONE will shift the date to one month after
|
|
: today.
|
|
|
|
Proposed by Wanrong Lin and Rainer Stengle.
|
|
|
|
*** New parameters for dynamic blocks ad the clock table
|
|
|
|
- There is a new =:link= parameter for the clocktable. When
|
|
set, the headlines listed in the table will be links to the
|
|
original headlines.
|
|
|
|
- There is a new =:content= parameter that is passed to the
|
|
writer function of the dynamic block. Use this parameter
|
|
to pass the previous content of the block to the writer
|
|
function, in case you want to make the outcome dependent on
|
|
the previous content.
|
|
|
|
*** Limiting iCalendar export to fewer entries
|
|
|
|
- New way to limit iCalendar export to the entries captured in
|
|
an agenda view. This is done by "writing" the agenda view
|
|
using `C-x C-w' to a file with extension .ics.
|
|
|
|
This was a request by Kyle Sexton.
|
|
|
|
*** Misc
|
|
|
|
- Due to a popular revolt shortly after the 5.22 release,
|
|
=M-RET= can again be used to split a line so that the rest
|
|
of the line becomes the new heading. However, if you do
|
|
this in a heading containing tags, the tags will stay in the
|
|
old line.
|
|
|
|
Customize the variable =org-M-RET-may-split-line= if you
|
|
don't want this command to split a line in the middle. The
|
|
same variable also influences line splitting in items and in
|
|
tables.
|
|
|
|
- There are three new hooks:
|
|
|
|
=org-follow-link-hook=: runs after following a link
|
|
=org-publish-before-export-hook=: runs before export
|
|
=org-publish-after-export-hook=: runs after export
|
|
|
|
* Version 5.22
|
|
|
|
** Incompatible changes
|
|
|
|
- The variable `org-log-done' is now less complex.
|
|
- The in-buffer settings for logging have changed. Some
|
|
options no longer exists, some new ones have been added.
|
|
|
|
** Details
|
|
|
|
*** Changes to logging progress
|
|
|
|
There is now more control over which state changes are being
|
|
logged in what way. Please read carefully the corresponding
|
|
sections in the manual. Basically:
|
|
|
|
- The variable `org-log-done' has been simplified, it no
|
|
longer influences logging state changes and clocking out.
|
|
- There is a new variable for triggering note-taking when
|
|
clocking out an item: `org-log-note-clock-out'.
|
|
- Logging of state changes now has to be configured on a
|
|
pre-keyword basis, either in `org-todo-keywords' or in the
|
|
#+TODO in-buffer setting.
|
|
- These per-keyword settings allow more control. For example
|
|
|
|
: WAIT(w@) Record a note when entering this state.
|
|
: WAIT(w!) Record a timestamp when entering this state.
|
|
: WAIT(w@/!) Recore a note when entering and timestamp
|
|
: when leaving this state. This is great for
|
|
: getting a record when switching *back* from
|
|
: WAIT to TODO.
|
|
: WAIT(/!) Record a timestamp when leaving this state.
|
|
: Here we not even define a fast access
|
|
: character, but just the logging stuff.
|
|
|
|
This was triggered by requests from Wanrong Lin and Bernt Hansen.
|
|
|
|
*** Other
|
|
|
|
- M-RET no longer brakes a line in the middle, it will make a
|
|
new line after the current or (if cursor is at the beginning
|
|
of the line) before the current line.
|
|
|
|
- RET, when executed in a headline after the main text and
|
|
before the tags will leave the tags in the current line and
|
|
create a new line below the current one.
|
|
|
|
* Version 5.21
|
|
|
|
Bug fixes, in particular the long-hunted bug about wrong window
|
|
positions after pressing SPACE in the agenda. Hopefully this
|
|
is really fixed.
|
|
|
|
* Version 5.20
|
|
|
|
** Overview
|
|
|
|
*** Remember/Refile/Goto
|
|
|
|
- The use of prefix arguments for the commands `org-remember'
|
|
and `org-refile' has been normalized.
|
|
|
|
- The clock can now safely be used in a remember buffer.
|
|
|
|
- The variable `org-remember-use-refile-when-interactive'
|
|
introduced only in 5.19 is already obsolete. Please use
|
|
`org-remember-interactive-interface' instead.
|
|
|
|
- It is no longer necessary to update the refiling targets.
|
|
|
|
- Automatic isearch in `org-goto'.
|
|
|
|
- Outline-path-completion as alternative org-goto interface.
|
|
|
|
*** Misc
|
|
|
|
- Checkboxes now work hierarchically.
|
|
|
|
- `C-k' can now behave specially in headlines.
|
|
|
|
- Repeater for tasks in plain timestamps.
|
|
|
|
- All clock intervals of an item show in agenda/timeline.
|
|
|
|
- New parameter =:step= for clocktable, to get daily reports.
|
|
|
|
- Never loose a repeaded scheduled item from the agenda.
|
|
|
|
- Archiving a subtree now stores the outline path in a property.
|
|
|
|
- Links to messages in Apple Mail.
|
|
|
|
- Bug fixes.
|
|
|
|
** Incompatible Changes
|
|
|
|
- The variable `org-remember-use-refile-when-interactive'
|
|
introduced only in 5.19 is already obsolete. Please use
|
|
`org-remember-interactive-interface' instead.
|
|
|
|
** Details
|
|
|
|
*** Remember/Refile/Goto
|
|
|
|
- The use of prefix arguments for the commands `org-remember'
|
|
and `org-refile' has been normalized: + when called without prefix argument, the command does its
|
|
normal job, starting a remember note or refiling a tree.
|
|
|
|
+ when called with a single C-u prefix, these commands can be
|
|
used to select a target location and to jump there. In
|
|
the case of `org-remember', you will be prompted for a
|
|
template and then Emacs jumps to the default target
|
|
location or this template. In the case of `org-refile',
|
|
you select a location from the refile target list and jump
|
|
there. + when called with two prefixes (`C-u C-u'), the command
|
|
jumps to the location last used for storing a note or a
|
|
moved tree.
|
|
|
|
- When the clock is running inside an remember buffer, storing
|
|
the remember buffer with `C-c C-c' will automatically clock
|
|
out. This was inspired by a request by Rainer Stengle.
|
|
|
|
- The variable `org-remember-use-refile-when-interactive'
|
|
introduced only in 5.19 is already obsolete. Please use
|
|
`org-remember-interactive-interface' instead. This new
|
|
variable does select the interface that is used to select
|
|
the target for a remember note in an interactive way.
|
|
Possible values are:
|
|
|
|
+ `outline': Use an outline of the document to select a
|
|
location. + `outline-path-completion': Use completion of an outline
|
|
path to select a location.
|
|
+ `refile': Offer the `org-refile-targets' as possible
|
|
targets.
|
|
|
|
- It is no longer necessary to update the refiling targets -
|
|
they are always current.
|
|
|
|
- In `org-goto', typing characters now automatically starts
|
|
isearch from the beginning of the buffer. The isearch is
|
|
special also because it only matches in headline. This
|
|
goes some way toward saving org-goto from being removed
|
|
from Org-mode. Thanks to Piotr Zielinski for the code, and
|
|
sorry that it took me so long to put it in. If you prefer
|
|
to use single letters n,p,f,b,u,q for navigation as before,
|
|
configure the variable `org-goto-auto-isearch'.
|
|
|
|
- Outline-path-completion is now available as an alternative
|
|
interface in the command `org-goto'. Please select the
|
|
default interface you'd like to use with the new variable
|
|
`org-goto-interface'. You can then select the alternative
|
|
interface with a prefix argument to `C-c C-j' (org-goto). I
|
|
am considering to make outline-path-completion the default
|
|
interface. Comments?
|
|
|
|
|
|
*** Misc
|
|
|
|
- Checkboxes now work hierarchically. When a plain-list item
|
|
with a checkbox has children with checkboxes, the status of
|
|
the item's checkbox is calculated from the children, each
|
|
time a checkbox is toggled with C-c C-c. Thanks to Miguel
|
|
A. Figueroa-Villanueva for a patch to this effect.
|
|
|
|
- There is a new variable `org-special-ctrl-k'. When set,
|
|
`C-k' will behave specially in headlines: + When the cursor is at the beginning of a headline, kill
|
|
the entire line and possible the folded subtree below the
|
|
line.
|
|
+ When in the middle of the headline text, kill the
|
|
headline up to the tags.
|
|
+ When after the headline text, kill the tags.
|
|
|
|
This is following a proposal by Piotr Zielinski.
|
|
|
|
- You can now also have a plain (as opposed to deadline or
|
|
scheduled) repeater timestamp in a task. Switching the task
|
|
to DONE will now also shift a plain time stamp. This was a
|
|
request by Austin Frank.
|
|
|
|
- If an entry is clocked multiple times, it will now show up
|
|
several times in the agenda and timeline buffers, when
|
|
log-mode is on. This was a proposal by Jurgen Defurne.
|
|
|
|
- The clock table accepts a new parameter =:step=. This
|
|
parameter can be `day' or `week' and will result in separate
|
|
tables for each day or week in the requested time interval.
|
|
This was triggered by a proposal by Sacha Chua in her [[http://sachachua.com/wp/2007/12/30/clocking-time-with-emacs-org/][blog]].
|
|
|
|
- A time-stamp with a repeater now no longer refers to the
|
|
date *closest* to the current day. Instead, it means either
|
|
today or the most recent match. This change makes sure that
|
|
overdue scheduled or deadline items never disappear from the
|
|
agenda. With the previous convention, an overdue scheduled
|
|
item would disappear. For example, a weekly item scheduled
|
|
for Sunday would appear as overdue until Wednesday, and the
|
|
suddenly disappear until next Sunday. Now the item will
|
|
show up as "Sched 7x" on Saturday. From Sunday on it will
|
|
be in the list as "Scheduled", i.e. old sins will be
|
|
forgiven. This follows a request by Warong, Dennis and
|
|
Bernt.
|
|
|
|
- Archiving a subtree now creates an additional property, =ARCHIVE_OLPATH=. This property contains the "path" in the
|
|
outline tree to the archived entry, as it was in the
|
|
original file. For example, archiving =Fix the door= in the
|
|
following hierarchy
|
|
|
|
: * Tasks
|
|
: ** HOME
|
|
: *** Garage
|
|
: **** Fix the door
|
|
|
|
will file is with the following property
|
|
|
|
: :ARCHIVE_PATH: Task/HOME/Garage
|
|
|
|
Note that you can configure (i.e. limit) the information
|
|
that gets stored upon archiving with the variable
|
|
`org-archive-save-context-info'.
|
|
|
|
- New file `org-mac-message.el' by John Wiegley to create
|
|
links for messages in Apple Mail, and to follow these
|
|
links.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.19
|
|
|
|
** Overview
|
|
|
|
- Column view can list the clocked times of a subtree.
|
|
|
|
- Storing remember notes can use the `org-refile' interface.
|
|
|
|
- Storing remember notes no longer produced empty lines.
|
|
|
|
- Moving subtrees now folds all siblings of the subtree.
|
|
|
|
- New variable `org-agenda-todo-keyword-format'.
|
|
|
|
- Hack to allow brackets in link descriptions.
|
|
|
|
- Clocking into an entry can enforce a specific TODO state.
|
|
|
|
- EXPORT_FILE_NAME may be an absolute file name with "~".
|
|
|
|
- Bug fixes, lots of them.
|
|
|
|
** Details
|
|
|
|
- A new special column definition lists the sum of all CLOCK
|
|
entries in a subtree. For example
|
|
|
|
: #+COLUMNS: %20ITEM %10Time_Estimate{:} %CLOCKSUM
|
|
|
|
will allow you to compare estimated times (as given in the
|
|
Time_Estimate property) with the clocked times. This was a
|
|
request by Bernt Hansen.
|
|
|
|
- Storing remember notes can now use the `org-refile'
|
|
interface instead of the `org-goto' interface (see the
|
|
variable `org-remember-use-refile-when-interactive').
|
|
Nothing will change if the note is stored immediately after
|
|
pressing `C-c C-c' in the =*Remember*= buffer. But if you
|
|
have chosen (e.g. by pressing `C-u C-c C-c') to
|
|
interactively select the filing location (file and
|
|
headline), the refile interface will be used instead. I am
|
|
excited about this change, because the `org-goto' interface
|
|
is basically a failure, at least for this application. Note
|
|
that in any case the refile interface has to be configured
|
|
first by customizing `org-refile-targets'.
|
|
|
|
- Notes inserted with remember now remove any whitespace
|
|
before and after the note before being pasted, so that there
|
|
will be no empty lines inserted together with the note. We
|
|
could invent special syntax in remember templates to allow
|
|
creating empty lines before a note - is there anyone who'd
|
|
want this?
|
|
|
|
- Moving subtrees now folds all siblings of the subtree. This
|
|
is the only reasonably simple way I could find to avoid the
|
|
reported inconsistencies in the folding state of the outline
|
|
tree after moving entries. There are reasons to like this
|
|
new behavior, because it easily visualizes where the tree is
|
|
located after the move. Still, not everyone might be happy
|
|
with this. Massive complaining would be needed to make me
|
|
fix this.
|
|
|
|
- New variable `org-agenda-todo-keyword-format' to specify the
|
|
width of the TODO keyword field in the agenda display. Use
|
|
it to get things to line up better. This was a proposal by
|
|
Rainer Stengele.
|
|
|
|
- If a link description inserted with `C-c C-l' contains
|
|
brackets, the brackets will now be converted into curly
|
|
braces. This looks similar enough. Supporting brackets in
|
|
link descriptions is, for technical reasons too long to
|
|
explain here, complex.
|
|
|
|
- The new option `org-clock-in-switch-to-state' can be set to
|
|
a TODO state that will be enforced when the clock is started
|
|
on an entry. This follows an idea by Sacha Chua.
|
|
|
|
- The EXPORT_FILE_NAME property may now also be an absolute
|
|
file name, and it may contain abbreviations like "~" for the
|
|
users home directory. This was requested by Adam Spiers.
|
|
|
|
- Bug fixes, lots of them.
|
|
|
|
* Version 5.18
|
|
|
|
Minor fixes.
|
|
|
|
* Version 5.17
|
|
|
|
** Details
|
|
|
|
*** Whitespace
|
|
|
|
- When cutting, pasting, or moving subtrees and items, the
|
|
empty lines *before* the subtree/item now belong to the
|
|
part and will be moved with it. There is one exception to
|
|
this rule: If the first child is moved down (or,
|
|
equivalently, the second is moved up), the amount of empty
|
|
lines *above* the first child to be moved along with it is
|
|
limited by the number of empty lines *below* it. This
|
|
sounds complicated, but it allows to have extra empty space
|
|
before the first child and still have good behavior of the
|
|
subtree motion commands.
|
|
|
|
- Plain lists items work the same.
|
|
|
|
I believe we have finally nailed this one. Thanks to Daniel
|
|
Pittman for bring this up again and to Eric Schulte for
|
|
pointing out that it is the empty lines *before* an entry
|
|
that really count.
|
|
|
|
This change was non-trivial, please give it a good test and
|
|
let me know about any problems.
|
|
|
|
*** Remember
|
|
|
|
- The new command `org-remember-goto-last-stored' will jump
|
|
to the location of the remember note stored most recently.
|
|
If you have `org-remember' on a key like `C-c r', then you
|
|
can go to the location with a double prefix arg: `C-u C-u
|
|
C-c r'. This was a proposal by Rainer Stengele.
|
|
|
|
- Template items that are being prompted for can now specify
|
|
a default value and a completion table. Furthermore,
|
|
previous inputs at a specific prompt are captured in a
|
|
history variable. For example:
|
|
|
|
: %^{Author|Roald Dahl|Thomas Mann|Larry Niven}
|
|
|
|
will prompt for an author name. Pressing RET without
|
|
typing anything will select "Roald Dahl". Completion will
|
|
give you any of the three names. And a history will be
|
|
kept, so you can use the arrow keys to get to previous
|
|
input. The history is tied to the prompt. By using the
|
|
same prompt in different templates, you can build a history
|
|
across templates. The ideas for this came from proposals
|
|
by Bastien and Adam.
|
|
|
|
- When a remember template contains the string `%!', the note
|
|
will be stored immediately after all template parts have
|
|
been filled in, so you don't even have to press `C-c
|
|
C-c'. The was a proposal by Adam Spiers.
|
|
|
|
*** Refile
|
|
|
|
- `org-refile-targets' has a new parameter to specify a
|
|
maximum level for target selection. Thanks to Wanrong Lin
|
|
for this proposal.
|
|
|
|
- When the new option `org-refile-use-outline-path' is set,
|
|
refile targets will be presented like a file path to the
|
|
completion interface: "level 1/level 2/level 3". This
|
|
may be the fastest interface yet to get to a certain
|
|
outline entry. Do we need to use this interface in other
|
|
places? Thanks to Jose Ruiz for this proposal.
|
|
|
|
* Version 5.16
|
|
|
|
** Details
|
|
|
|
*** Restriction lock on agenda scope
|
|
|
|
You can now permanently lock the agenda construction to a
|
|
certain scope, like a file or a subtree. So instead of
|
|
pressing "<" for each command in the agenda dispatcher, you
|
|
only once select a restriction scope. All subsequent agenda
|
|
commands will than respect this restriction. For example,
|
|
you can use this at work, to limit agendas to your work file
|
|
or tree, and at home to limit to the home file or tree. Or
|
|
you can use it during the day in order to focus in on certain
|
|
projects.
|
|
|
|
You select a scope with the command `C-c C-x <', which
|
|
restricts to the current subtree. When called with a `C-u'
|
|
prefix, the restriction is to the current file. You can also
|
|
make restrictions from the speedbar frame, see below.
|
|
|
|
When making a new restriction and an agenda window is
|
|
currently visible, it will immediately be updated to reflect
|
|
the new scope. If you like you can display an agenda view
|
|
and then watch it change in various scopes.
|
|
|
|
To get rid of the restriction, use the command "C-c C-x >".
|
|
Or press ">" in the agenda dispatcher. Also, and use of "<"
|
|
in the dispatcher will disable the restriction lock and
|
|
select a new restriction.
|
|
|
|
Thanks to Rick Moynihan for triggering this development.
|
|
|
|
*** Imenu and Speedbar support
|
|
|
|
- Org-mode now supports Imenu. For example, with the setting
|
|
|
|
: (add-hook 'org-mode-hook
|
|
: (lambda () 'imenu-add-to-menubar "Imenu"))
|
|
|
|
a menu will be created in each Org-mode buffer that
|
|
provides access to all level 1 and level 2 headings. The
|
|
depth of the menu can be set with the variable
|
|
`org-imenu-depth'.
|
|
|
|
- org-mode now supports Speedbar. This means that you can
|
|
drill into the first and second level headlines of an
|
|
Org-mode file right from the speedbar frame.
|
|
|
|
- You can set a restriction lock for the Org-mode agenda to a
|
|
file or a subtree directly from the speedbar frame. Just
|
|
press "<" with the cursor on an Org-mode file or subtree to
|
|
set the lock and immediately update the agenda if it is
|
|
visible. Use ">" to get rid of the lock again.
|
|
|
|
* Version 5.15
|
|
|
|
** Details
|
|
|
|
- There are new special properties TIMESTAMP and TIMESTAMP_IA.
|
|
These can be used to access the first keyword-less active
|
|
and inactive timestamp in an entry, respectively.
|
|
|
|
- New variable `org-clock-heading-function'. It can be set to
|
|
a function that creates the string shown in the mode line
|
|
when a clock is running. Thanks to Tom Weissmann for this
|
|
idea.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.14
|
|
|
|
** Overview
|
|
|
|
+ Remember and related stuff
|
|
- New command `org-refile' to quickly move a note.
|
|
- Easy way to jump to the target location of remember template.
|
|
- New %-escapes in remember templates: %c %(...) and %[...]
|
|
- `org-remember-insinuate' simplifies remember setup + Emphasis and Font-lock stuff
|
|
- Stacked emphasis is no longer allowed.
|
|
- You may finally emphasize a single character like ~*a*~.
|
|
- Font-lock now can hide the emphasis markers
|
|
- Text in the "=" emphasis is exported verbatim
|
|
- There is a new emphasis marker "~" for verbatim text
|
|
- Constructs treated specially by the exporters can be highlighted
|
|
|
|
+ Properties and Column view
|
|
- More control over which properties use inheritance
|
|
- CATEGORY="work" can now be used in a tags/property search
|
|
- the {+} summary type can specify a printf-style output format
|
|
- New currency summary type {$} + The date/time prompt
|
|
- While entering data, watch live the current interpretation.
|
|
- The date prompt now prefers to select the future
|
|
- Easier modification of time in an existing time stamp.
|
|
|
|
+ Export
|
|
- You can now export some special strings in HTML, like "..."
|
|
- #+EMAIL: may contain several email addresses + Agenda
|
|
- In the agenda, a few keys have changed: `g', `G', and `e'.
|
|
|
|
+ Miscellaneous
|
|
- Class-dependent sectioning structures in LaTeX export.
|
|
- Radio-lists modeled after the radio tables.
|
|
- The default for `org-ellipsis' is back to nil
|
|
- Support for pabbrev-mode
|
|
- New variable `org-show-entry-below'.
|
|
|
|
** Incompatible changes
|
|
|
|
- If you have customized the variable `org-emphasis-alist' or
|
|
org-export-emphasis-alist', you need to do it again by first
|
|
canceling your customization and then adding it again.
|
|
|
|
- I know that some people have defined their own private helper
|
|
functions to select a specific remember template, without being
|
|
prompted, like this:
|
|
|
|
: (defun my-remember-template-n ()
|
|
: (interactive)
|
|
: (org-remember ?n))
|
|
|
|
You need to modify this. The character selecting the template
|
|
must now be the /second/ argument to `org-remember':
|
|
|
|
: (defun my-remember-template-n ()
|
|
: (interactive)
|
|
: (org-remember nil ?n))
|
|
|
|
- `C-c C-w' now refiles an entry. To get a sparse tree of
|
|
deadlines, use `C-c / d' instead.
|
|
|
|
** Details
|
|
|
|
*** Remember and related stuff
|
|
|
|
- New command `org-refile' to quickly move a note to a
|
|
different place. It is bound to `C-c C-w'. The foremost
|
|
application might be to put a note or task captured with
|
|
`remember' into the proper list or project. The command
|
|
offers a list of possible refiling targets for completion.
|
|
These are headings under which the entry will be inserted
|
|
as a subitem. By default, this will offer all top-level
|
|
headings in the current buffer, but you can configure the
|
|
variable `org-refile-targets' to get more complex
|
|
definitions. For example:
|
|
|
|
: (setq org-refile-targets '((nil . (:level . 2))))
|
|
|
|
selects all level 2 headlines in the current buffer as
|
|
targets. And
|
|
|
|
: (setq org-refile-targets
|
|
: '((org-agenda-files . (:tag . "refile"))))
|
|
|
|
searches all agenda files and selects headlines that are
|
|
explicitly marked with the tag :refile: . Note that the
|
|
list of targets is built upon first use only, to rebuilt
|
|
it, call the command `C-c C-w' with a double prefix
|
|
argument.
|
|
|
|
This is based on an idea and example implementation by Max
|
|
Mikhanosha. Many thanks Max.
|
|
|
|
- You can now use a C-u prefix on `org-remember' to jump to
|
|
the location where a specific templates stores its notes.
|
|
For example, if you have `org-remember' bound to `C-c r',
|
|
then `C-u C-c r n' will get you to the file and headline
|
|
given in the template associated with the letter "n".
|
|
|
|
This was proposed by someone, but I have lost track who.
|
|
Sorry, and thanks anyway.
|
|
|
|
- New %-escapes in remember templates:
|
|
|
|
: %c insert the current clipboard, like C-y would do
|
|
: %(..) evaluate Lisp expression and insert the result
|
|
: %[..] include file
|
|
|
|
Thanks to Adam Spiers and Tim O'Callaghan.
|
|
|
|
- New function `org-remember-insinuate' that makes is easier
|
|
to set Org-mode specific values for remember variables.
|
|
Thanks to Michael Olson for this proposal. It is
|
|
equivalent to:
|
|
|
|
: (require 'remember)
|
|
: (setq remember-annotation-functions '(org-remember-annotation))
|
|
: (setq remember-handler-functions '(org-remember-handler))
|
|
: (add-hook 'remember-mode-hook 'org-remember-apply-template))
|
|
|
|
You might still want to set `org-default-notes-file' to
|
|
provide a default for templates without a file, and
|
|
`org-directory' to show where to find other org files.
|
|
|
|
*** Emphasis and Font-lock stuff
|
|
|
|
- Stacked emphasis like ~*/bold italic/*~ is no longer allowed.
|
|
|
|
- You may finally emphasize a single character like ~*a*~.
|
|
|
|
- Font-lock now can hide the emphasis markers, just like Muse
|
|
does. Configure the variable `org-hide-emphasis-markers'
|
|
if you want this. Showing the characters continues to be
|
|
the default in Org-mode.
|
|
|
|
- Text in the "=" emphasis is now exported verbatim, i.e. no
|
|
further parsing and interpretation of this text takes place. So
|
|
you can write ~=quoted *xxx* a_x = b=~. This and the following
|
|
point implement a request by Daniel Clemente.
|
|
|
|
- There is a new emphasis marker "~" which marks text to be
|
|
exported verbatim, without special formatting. Inside an
|
|
org-mode file, this text is highlighted with the org-verbatim
|
|
face. I am not happy with the face yet (currently is is like
|
|
org-code, but underlined), please suggest a better one.
|
|
|
|
- Whether an emphasis environment is verbatim or not is now an
|
|
extra flag in the variable `org-emphasis-alist'. If you have
|
|
configured this variable, do it again by first canceling your
|
|
customization to revert to the default, and then adding it
|
|
again.
|
|
|
|
- New variable `org-highlight-latex-fragments-and-specials'.
|
|
When turned on, Org-mode will highlight all strings that
|
|
are treated in a special way by the exporters. This is
|
|
great for export-oriented writing, but maybe a bit noisy
|
|
for note taking, so this feature is off by default.
|
|
|
|
*** Properties and Column view
|
|
|
|
- `org-use-property-inheritance' may now also be a list of
|
|
property names that should be treated with inheritance
|
|
during searches.
|
|
|
|
- CATEGORY="work" can now be used in a tags/property search,
|
|
even if the category is not specified as a property in the
|
|
entry, but rather is inherited or derived from #+CATEGORY.
|
|
Thanks to Adam, Tim, and Bastien for an interesting
|
|
discussion around this issue.
|
|
|
|
- Summary type improvements in column view.
|
|
* The {+} summary type can specify a printf-style output
|
|
format for computed values like this: {+;%5.2f}
|
|
This was triggered by a report by Levin.
|
|
* New currency summary type {$}, which so far is just a
|
|
shorthand for {+;%.2f}. Do we need to have a currency
|
|
symbol in front of each value. Scott Jaderholm asked for
|
|
this, but I am not sure if this is already what he meant.
|
|
|
|
*** The date/time prompt
|
|
|
|
There have been several small but *very* useful additions to
|
|
the date prompt.
|
|
|
|
- While entering data at the date prompt, the current
|
|
interpretation of your input is shown next to your input in
|
|
the minibuffer. I find this great to understand how the
|
|
input works. If you find the extra stuff in the minibuffer
|
|
annoying, turn it off with `org-read-date-display-live'.
|
|
|
|
- The date prompt now prefers to select the future. If you
|
|
enter a date without a month, and the day number is before
|
|
today (for example, on the 16th of the month you enter
|
|
"9"), Org-mode will assume next month. Similarly, if you
|
|
enter a month and no year, next year will be assumed if the
|
|
entered month is before the current, for example if you
|
|
enter "May" in September. Thanks to John Rakestraw for
|
|
this great suggestion. If you find it confusing, turn it
|
|
off with `org-read-date-prefer-future'.
|
|
|
|
- When modifying an existing date using `C-c .' at the stamp,
|
|
the time or time range in the stamp are now offered as
|
|
default input at the prompt. This goes a long way to
|
|
simplifying the modification of an existing date. Thanks
|
|
to Adam Spiers for this proposal.
|
|
|
|
*** Export (all implemented by Bastien...)
|
|
|
|
- You can now export special strings in HTML. Here is the
|
|
list of newly performed conversions:
|
|
|
|
| Org | Description | HTML |
|
|
|-----+------------------------------------+----------|
|
|
| ~\\-~ | double backslash followed by minus | ­ |
|
|
| ~--~ | two dashes (minuses) | – |
|
|
| ~---~ | three dashes (minuses) | — |
|
|
| ~...~ | three dots | … |
|
|
|
|
You can turn this globally on or off with
|
|
`org-export-with-special-strings' or locally with "-:t" or
|
|
"-:nil" in the #+OPTIONS line. Thanks to Adam Spiers for
|
|
starting the discussion, and thanks to Daniel Clemente and
|
|
William Henney for relevant inputs.
|
|
|
|
- Comma-separated emails in #+EMAIL: are correctly exported.
|
|
Thanks to Raman for pointing out this omission.
|
|
|
|
*** Agenda
|
|
|
|
- In the agenda, a few keys have changed
|
|
: g does now the same a "r", refresh current display,
|
|
: because "g" is the Emacs standard for "refresh"
|
|
: G toggle the time grid, used to be "g"
|
|
: e Execute another agenda command, pretty much the same as
|
|
: `C-c a', but shorter and keep the same agenda window.
|
|
|
|
*** Miscellaneous (much of it from Bastien)
|
|
|
|
- You can now select the sectioning structure of your LaTeX
|
|
export by setting it either globally
|
|
(`org-export-latex-default-class') or locally in each Org
|
|
file (with #+LaTeX_CLASS: myclass). You can also customize
|
|
the list of available classes and their sectioning
|
|
structures through the new `org-export-latex-classes'
|
|
option. Thanks to Daniel for discussions and suggestion on
|
|
this issue.
|
|
|
|
- You can send and receive radio lists in HTML,
|
|
LaTeX or TeXInfo, just as you send and receive radio
|
|
tables. Check the documentation for details and examples.
|
|
|
|
- The default for `org-ellipsis' is back to nil, some people
|
|
seem to have had problems with the face as a default.
|
|
|
|
- Support for pabbrev-mode, needs pabbrev version 1.1. Thanks
|
|
to Phillip Lord for adapting his package to make this
|
|
possible.
|
|
|
|
- New variable `org-show-entry-below' to force context-showing
|
|
commands to expose the body of a headline that is being
|
|
shown. Thanks to Harald Weis for pointing out this omission.
|
|
|
|
|
|
* Version 5.13i
|
|
|
|
** Details
|
|
|
|
- On the date/time prompt, you can now also answer with
|
|
something like +2tue to pick the second tuesday from today.
|
|
This was a proposal by Sacha Chua.
|
|
|
|
- When interpopating into Lisp formulas in the spreadsheet,
|
|
the values of constants and properties are no longer
|
|
enclosed into parenthesis. When interpolating for calc,
|
|
this still happens in order to allow expressions in
|
|
constants. This problem was reported by Eddward DeVilla.
|
|
|
|
- When a directory is listed in `org-agenda-files', all files
|
|
with extension matched by the new variable
|
|
`org-agenda-file-regexp' in that directory will be agenda
|
|
files.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.13
|
|
|
|
** Overview
|
|
|
|
- Bug fixes and improvements in column view
|
|
+ All known bugs fixed. + A Column view can be captured into a dynamic block.
|
|
+ The ITEM column is formatted core compactly. + Also ITEM can be edited with `e'
|
|
|
|
- The agenda dispatcher
|
|
+ `<' cycles through restriction states. + Multi-character access codes to commands (= sub-keymaps).
|
|
|
|
- Sorting improvements
|
|
+ User-defined sorting keys. + Sorting by properties.
|
|
+ Sorting of plain lists.
|
|
|
|
- HTML <div> structure
|
|
|
|
- Other stuff + New variables, several of them.
|
|
+ Drawers can be set on a per-file basis. + Better control over priority fontification in agenda.
|
|
+ M-up and M-down now move the current line up and down. + Abort remember template selection with C-g.
|
|
|
|
** Details
|
|
|
|
*** Bug fixes and improvements in column view
|
|
|
|
- All the bugs described by Scott Jaderholm have been fixed
|
|
(at least I hope so...).
|
|
|
|
- You can now capture a column view into a dynamic block, for
|
|
exporting or printing it. The column view can be
|
|
|
|
+ global, i.e. for the entire file + local, i.e. for the subtree where the dynamic block is
|
|
+ from an entry with a specific :ID: property.
|
|
|
|
You can identify the entry whose column view you want to
|
|
capture by assigning an :ID: property, and use that property
|
|
in the dynamic block definition. For example:
|
|
|
|
: * Planning
|
|
: :PROPERTIES:
|
|
: :ID: planning-overview
|
|
: :END:
|
|
:
|
|
: [...]
|
|
:
|
|
: * The column view
|
|
: #+BEGIN: columnview :hlines 1 :id "planning-overview"
|
|
:
|
|
: #+END:
|
|
|
|
Use `C-c C-x r' to insert such a dynamic block, and you will
|
|
be prompted for the ID.
|
|
|
|
- When the current column format displays TODO keyword,
|
|
priority or tags, these parts are stripped from the content
|
|
of the ITEM column, making for more compact and readable
|
|
entries. When any of these "properties" are not listed in
|
|
the current column format, they are instead retained in the
|
|
ITEM column.
|
|
|
|
- You can now also edit the ITEM column with `e'.
|
|
|
|
*** The agenda dispatcher
|
|
|
|
- Instead of pressing `1' to restrict an agenda command to
|
|
the current buffer, or `0' to restrict it to the current
|
|
subtree or region, you can now also press `<' once or
|
|
twice, respectively. This frees up `1' and `0' for user
|
|
commands, a request by Bastien. In fact, "<" cycles
|
|
through different restriction states. "1" and "0" are
|
|
still available for backward compatibility, until you bind
|
|
them to custom commands.
|
|
|
|
- The access code to custom agenda commands can now contain
|
|
several characters, effectively allowing to bundle several
|
|
similar commands into a sub-keymap. This follows an
|
|
excellent proposal by Adam Spiers. For example:
|
|
|
|
: (setq org-agenda-custom-commands
|
|
: '(("h" . "HOME + Name tag searches") ; describe prefix "h"
|
|
: ("hl" tags "+HOME+Lisa")
|
|
: ("hp" tags "+HOME+Peter")
|
|
: ("hk" tags "+HOME+Kim")))
|
|
|
|
- The user function option in org-agenda-custom-commands may
|
|
now also be a lambda expression, following a request by
|
|
Adam Spiers.
|
|
|
|
*** Sorting improvements
|
|
|
|
We are using a new routine for sorting entries, courtesy of
|
|
John Wiegley. Many thanks to John.
|
|
|
|
- You can define your own function to extract a sorting key
|
|
and in this way sort entries by anything you like.
|
|
|
|
- Entries can now be sorted according to the value of a
|
|
property.
|
|
|
|
- Plain lists can be sorted.
|
|
|
|
*** HTML <div> structure
|
|
|
|
There is now a <div>-based structure in exported HTML.
|
|
|
|
- The table of context is wrapped into a div with a class
|
|
"table-of-contents".
|
|
|
|
- The outline structure is embedded in <div> elements with
|
|
classes "outline-1", "outline-2" etc.
|
|
|
|
- The postamble, containing the author information and the
|
|
date is wrapped into a div with class "postamble".
|
|
|
|
I am not sure if the class names are the best choice, let me
|
|
know if there are more "canonical" choices.
|
|
|
|
Thanks to Mike Newman and Cezar for input, and in particular
|
|
to Mike for his clearly formulated specification.
|
|
|
|
*** Other stuff
|
|
|
|
- New variable `org-agenda-window-frame-fractions' to
|
|
customize the size limits of the agenda window in the case
|
|
that you display the agenda window by reorganizing the
|
|
frame.
|
|
|
|
- Drawers can be set on a per-file basis using
|
|
|
|
: #+DRAWERS: HIDDEN STATE PROPERTIES
|
|
|
|
This will define the drawers :HIDDEN: and :STATE:.
|
|
The :PROPERTY: drawer should always be part of this list, or
|
|
your properties will not be folded away.
|
|
Thanks to Richard G. Riley for this proposal.
|
|
|
|
- `org-agenda-fontify-priorities' may now also be an
|
|
association list of priorities and faces, to specify the
|
|
faces of priorities in the agenda individually.
|
|
|
|
- The variable `org-export-with-property-drawer' no longer
|
|
exists, please use `org-export-with-drawers' instead. Also,
|
|
the corresponding switch in the #+OPTIONS line has changed
|
|
from "p" to "d". Thanks to Bastien for pointing out that we
|
|
needed to handle not only the property drawer.
|
|
|
|
- M-up and M-down now move the current line up and down (if
|
|
not at a headline, item or table). Among other things you
|
|
can use this to re-order properties in the drawer. This was
|
|
a proposal by Bastien.
|
|
|
|
- New variable `org-agenda-todo-ignore-with-date', based on a
|
|
request by Wanrong Lin.
|
|
|
|
- Aborting remember template selection with C-g now kills the
|
|
remember buffer and restores the old window configuration.
|
|
This was a request by Nuutti Kotivuori.
|
|
|
|
* Version 5.12
|
|
|
|
** Overview
|
|
|
|
- Remember templates can now have name.
|
|
- `C-c C-k' will abort taking a note (remember of log)
|
|
- `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg.
|
|
- Lines in the agenda can be fontified according to priority.
|
|
- New variable `org-scheduled-past-days'.
|
|
- New variables `org-agenda-deadline-leaders' and
|
|
`org-agenda-scheduled-leaders'.
|
|
- New sparse tree function `org-sparse-tree'.
|
|
- The variable `org-ellipsis' now defaults to `org-link'.
|
|
- The #+OPTIONS line has a new option "tags".
|
|
- New variable `org-use-property-inheritance'.
|
|
|
|
** Incompatible Changes
|
|
|
|
- `C-c /' now calls `org-sparse-tree'.
|
|
|
|
** Details
|
|
|
|
- Remember templates can now have a template name as the first
|
|
element. The name will be listed along with the selection
|
|
character when prompting for a template. It is best to have
|
|
the name start with the selection character, for example if
|
|
you use ("Note" "n"), you will be prompted like "[n]ote".
|
|
Thanks to Matiyam for this proposal.
|
|
|
|
- `C-c C-k' will abort taking a note. You can use this in remember
|
|
buffers and when taking a logging note (e.g. for a state
|
|
change). Thanks to Bastien.
|
|
|
|
- `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg to
|
|
cut N sequential subtrees. This was a proposal by John.
|
|
|
|
- Lines in the agenda are now bold if they have priority A and
|
|
italic if they have priority C. You can turn this off using
|
|
the variable `org-agenda-fontify-priorities'. Thanks to
|
|
John Wiegley for the idea and code.
|
|
|
|
- New variable `org-scheduled-past-days' to set the number a
|
|
scheduled item will be listed after its date has passed.
|
|
Default is 10000, i.e. indefinitely.
|
|
|
|
- New variables `org-agenda-deadline-leaders' and
|
|
`org-agenda-scheduled-leaders' to adjust the leading text o
|
|
scheduled items and deadline in the agenda. Thanks to John
|
|
Wiegley for a patch.
|
|
|
|
- New sparse tree function `org-sparse-tree'. This is now the
|
|
default binding for `C-c /'. It requires one additional
|
|
keypress to select a command, but in return is provides a
|
|
single interface to all the different sparse tree commands,
|
|
with full completion support.
|
|
|
|
- The variable `org-ellipsis' now defaults to the face
|
|
`org-link' because the visibility of the dots is really bad
|
|
and I have found this change very useful indeed.
|
|
|
|
- The #+OPTIONS line has a new option "tags" which can be used
|
|
to set `org-export-with-tags'. Thanks to Wanrong Lin for
|
|
this proposal.
|
|
|
|
- New variable `org-use-property-inheritance'. Configure it
|
|
to `t' if you want that searching for entries with certain
|
|
properties always should assume inheritance. This is not
|
|
well tested yet, please check it out.
|
|
|
|
- Bug fixes
|
|
|
|
* Version 5.11
|
|
|
|
** Overview
|
|
|
|
- SUMMARY, DESCRIPTION, LOCATION properties for iCalendar
|
|
- Command to jump to the running clock
|
|
- Clock entries can now have their own drawer
|
|
- `C-c C-x C-r' only updates a clocktable at point
|
|
- New way to assign a remember template to a single key
|
|
- `C-n' and `C-p' are back to their default binding
|
|
- `C-x C-s' in agenda buffer saves all org-mode buffers
|
|
- Schedule/deadline leaves note in agenda buffer
|
|
- Prefix argument for `C-c C-d/s' will remove date
|
|
- New variable to make block aranda more compact
|
|
- Better tag alignment in agenda
|
|
|
|
** Incompatible changes
|
|
|
|
- If you have customized `org-drawers', you need to add
|
|
"CLOCK" to the list of drawers.
|
|
|
|
- The variable `org-agenda-align-tags-to-column' has been
|
|
renamed to `org-agenda-tags-column'. The old name is still
|
|
an alias, in Emacs 22 and in XEmacs, but not in Emacs 21.
|
|
|
|
- The default value for both `org-tags-column' and
|
|
`org-agenda-tags-column' is now -80.
|
|
|
|
- The variable
|
|
`org-insert-labeled-timestamps-before-properties-drawer'
|
|
is now obsolete.
|
|
|
|
** Details
|
|
|
|
- The LOGGING property allows to modify the settings for
|
|
progress logging for a single entry. For example:
|
|
|
|
: :PROPERTIES:
|
|
: :LOGGING: nologging nologrepeat
|
|
: :END:
|
|
|
|
turns off all progress logging for the current entry and its
|
|
children.
|
|
|
|
- The properties SUMMARY, DESCRIPTION and LOCATION have
|
|
special meaning during iCalendar export, when they translate
|
|
to the corresponding VEVENT and VTODO fields. If not given,
|
|
Org-ode continues to use cleaned-up version of the headline
|
|
and body as the summary and the description, respectively.
|
|
|
|
- New function to go to the entry with the currently running
|
|
clock. Bound to `C-c C-x C-j', in agenda also to "J". If
|
|
you use this often, you might even want to assign a global
|
|
key. Thanks to Bernt and Bastien.
|
|
|
|
- Clock entries can now have their own drawer, the :CLOCK:
|
|
drawer. Check out the variable `org-clock-into-drawer' for
|
|
configuration of this feature. The default is to create a
|
|
drawer when the second clocking line gets added to an entry.
|
|
Note that "CLOCK" has been added to the default value of
|
|
`org-drawers', but if you have configured that variable, you
|
|
must go back and add "CLOCK" yourself to get this drawer
|
|
folded away. Thanks to Tom Weissman for pointing out that
|
|
too many clock entries are visually annoying.
|
|
|
|
- `C-c C-x C-r' no longer tries to find the first clocktable
|
|
in a buffer and then updates it. Instead, it will update
|
|
the clocktable at point if there is one (same as C-c C-c
|
|
will do if the cursor is in the "#+BEGIN" line of the
|
|
table). If there is none at point, a new one will be
|
|
inserted. This change was necessary because the new :scope
|
|
parameter allows to have several clocktables in a buffer.
|
|
Thanks to Bastien for pointing this out.
|
|
To update all dynamic blocks in a file, use `C-u C-c C-x C-u'.
|
|
|
|
- The function `org-remember' can now be called with a
|
|
template selection key as argument. This helps to make key
|
|
bindings that go directly to a specific template without
|
|
being prompted for a template, like this:
|
|
|
|
: (global-set-key [f5] (lambda () (interactive) (org-remember "j")))
|
|
|
|
Thanks to Richard G Riley for bringing this up.
|
|
|
|
- `C-n' and `C-p' are back to their default binding
|
|
(next/previous line) in the agenda buffer. Enough people,
|
|
including recently Denis Bueno, have complained about this,
|
|
and I agree it is not good to break habits like that.
|
|
|
|
- `C-x C-s' in an agenda buffer now saves all org-mode buffers
|
|
(also `s' does this).
|
|
|
|
- Setting schedule or deadline dates from the agenda now
|
|
produces a note in the agenda, similarly to what happens
|
|
with S-left/right.
|
|
|
|
- Using a prefix argument for `C-c C-d' or `C-c C-s' will
|
|
remove the deadline or scheduling date from an item. Thanks
|
|
to Wanrong Lin for this proposal.
|
|
|
|
- New variable `org-agenda-compact-blocks'. When set, the
|
|
space between blocks in a block agenda is reduced as much as
|
|
possible, to show more items on a single screen.
|
|
|
|
- The variable `org-agenda-tags-column' (renamed from
|
|
`org-agenda-align-tags-to-column') can now also be negative,
|
|
to mean alignment to the left. The new default is -80, just
|
|
like it is now for `org-tags-column'.
|
|
|
|
- Bug fixes
|
|
|
|
* Version 5.10
|
|
|
|
** Overview
|
|
|
|
- Category and the archive location can be properties.
|
|
- The clocktable has a new =:scope= parameter.
|
|
- CSV support when importing a table.
|
|
- Better defaults when modifying a time stamp.
|
|
- New way to specify the duration of an appointment.
|
|
- More aggressive version of orgstruct-mode improved wrapping.
|
|
- Modifications to priority cycling.
|
|
- Modifications to computations in column view.
|
|
- New command `org-occur-in-agenda-files'.
|
|
- Bug fixes.
|
|
|
|
** Details
|
|
|
|
- Both the category and the archive location in a (sub)tree of
|
|
the buffer can now be specified using a property, for
|
|
example:
|
|
|
|
: * Tree with special properties
|
|
: :PROPERTIES:
|
|
: :CATEGORY: Examples
|
|
: :ARCHIVE: /some/special/file::
|
|
: :END:
|
|
|
|
This is a much cleaner way of dealing with multiple
|
|
categories and archives in a single file. The preferred use
|
|
of the =#+CATEGORY= and =#+ARCHIVE= lines is now to set a *single* default for the file which is then locally
|
|
overruled by properties. This was a proposal from Bastien
|
|
if I remember correctly. Multiple =#+= lines still work
|
|
and I don't plan to remove this support soon, but I
|
|
encourage you to stop using them.
|
|
|
|
- The clocktable has a new =:scope= parameter that determines
|
|
the range in the file from which clock entries should be
|
|
taken. This can be anything from the local subtree to the
|
|
entire buffer to even the full list of agenda files. Legal
|
|
values are:
|
|
|
|
| value | scope |
|
|
|---------+-------------------------------------------------|
|
|
| nil | the current buffer or narrowed region |
|
|
| file | the full current buffer |
|
|
| subtree | the subtree where the clocktable is located |
|
|
| treeN | the surrounding level N tree, for example tree3 |
|
|
| tree | the surrounding level 1 tree |
|
|
| agenda | all agenda files |
|
|
|
|
Thanks to Jason F. McBrayer and Bernt Hansen for
|
|
inspiration. Thanks to cranreuch (what is you full name?)
|
|
for mentioning, at the right moment, that the clocktable is
|
|
not so bad - that remark made it seem worthwhile to add
|
|
features.
|
|
|
|
- The commands to import a table and to convert a region to a
|
|
table can now handle comma-separated values (CSV). The
|
|
algorithm does not yet treat quoting correctly, but for
|
|
basic input it works.
|
|
|
|
- When modifying an existing time stamp, or when entering the
|
|
second stamp of a range, the date prompt will now
|
|
consistently default to the date/time in the existing stamp.
|
|
This was triggered by Nuutti Kotivuori's request.
|
|
|
|
- At the date/time prompt, there is a new way to specify a
|
|
range of hours, by using "+DURATION" after the time. For
|
|
example:
|
|
|
|
: 14:00+2 means 14:00-16:00
|
|
: 2pm+2:30 means 14:00-16:30
|
|
|
|
Again, Nuutti Kotivuori's request.
|
|
|
|
- When you use the function `turn-on-orgstruct++' to turn on
|
|
orgstruct-mode, the special org-mode settings for
|
|
auto-filling, indentation and paragraphs are exported into
|
|
the buffer, so that typing list items with indentation works
|
|
better. This was Bastien's idea and request.
|
|
|
|
- New variable `org-priority-start-cycle-with-default'. When
|
|
t (the default), priority cycling will initially set the
|
|
default priority and then increase or decrease. When nil,
|
|
the first priority set by cycling is already 1 different
|
|
from the default priority. This was mostly driven by
|
|
Bastien.
|
|
|
|
- In column view: When an entry has a property for a summary
|
|
column defined, its value is normally overwritten by the sum
|
|
of all the children's values each time you enter column
|
|
view. Now there is an exception to this rule: If none of
|
|
the children has that particular property defined, the
|
|
parent's value stays. In this way you can still place TODO
|
|
items under such an entry without getting the property value
|
|
changed. Thanks to Russel Adams for pointing out that this
|
|
is a better way of doing things.
|
|
|
|
- In column view, computed values are now bold face, and
|
|
trying to edit them is an error. I think this works, but
|
|
testing is appreciated.
|
|
|
|
- New command `org-occur-in-agenda-files', this is basically
|
|
the quick command John Wiegley proposed the other day, but
|
|
it also works when the agenda files are not yet in buffers.
|
|
The key is `C-c C-x /', any better proposals?
|
|
|
|
- Links containing a space will now be handled correctly when
|
|
calling the browser. Note that you need to enclose such
|
|
links in square or angular brackets.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.09
|
|
|
|
** Overview
|
|
|
|
- Taking a note upon TODO state changes can be restricted to
|
|
selected states.
|
|
|
|
- The format in which dates are shown in the daily/weekly
|
|
agenda can be configured.
|
|
|
|
- The default for `org-remember-store-without-prompt' is now t.
|
|
|
|
- `org-goto' has been made into a general lookup command.
|
|
|
|
- Priority cycling goes back to the nil state.
|
|
|
|
- You can store a remember note to the *last used* location.
|
|
|
|
- On Emacs 23, the headline faces for org-mode are now
|
|
inherited from the outline faces.
|
|
|
|
** Incompatible Changes
|
|
|
|
- The default for `org-remember-store-without-prompt' is now
|
|
t, in order to better match the original intent of
|
|
remember.el (storing a note with minimum interruption of
|
|
work flow). I expect that many people will be hit by this
|
|
incompatible change - nevertheless I believe it is the right
|
|
thing to do.
|
|
|
|
** Details
|
|
|
|
- You can now select specific states for recording a note when
|
|
switching to that state. With the setting
|
|
|
|
: #+SEQ_TODO: TODO(t) ORDERED(o@) INVOICE(i@) PAYED(p) | RECEIVED(r)
|
|
: #+STARTUP: lognotestate
|
|
|
|
only the states ORDERED and INVOICE will record a timestamp
|
|
and a note.
|
|
|
|
- You can now set the format of the string for each day in the
|
|
agenda and timeline buffers. You can use a format string
|
|
interpreted by `format-time-string', or you can write your
|
|
own function. Configure the new variable
|
|
`org-agenda-format-date'. Thanks to Levin for triggering
|
|
this development with a patch.
|
|
|
|
- The default for `org-remember-store-without-prompt' is now
|
|
t, in order to better match the original intent of
|
|
remember.el (storing a note with minimum interruption of
|
|
work flow). Since we can assign files and headlines to
|
|
templates, I guess this takes care of selecting a filing
|
|
location in most cases. For interactive filing, you now
|
|
need a prefix command when exiting `remember'.
|
|
|
|
- `org-goto' (bound to `C-c C-j') now uses an indirect buffer
|
|
and has additional commands enabled: Org-occur with `C-c /'
|
|
or even faster with `/', and the commands needed to select
|
|
and copy a region. This make `org-goto' a more general
|
|
lookup command instead of only a jumping command. Remember
|
|
that you can exit with `Q' to go back to the original
|
|
location. Thanks to William Henney for this idea.
|
|
|
|
- Setting the priority with S-up/down now cycles back to a
|
|
state where no priority is specified. This was requested by
|
|
Rick Moynihan.
|
|
|
|
- You can store a remember note to the *last used* location.
|
|
So if you select a location interactively once, you can
|
|
re-use it without having to find it again. For this, exit
|
|
the remember buffer with `C-u C-u C-c C-c'. The leading
|
|
comment in the remember buffer will tell exactly where the
|
|
note goes if you exit with a particular command.
|
|
Thanks to Maxim Loginov for this idea.
|
|
|
|
- On Emacs 23, the headline faces for org-mode are now
|
|
inherited from the outline faces. This is just a
|
|
convenience, so that you only have to configure one set of
|
|
faces, and that will then be outline-1 .. outline-8. You
|
|
will actually not see any difference in org-mode, because
|
|
Stefan Monnier has made the outline faces in Emacs 23 to
|
|
match the current org-mode faces.
|
|
|
|
This change does not effect XEmacs, nor Emacs 21 and 22.
|
|
|
|
* Version 5.08
|
|
|
|
** Incompatible changes
|
|
|
|
- The default for `org-deadline-warning-days' is now 14.
|
|
|
|
** Details
|
|
|
|
- There is now a separate interface for fast and directly
|
|
setting a TODO keyword. This interface kicks in when you
|
|
have configured keys for TODO keywords like
|
|
|
|
: #+SEQ_TODO: TODO(t) WAITING(w) | DONE(d) CANCELED(c)
|
|
|
|
C-c C-t still does the cycling thing, you need to use a
|
|
prefix argument to get to the fast interface. Or configure
|
|
the variable `org-use-fast-todo-selection' to t, then this
|
|
will be the default and the prefix argument will make the
|
|
command fall back to cycling.
|
|
|
|
The tag selection no longer does include TODO keywords -
|
|
Leo's arguments have convinced me that this is not a good
|
|
idea. If you'd like to see the TODO keywords in the tags
|
|
interface anyway, set the variable
|
|
`org-fast-tag-selection-include-todo'. Thanks to Leo and
|
|
others for input on this issue.
|
|
|
|
- New variable `org-edit-timestamp-down-means-later'. When
|
|
set, `S-down' on a timestamp will change the timestamp to
|
|
later. Thanks to Raman for this idea.
|
|
|
|
- Property names can now contain non-ascii word characters.
|
|
This follows a request from Daniel Clemente.
|
|
|
|
- For export, the date that should be given in the exported
|
|
file can now be set to a specific value with a line like
|
|
|
|
: #+DATE: 15 November 2003
|
|
|
|
If you want to use the date/time when the file was created,
|
|
use a format string that will be interpreted by
|
|
`format-time-string', for example:
|
|
|
|
: #+DATE: %Y/%m/%d %X
|
|
|
|
- The default of `org-deadline-warning-days' has changed to 14
|
|
days. 30 was really too much, I suspect most people (me
|
|
included) have changed this.
|
|
|
|
- When a deadline has an individual lead time, this lead time
|
|
obviously overrules `org-deadline-warning-days'. However,
|
|
if you bind `org-deadline-warning-days' to a number <=0, for
|
|
example during a custom agenda command, then the absolute
|
|
value of this number will be enforced also when a different
|
|
lead time has been specified. This is useful to get a list
|
|
of all deadlines coming up in the next N days.
|
|
|
|
* Version 5.07
|
|
|
|
** Overview
|
|
|
|
- Different faces for different TODO keywords.
|
|
|
|
- Setting TODO states through the TAG setting interface.
|
|
|
|
- Context information is stored when moving a tree to the archive.
|
|
|
|
- Sorting can be done by priority.
|
|
|
|
- `Org-ellipsis' can now also be a face.
|
|
|
|
- Scheduling info is no longer removed entry is marked CLOSED.
|
|
|
|
- Unavailable files in `org-agenda-files' can be skipped.
|
|
|
|
** Incompatible changes
|
|
|
|
- The time of archiving is now stored as a property.
|
|
ARCHIVED is no longer a special time keyword.
|
|
|
|
- Scheduling info is no longer removed entry is marked CLOSED.
|
|
|
|
** Details
|
|
|
|
- You can now define different faces for different TODO
|
|
keywords. This request has come up frequently, so here it
|
|
is: Use the variable `org-todo-keyword-faces'.
|
|
|
|
A Here is a configuration example:
|
|
|
|
: (setq org-todo-keyword-faces
|
|
: '(("TODO" . org-warning)
|
|
: ("DEFERRED" . shadow)
|
|
: ("CANCELED" . (:foreground "blue" :weight bold
|
|
: :underline t))))
|
|
|
|
Org-mode continue still use `org-todo' and `org-done' for
|
|
keywords that have no specific face assigned.
|
|
|
|
- Some People use TODO states more like tags. For them the
|
|
TODO keywords mark special states and they like to quickly
|
|
switch between states in arbitrary sequence. The standard
|
|
TODO interface is not perfect for this, because it assumes
|
|
that the states are reached in sequence. However, the fast
|
|
tag setting interface is in fact perfect for this. You can
|
|
now "misuse" the TAG selection interface to also set TODO
|
|
states. All you need to do is to assign keys to the TODO
|
|
states, just like you also do for tags.
|
|
|
|
: #+SEQ_TODO: TODO(t) WAITING(w) | CANCELED(c) DONE(d)
|
|
: #+TAGS: @HOME(h) @OFFICE(o) @SHOP(s)
|
|
|
|
Next time you try to set tags with C-c C-c, the todo states
|
|
will be offered as well, and the corresponding key will
|
|
switch the entry to that state.
|
|
|
|
- New variable `org-archive-save-context-info' governs if
|
|
information that would be lost by moving a subtree to the
|
|
archive file, should be stored as special properties. For
|
|
example,
|
|
|
|
: (setq org-archive-save-context-info '(itags category))
|
|
|
|
will store the inherited tags and the category in properties
|
|
ARCHIVE_ITAGS and ARCHIVE_CATEGORY, respectively. The
|
|
default setting for this variable is to save everything that
|
|
could be lost. This was a proposal by John Wiegley.
|
|
|
|
- Sorting (`C-c ^') can use the use the priority to sort. Use
|
|
the "p" and "P" keys at the prompt. John Wiegley, again.
|
|
|
|
- `Org-ellipsis' can now also be a face to make the folding
|
|
ellipsis more visible. This is based on a post by Tassilo
|
|
Horn. Since `org-ellipsis' only works in Org-mode, you
|
|
might want to use Tassilo Horn's hack directly in order to
|
|
affect the folding ellipsis globally.
|
|
|
|
- Scheduling info is no longer removed when an entry is marked
|
|
CLOSED. This was a request by Brian van den Broek. Let me
|
|
know if this breaks anything for you - then it will become
|
|
an option.
|
|
|
|
- New option `org-agenda-skip-unavailable-files'. Currently,
|
|
if a file does not exist, it will be removed from
|
|
`org-agenda-files' after a query. When this option is set,
|
|
the file will simply be skipped.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.06
|
|
|
|
** Overview
|
|
|
|
** Details
|
|
|
|
- When exporting only a region and this region is a single
|
|
(sub)tree (for example selected with `C-c @'), the title for
|
|
the exported document is taken to be the heading of the
|
|
subtree. The sublevels become top-level entries in the
|
|
export. Furthermore, if the head entry of the tree has or
|
|
inherits an EXPORT_FILE_NAME property, that file name (with
|
|
appropriately substituted extension) will be used for the
|
|
exported tree. Thanks to Patrick Drechsler and Jost Burkart
|
|
for these ideas.
|
|
|
|
- org-special-ctrl-a/e has a third allowed value, `reversed'.
|
|
When it is set to this value, the first C-a or C-e command
|
|
behaves normally, i.e. it goes to the true beginning or end
|
|
of the line. Only when you press C-a or C-e immediately
|
|
again, the the "special" position will be found. Additional
|
|
presses of the same key jump between the two positions. I
|
|
like this a lot better than the `t' setting, because now the
|
|
keys behave more predictable and still give easy access to
|
|
the special locations.
|
|
|
|
- New command to set or remove a tag from all headlines in a
|
|
region.
|
|
|
|
- When Org-mode visits a file, it will initially hide all
|
|
drawers.
|
|
|
|
- The default of the variable `org-cycle-global-at-bob' is now
|
|
nil, meaning that TAB no longer does global visibility
|
|
cycling at the beginning of the buffer.
|
|
|
|
- Bug fixes, in particular the problems with scheduling and
|
|
deadlines introduced in 5.05. Please check carefully if
|
|
this works correctly again, and complain if not.
|
|
|
|
* Version 5.05
|
|
|
|
** Overview
|
|
|
|
- LaTeX export, finally, thanks to Bastien.
|
|
|
|
- Extension mechanism for the hyperlink system.
|
|
|
|
- Global access to commands inserting and following links.
|
|
|
|
- Individual lead-times for deadlines.
|
|
|
|
- Option to show only the next instance of repeating timestamp.
|
|
|
|
- Store remember notes with only 2 keys: C-c C-c
|
|
|
|
- Appointment reminders from Org-mode.
|
|
|
|
- Global values for selected properties.
|
|
|
|
- Bug fixes.
|
|
|
|
|
|
** Details
|
|
|
|
- Bastien's `org-export-latex.el' is now part of the org-mode
|
|
distribution. You can export an Org-mode document to a
|
|
LaTeX file with `C-c C-e l'. For more options, see the
|
|
manual, and the commentary in the Lisp file. Kudos to
|
|
Bastien for contributing this frequently requested feature.
|
|
I am sure this has been tough because of the many different
|
|
ways I have been allowing LaTeX snippets and environments to
|
|
be incorporated in lazy free-format ways.
|
|
|
|
- Org-mode has now an extension mechanism for the hyperlink
|
|
system. This should clear the road for all those mairix and
|
|
other ideas that have been floating around. Now it is on *you* to write and share new link types for Org-mode. The
|
|
interface for adding a new link type is described in the
|
|
appendix of the manual, section A2. The unsolved problem is
|
|
currently how to handle the new link types for
|
|
export/publishing.
|
|
|
|
- New *global* commands `org-open-at-point-global' and
|
|
`org-insert-link-global'. You can bind these commands to
|
|
global keys and use them to insert and follow Org-mode-like
|
|
links anywhere in Emacs. Thanks to Adam Spiers for this
|
|
excellent idea.
|
|
|
|
- Each deadline timestamp may now specify its own interval of
|
|
lead-time display, given in days, weeks, months or years.
|
|
The syntax is like this
|
|
|
|
: DEADLINE: <2007-08-13 Mon -5d>
|
|
|
|
When combined with a repeater, the repeater has to come
|
|
first:
|
|
|
|
: DEADLINE: <2007-08-13 Mon +2w -5d>
|
|
|
|
You may now also customize the faces that are used in the
|
|
agenda to indicate the distance of an approaching deadline.
|
|
See the new option `org-agenda-deadline-faces'.
|
|
|
|
Thanks to Pavel Chalmoviansky and John Wiegley proposals in
|
|
this direction.
|
|
|
|
- New option `org-agenda-repeating-timestamp-show-all'. When
|
|
set to nil, repeating time stamps will only show up once in
|
|
the agenda, either today or in the near future. Other
|
|
matches will be ignored. Thanks to John Wiegley for this
|
|
proposal.
|
|
|
|
- New variable `org-remember-store-without-prompt'. When set,
|
|
exiting the remember buffer with C-c C-c will store the note
|
|
without further prompts to the default location, and `C-u
|
|
C-c C-c' will get the prompts for file and location. So
|
|
this variable reverses the prefix-argument functionality for
|
|
storing remember notes. This follows a request from John
|
|
Wiegley.
|
|
|
|
- A new function `org-agenda-to-appt' activates all
|
|
appointments for the current day so that Emacs will display
|
|
reminders. This uses appt.el. Thanks to Bastien for this
|
|
function.
|
|
|
|
- You can now set default values for properties that can be
|
|
inherited by all entries in a buffer, or by all entries
|
|
globally. Global properties are set in the variable
|
|
`org-global-properties', like this:
|
|
|
|
(setq org-global-properties '(("NAME" "This is the value")))
|
|
|
|
Buffer-local values are set like this:
|
|
|
|
#+PROPERTY: NAME This is the value
|
|
|
|
When using org-entry-get to get the value of a property with
|
|
the `inherit' flag and the hierarchy above the entry does
|
|
not contain this property, the buffer-local and global lists
|
|
are checked as well. This is mostly useful (I think) to set
|
|
the list of allowed values for a property. Thanks to Bernt
|
|
Hansen and Bastien for these ideas.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 5.04
|
|
|
|
** Details
|
|
|
|
- New variables `org-export-author-info' and
|
|
`org-export-time-stamp-file' to turn off inclusion of author
|
|
and time information into exported files. Thank to Patrick
|
|
Drechsler for pointing out that this would be useful.
|
|
|
|
- New variable to avoid moving DEADLINE and SCHEDULED info
|
|
into the property drawer. The default is now to not move
|
|
this stuff into the drawer.
|
|
`org-insert-labeled-timestamps-before-properties-drawer'
|
|
|
|
- `org-archive-mark-done' can be a string now, to select a
|
|
specific keyword that should be used for archived entries.
|
|
|
|
- New command "j" in agenda to jump to an arbitrary date.
|
|
Thanks to Bernt Hansen for the patch.
|
|
|
|
- Lots of minor fixes.
|
|
|
|
* Version 5.03
|
|
|
|
** Incompatible Changes
|
|
|
|
- The variable `org-special-ctrl-a' has been renamed to
|
|
`org-special-ctrl-a/e'. The old one is still an alias (but
|
|
not on Emacs 21 where variable aliases cannot be defined).
|
|
|
|
** Details
|
|
|
|
- When the variable `org-special-ctrl-a/e' is set, C-e in a
|
|
headline first goes to the end of the headline ignoring the
|
|
tags. A second C-e then goes to after the tags.
|
|
|
|
- Typing and removing single characters in a headline now
|
|
keeps the tags in the headline aligned. This could have a
|
|
little impact on performance while deleting stuff - let me
|
|
know if we need to make this customizable.
|
|
|
|
- New option `org-n-level-faces' can be used to set the number
|
|
of different faces that are used for headlines. Default is
|
|
all 8 faces Org-mode defines for this purpose, level 9 uses
|
|
again the level-1 face. However, you can use fewer, and then
|
|
the level-1 face will be reused already for level N+1, etc.
|
|
|
|
- Column View and hidestars now work together.
|
|
|
|
- Bug fixes.
|
|
|
|
|
|
* Version 5.02
|
|
|
|
** Overview
|
|
|
|
- The interfaces for properties and column view are finished
|
|
now and work well.
|
|
|
|
- Properties can be summaries, i.e. the parent nodes can
|
|
compute their value from the children's values.
|
|
|
|
- Headlines finally require a space ofter the star(s). The
|
|
conflict with bold text at the beginning of the line is no
|
|
longer there.
|
|
|
|
** Incompatible Changes
|
|
|
|
- Bad news. It looks like it is going to be really hard to
|
|
make column view work on XEmacs and on Emacs 21. Emacs 22
|
|
is currently the only Emacs where this works. If you are
|
|
using Emacs 21 or XEmacs, you can still use properties, but
|
|
not column view.
|
|
|
|
** Details
|
|
|
|
- Improvements for properties:
|
|
|
|
+ There are interactive commands to insert and delete
|
|
properties. Read the manual chapter 7 for details. + You can define /allowed values/ for a property. When
|
|
these are defined, you can change the value of a property
|
|
with S-left and S-right. And you may use completion when
|
|
inserting the property. This goes a long way to prevent
|
|
typos when entering properties.
|
|
|
|
- Improvements for column view.
|
|
|
|
+ In column view, you may use the keys S-left/right (and
|
|
also the keys `n' and `p') to switch from one allowed
|
|
value to the next.
|
|
|
|
+ You can define summaries for columns. For example,
|
|
parents can contain the sum of all children values of a
|
|
property, or the parent node can have a check box property
|
|
that is automatically checked when all children's boxes are
|
|
checked.
|
|
|
|
+ There are interactive commands to add and remove columns,
|
|
and to change the attributes of a column like the summary
|
|
type.
|
|
|
|
These additions lead to the exciting fact that the example
|
|
from [[http://www.omnigroup.com/images/applications/omnioutliner/features/multicolumn.jpg][omni outliner]] posted by Scott Jaderholm can now be
|
|
accurately [[file:omni-org.jpg][reproduced by Org-mode]].
|
|
|
|
- The space after the stars is now required in a headline, in
|
|
order to remove the conflict with bold words at the
|
|
beginning of a line. So
|
|
|
|
: * This is a level 1 headline
|
|
: *this is bold text*
|
|
|
|
- S-up and S-down to navigate plain item lists are now also
|
|
available in orgstruct-mode.
|
|
|
|
* Version 5.01
|
|
|
|
** Overview
|
|
|
|
- A new minor mode, orgstruct-mode, exports the Org-mode
|
|
structure editing commands into any other mode.
|
|
|
|
- DRAWERS are a new level off folding for special sections
|
|
that should stay closed during visibility cycling and only
|
|
open if explicitly asked.
|
|
|
|
- Entries can now have PROPERTIES.
|
|
|
|
- A COLUMN VIEW implementation allows to easily view and edit
|
|
the properties of a hierarchy of entries (Emacs only, for
|
|
now).
|
|
|
|
- Formula evaluation in the spreadsheet is more consistent
|
|
now. Properties and per-file constants can be used during
|
|
evaluation.
|
|
|
|
- Bug fixes and minor changes.
|
|
|
|
** Incompatible changes
|
|
|
|
- When using LEVEL=N in a tags search, things have changed if
|
|
you are also using `org-odd-levels-only'. If you are using
|
|
only odd levels (i.e. 1 or 3 or 5... stars), LEVEL=2 will
|
|
now refer to 3 stars, LEVEL=3 to 5 stars etc. Many thanks
|
|
to Leo (or blame on him if you must) who has convinced me
|
|
that this is the better convention.
|
|
|
|
** Details
|
|
|
|
*** Orgstruct minor mode
|
|
|
|
There is a new minor mode, orgstruct-mode. This modes works
|
|
in a similar way as Orgtbl-mode. It can be used to export
|
|
the Org-mode structure-editing commands into arbitrary major
|
|
modes in Emacs. For example, you can use it in Mail-mode to
|
|
easily create lists.
|
|
|
|
The functionality in Orgstruct mode is only active, if the
|
|
cursor is in a line that looks either like a headline, or
|
|
like the first line of a plain list item. Then the commands
|
|
`TAB', `M-cursor', `M-S-cursor', `M-RET', `M-S-RET', `C-c ^',
|
|
`C-c C-c', and `C-c -' will do structure-related editing just
|
|
like in Org-mode. If the cursor is not in such a line, all
|
|
these keys will do whatever the major mode or other active
|
|
minor modes have assigned to them.
|
|
|
|
Orgstruct-mode is the result of a proposal by Raman, quite
|
|
some time ago. It has taken a long time, but here is finally
|
|
the promised implementation.
|
|
|
|
*** Drawers
|
|
|
|
The new concept of /drawers/ allows to create sections
|
|
that remain folded during visibility cycling. Drawers need
|
|
to be configured using the variable `org-drawers'. A drawer
|
|
starts with a line containing only the name of the drawer
|
|
bracketed by colons. It ends with :END:. For example,
|
|
after setting
|
|
|
|
: (setq org-drawers '("PROPERTIES" "HIDDEN"))
|
|
|
|
you can then create drawers like this:
|
|
|
|
: :HIDDEN:
|
|
: here is some stuff that remains hidden
|
|
: unless TAB is pressed directly in that line
|
|
: :END:
|
|
|
|
The PROPERTIES drawer has special meaning for ORG-mode, it
|
|
contains properties of an entry (see below).
|
|
|
|
*** Properties and Column View
|
|
|
|
- Entries in Org-mode can now have arbitrary /properties/
|
|
associated with them. Org-mode handles some default
|
|
properties like the TODO state, the priority, the local
|
|
tags, and planning information like DEADLINE and SCHEDULED.
|
|
In addition, you can assign arbitrary properties by creating
|
|
a property drawer and inserting a line like
|
|
|
|
: :PROPNAME: This is the value of the property
|
|
|
|
Org-mode has an API for properties, if you want to write a
|
|
program using properties, use the functions
|
|
`org-entry-properties', `org-entry-get', `org-entry-put',
|
|
and `org-entry-delete'.
|
|
|
|
- Planning information like DEADLINE can be hidden in the
|
|
properties drawer.
|
|
|
|
If the PROPERTIES drawer starts in the first line after a
|
|
headline, also the DEADLINE, SCHEDULED and CLOCK information
|
|
will be inserted inside the drawer. If no PROPERTIES drawer
|
|
is present, or if it does not start in the line right after
|
|
the headline, this information remains in the lines directly
|
|
after the headline, outside the drawer.
|
|
|
|
- TAGS searches can now also query properties. For example,
|
|
the search
|
|
|
|
: LEVEL=3+BOSS+ASSIGNED="Hans"/WAITING
|
|
|
|
will find entries that
|
|
- are level 3
|
|
- have the tag BOSS
|
|
- have an ASSIGNED property with the value "Hans"
|
|
- are TODO status WAITING.
|
|
|
|
So here is an entry that will match:
|
|
|
|
: *** WAITING Clean up the factory :BOSS:
|
|
: :PROPERTIES:
|
|
: :ASSIGNED: Hans
|
|
: :END:
|
|
|
|
You may also use a regular expression to match against a
|
|
property value. For example, to find stuff assigned to Hans
|
|
or Sarah, use
|
|
|
|
: ASSIGNED={^\(Hans\|Sarah\)$}
|
|
|
|
- Column View is a special way to look at property values in
|
|
tabular form. Column View can be used in any org-mode
|
|
file, and also in any agenda buffer. It works by placing
|
|
an overlay over each headline (or agenda line) that shows a
|
|
table of selected properties. You can look at and edit
|
|
properties from this view. Which properties are shown in
|
|
the table must be set up using the COLUMNS property. You
|
|
can set up different property columns on different levels
|
|
of an outline tree. For example:
|
|
|
|
: * People
|
|
: :PROPERTIES:
|
|
: :COLUMNS: %25ITEM %Name
|
|
: :END:
|
|
: ** Family
|
|
: :PROPERTIES:
|
|
: :COLUMNS: %25ITEM %Name %3Age
|
|
: :END:
|
|
: *** Sam
|
|
: Info about Sam, including a property list with Name and Age.
|
|
: *** Sarah
|
|
: Info about Sarah, including a property list with Name and Age.
|
|
: ** Office
|
|
: :PROPERTIES:
|
|
: :COLUMNS: %25ITEM %Name %Function %Salary
|
|
: :END:
|
|
: *** Boss
|
|
: Info about the Boss, including a property list with Name,
|
|
: Function and Salary (if only we knew....).
|
|
|
|
Now we have defined three different sets of columns. If
|
|
you switch to column view in the /Family/ section, you
|
|
will get a different table than if you do it in the /Office/ section. However, if you switch to column
|
|
view with the cursor on the /People/ section, the
|
|
table will cover all entries, but contain only the /Name/.
|
|
|
|
Column view does, for the time being, only work on Emacs.
|
|
The XEmacs implementation needs a bit of work.
|
|
|
|
- Properties can be used in table formulas. To access the
|
|
value of the property :XYZ:, use $PROP_XYZ. The property
|
|
needs to be defined in the hierarchy above the table, not
|
|
necessarily in the same entry as the table. This was a
|
|
request by Eddward. File-wide constants can be defined with
|
|
#+CONSTANTS, see below.
|
|
|
|
- Things that still need to be sorted out about drawers,
|
|
properties and column view - comments and suggestions
|
|
welcome!
|
|
|
|
+ How to deal with drawers and properties in HTML and ASCII
|
|
export? + What key could be used to insert an empty property drawer
|
|
into an entry?
|
|
+ Right now column view is invoked through the command C-c
|
|
C-x C-c. It is too easy to type C-x C-c by mistake, and
|
|
that causes Emacs to quit. Suggestions for a different
|
|
key? + Fontification of drawers and properties is not good yet.
|
|
Any suggestions for better defaults?
|
|
+ Mouse support for editing properties in column view would
|
|
be nice - maybe Piotr is interested to add this to
|
|
org-mouse.el?
|
|
|
|
*** Spreadsheet
|
|
|
|
- In the spreadsheet, the evaluation of formulas has changed.
|
|
Previously, first the column formulas would be evaluated
|
|
everywhere, and then the field formulas would kick in, and
|
|
in some cases overwrite the results of column formulas in
|
|
the appropriate fields. This had the side effect that some
|
|
formulas might always use the wrong, intermediate content of
|
|
a field that is computed both by a column and a field
|
|
formula.
|
|
|
|
From now on, column formulas will no longer temporarily
|
|
overwrite field formulas. This gives much more consistent
|
|
results. For example you can now finally have a column of
|
|
increasing numbers by setting the first field to a fixed
|
|
number, and let the rest follow from a column formula.
|
|
|
|
Here is an example
|
|
|
|
: | 1 |
|
|
: | 2 |
|
|
: | 3 |
|
|
: #+TBLFM: $1=@-1+1::@1$1=1
|
|
|
|
- Constants for formulas in spreadsheets are globally defined
|
|
with the variable `org-table-formula-constants'. File-local
|
|
constants can now be set with a line like:
|
|
|
|
: #+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6
|
|
|
|
*** Minor changes
|
|
|
|
- When entries are archived, a timestamp for the moment of
|
|
archiving is added to the line with planning information.
|
|
It looks like this:
|
|
|
|
: ARCHIVED: [2007-07-02 Mon 11:34]
|
|
|
|
Thanks to J. David Boyd for constructive comments.
|
|
|
|
- Bug fixes
|
|
|
|
Many bugs are fixed, as usually all the ones where I replied
|
|
"fixed" on emacs-orgmode. If you reported one of these
|
|
bugs, please check if it really has disappeared in the new
|
|
version, and complain if not. Thanks!
|
|
|
|
|
|
* Version 4.79
|
|
|
|
** Details
|
|
|
|
- We are back to a single file org.el that works both on Emacs
|
|
and on XEmacs. Merging comes at a speed penalty for you as
|
|
an XEmacs user, but *only if you do not compile* org.el.
|
|
Compilation completely removes the penalty.
|
|
|
|
- New L flag for literal interpolation in Lisp formulas.
|
|
See manual section 3.5.3.
|
|
|
|
- New options for turning off footnotes.
|
|
This was a request from Ignotus.
|
|
See the option `org-export-with-footnotes'.
|
|
|
|
- Default length for Agenda entries, but this is off by
|
|
default. This was a request from Micheal.
|
|
See the option `org-agenda-default-appointment-duration'.
|
|
|
|
- Bug fixes:
|
|
|
|
+ org-agenda-date-later (Juraj Kubelka) + letters off margin in orgcard.ps (Charles Cave)
|
|
+ TODO export problems on XEmacs (ignotus@freemail.hu) + args-out-of-range with table formulas (Cecil Westerhof)
|
|
+ problem with org-file without a heading (Tim O'Callaghan)
|
|
|
|
* Version 4.78
|
|
|
|
** Overview
|
|
|
|
- Time stamps with a time range *included*, like
|
|
: <2007-06-18 Mon 17:33-18:23>
|
|
|
|
- Clock times without clocking in/out: CLOCK: => 2:00
|
|
|
|
- Language-specific characters allowed in TAGS (Emacs only).
|
|
|
|
- Promotion and demotion of items gets the indentation right.
|
|
|
|
- Indenting lines with TAB is more intelligent.
|
|
|
|
** Incompatible changes
|
|
|
|
- There is now a special version of `org.el' for XEmacs.
|
|
Before installation, as an XEmacs user you must rename the
|
|
file org_xemacs.el to org.el, i.e. you must overwrite org.el
|
|
with the xemacs version. For example:
|
|
|
|
: mv org_xemacs.el org.el
|
|
|
|
This is necessary so that I can make use of some features
|
|
that would be cumbersome to support in a single file. The
|
|
XEmacs version is derived from the Emacs version with a
|
|
program, so no reason to fear that I might be dropping
|
|
XEmacs support any time soon. Sorry for the trouble.
|
|
|
|
** Details
|
|
|
|
- A time stamp may now contain a range of times. So you no
|
|
longer need to use two separate stamps to indicate a time
|
|
interval on a single day. For example
|
|
|
|
: <2007-06-18 Mon 17:30-18:20>
|
|
|
|
This is now fully supported, including changing the time
|
|
with S-up/down while the cursor is on the end time. Also,
|
|
da the date/time prompt, you can simply write your time like
|
|
12:00-14:00 and the range will be inserted.
|
|
|
|
This was proposed by Leo some time ago, and recently by
|
|
Michael.
|
|
|
|
- You may specify clocking times by hand (i.e. without
|
|
clocking in and out) using this syntax.
|
|
|
|
: CLOCK: => 2:00
|
|
|
|
Thanks to Scott Jaderholm for this proposal.
|
|
|
|
- TAGS may now contain language-specific word characters, as
|
|
long as they are matched by the "[:alnum:]" regexp syntax.
|
|
This is for Emacs only, the XEmacs version continues to use
|
|
the character class "a-zA-Z0-9_@" for tag names. Thanks to
|
|
David Smith for a patch to this effect (a modified version
|
|
of that patch was applied). I am considering to make the
|
|
same change for TODO keywords, but not yet. Note that files
|
|
using localization features may not work correctly in the
|
|
Emacs configuration of another user, so if you are sharing
|
|
org-mode files with other users, it might still be best to
|
|
stick to the ASCII characters.
|
|
|
|
- Promotion and demotion of plain list items (commands M-left,
|
|
M-right) no longer changes the indentation by just one
|
|
space. Instead, it uses intelligence gathered from the
|
|
surrounding list structure to do the right thing. Thanks to
|
|
William Henney for starting the discussion about this.
|
|
|
|
- TAB does now a better job of indenting lines. + After tables and code segments (lines starting with ":"),
|
|
indentation goes back to what it was before (thanks to
|
|
William Henney for suggesting this behavior).
|
|
|
|
+ When plain lists items are involved, we had a long
|
|
discussion on emacs-orgmode where I tried to show that a
|
|
too-sophisticated implementation will still be easily
|
|
fooled. Here is what I have implemented now - lets see
|
|
if we can agree on this:
|
|
|
|
Indentation will flatten lists with the same bullet type,
|
|
but indent another bullet type further. The time when
|
|
this fails is in a nested list, when you want to get back
|
|
out to a previous level. For example
|
|
|
|
: - item 1
|
|
: - item 2
|
|
: + item 2a
|
|
: + item 2b
|
|
: - item 3
|
|
|
|
When using TAB on every line in this list, the structure
|
|
will change to
|
|
|
|
: - item 1
|
|
: - item 2
|
|
: + item 2a
|
|
: + item 2b
|
|
: - item 3
|
|
|
|
So you need to change the level of the last line by hand,
|
|
using promotion and demotion functions.
|
|
|
|
* Version 4.77
|
|
|
|
** Overview
|
|
|
|
- Vertical lines in exported tables.
|
|
- New default for `org-show-following-heading'.
|
|
|
|
** Incompatible changes
|
|
|
|
- The default for `org-show-following-heading' is now nil.
|
|
|
|
** Details
|
|
|
|
- You can now specify column groups in tables, to the effect
|
|
that the groups will be separated by vertical lines in HTML
|
|
and ASCII output. Column groups are specified by the
|
|
characters "<" and ">" in a special table row. "<" starts a
|
|
group, ">" ends a group (in each case including the the
|
|
column where the character is specified). You may also use
|
|
"<>" to make a group a single column wide. For example:
|
|
|
|
: | | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
|
|
: |---+----+-----+-----+-----+---------+------------|
|
|
: | / | <> | < | | > | < | > |
|
|
: | # | 1 | 1 | 1 | 1 | 1 | 1 |
|
|
: | # | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 |
|
|
: | # | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 |
|
|
: #+TBLFM: $3=$2^2::$4=$2^3::$5=$2^4::$6=sqrt($2)::$7=sqrt(sqrt(($2))
|
|
|
|
A table row with with nothing but "/" in the first field is
|
|
never exported, but can be used to place column group
|
|
information into the table. In this table, we create a
|
|
group for column 2, one for columns 3-5 and one for columns
|
|
6-7. HTML export will render a vertical line between these
|
|
groups.
|
|
|
|
Because HTML does not require closing <colgroup> tags with
|
|
</colgroup>), you can also simply start a new column
|
|
wherever you want a vertical line:
|
|
|
|
: | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N0 |
|
|
: |---+-----+-----+-----+---------+------------|
|
|
: | / | < | < | | < | |
|
|
|
|
- Vertical lines are now also omitted in ASCII export, unless
|
|
grouping explicitly requests these lines.
|
|
|
|
- The default for `org-show-following-heading' is now nil,
|
|
meaning that sparse trees will be more compact. This has
|
|
become possible due to in important remark by Jason Dunsmore
|
|
who pointed out that TAB should behave differently in the
|
|
inconsistent trees produced by the sparse tree commands.
|
|
TAB does now make sure that the heading after a freshly
|
|
unfolded tree is made visible at all, removing the confusing
|
|
behavior we had before.
|
|
|
|
- Several bugs fixed. In particular:
|
|
|
|
+ Strings produced by agenda batch processing with
|
|
`org-batch-agenda' and `org-batch-agenda-csv' are now
|
|
properly encoded, so that you should be able to use
|
|
special characters in other languages as along as your
|
|
post-processing program handles them correctly. At least
|
|
for Emacs this should work now, but have not yet figured
|
|
out how to do this in XEmacs.
|
|
|
|
* Version 4.76
|
|
|
|
** Overview
|
|
|
|
- Exporting Footnotes to HTML
|
|
|
|
** Details
|
|
|
|
- Footnotes like =here[1]= are now exported to HTML
|
|
|
|
: [1]This is a footnote
|
|
|
|
Thanks to Scott Jaderholm for this proposal and a detailed
|
|
HTML example on how the exported text should look like.
|
|
|
|
- Special version of the reference card, for letter paper.
|
|
|
|
- Switching to OVERVIEW with S-TAB no loner moves the cursor,
|
|
so after three `S-TAB' commands, you will be back where you
|
|
started.
|
|
|
|
- Bug fixes, lots of them again.
|
|
|
|
* Version 4.75
|
|
|
|
** Overview
|
|
|
|
- Cyclic time stamps that repeat after an interval.
|
|
- Special timestamps for appointments like "every 2nd Thursday
|
|
in a month".
|
|
- Completion of link abbreviation prefixes inside `C-c C-l'.
|
|
- Replacing a region of org-mode syntax with HTML.
|
|
- iCalendar export now honors ARCHIVE etc.
|
|
- New command to add/change emphasis markers.
|
|
|
|
** Incompatible Changes
|
|
|
|
- The REPEAT(...) cookie is no longer supported, the repeater
|
|
interval now goes directly into the time stamp.
|
|
|
|
** Details
|
|
|
|
- Time stamps can contain a repeater code, like +1w for once
|
|
every week, +2d for every two days, etc. For example,
|
|
|
|
<2007-05-16 Wed 12:30 +1w>
|
|
|
|
will apply to every Wednesday, starting from the date given.
|
|
I believe this syntax was actually suggested by someone on
|
|
the mailing list, but I cannot find the email back. To
|
|
collect your credit, let me know!
|
|
|
|
- You can use an sexp diary entry (with the syntax used by the
|
|
Emacs calendar/diary) in a time stamp, like this:
|
|
|
|
*** The nerd club meets on 2nd Thursday of every month
|
|
<%%(diary-float t 4 2)>
|
|
|
|
- You can put diary-style sexp entries directly into an
|
|
org-mode file, where they will be interpreted just like they
|
|
would in the diary. For example
|
|
|
|
* Birthdays and similar stuff
|
|
#+CATEGORY: Holiday
|
|
%%(org-calendar-holiday) ; special function for holiday names
|
|
#+CATEGORY: Ann
|
|
%%(diary-anniversary 14 5 1956) Artur Dent %d is years old
|
|
%%(diary-anniversary 2 10 1869) Mahatma Gandhi
|
|
|
|
These entries must start at column 0 to be evaluated.
|
|
|
|
It turns out that evaluating the entries in an org-mode file
|
|
is actually faster than in the diary itself, because using
|
|
the diary has some overhead (creating fancy diary display,
|
|
then reading and re-interpreting the entries). I have moved
|
|
all the sexp entries from my diary into an org-mode file,
|
|
put in a few categories, and then turned off
|
|
`org-agenda-include-diary'. This has led to a noticeably
|
|
faster agenda display.
|
|
|
|
- New command `org-replace-region-by-html' that converts the
|
|
current region from org-mode syntax into HTML. For example,
|
|
you might write an itemized list in plain text in an HTML
|
|
buffer, and then invoke this command to convert it. Thanks
|
|
to Raman for this idea.
|
|
|
|
- When inserting a link with `C-c C-l', completion will now
|
|
fill in all valid link prefixes, like http or ftp, but also
|
|
link abbreviation prefixes. This is based on an idea by
|
|
Bastien.
|
|
|
|
- Highest, lowest, and default priority can be set on a
|
|
per-file basis with #+PRIORITIES: H L D
|
|
For example, to use priorities from 1 to 9, you could use
|
|
|
|
#+PRIORITIES: 1 9 9
|
|
|
|
Thanks to Dmitri Minaev for a patch to this effect.
|
|
|
|
- iCalendar export now honors (i.e. skips) subtrees marked as
|
|
ARCHIVE, COMMENT, or QUOTE.
|
|
|
|
- There is a new command to add or change the emphasis (like
|
|
bold or italic) of a piece of text. For lack of better
|
|
available keys the command is at `C-c C-x C-f', but you may
|
|
well want to choose a more convenient key like `C-c f' in
|
|
your private setup:
|
|
|
|
(add-hook 'org-load-hook
|
|
(lambda () (define-key org-mode-map "\C-cf" 'org-emphasize)))
|
|
|
|
The command will prompt for an emphasis type, and you may
|
|
reply either with the marker that triggers the emphasis, or
|
|
with the first letter of the corresponding HTML tag. For
|
|
example, to select italic, press either "/" or "i".
|
|
|
|
If there is an active region, the emphasis of this region
|
|
will be set or changed. If there is no region, only the
|
|
emphasis markers will be inserted and the cursor positioned
|
|
between them. Thanks to Bastien for proposing this feature.
|
|
|
|
- Bug fixes, everything where I have replied "fixed" on the
|
|
mailing list. Thanks to all of you for keeping these reports
|
|
coming.
|
|
|
|
* Version 4.74
|
|
|
|
** Overview
|
|
|
|
This release is about exporting agenda views, to HTML, to
|
|
postscript for printing, and to a special format (CSV) for
|
|
further processing in scripts.
|
|
|
|
** Incompatible Changes
|
|
|
|
- The variable `org-agenda-remove-tags-when-in-prefix' has
|
|
been renamed to `org-agenda-remove-tags'.
|
|
|
|
** Details
|
|
|
|
- Agenda views can be exported as plain text, as HTML, and as
|
|
Postscript(R). This can simply be done from the agenda
|
|
buffer with `C-x C-w' and then specifying a filename like
|
|
`myagenda.html' or `myagenda.ps'. See section 8.6.4 of the
|
|
manual.
|
|
|
|
- Each custom agenda view can specify a list of associated
|
|
files names. The command `C-c a e' then creates all views
|
|
that have associated file names and exports the views to
|
|
these files. This is great for producing paper versions of
|
|
your views, to take with you when you don't have your
|
|
computer. The manual has an example on how to do this, and
|
|
in particular on how to customize the format of the printed
|
|
version. See section 8.6.4 of the manual.
|
|
|
|
- You can produce a CSV format of agenda information with an
|
|
Emacs batch command. This is greate for further processing
|
|
in scipts. Thanks to Jason F. McBrayer for this idea.
|
|
See section 8.6.5 of the manual.
|
|
|
|
- New variable `org-agenda-skip-deadline-if-done'. When set,
|
|
a deadline associated with a DONE item will not be shown in
|
|
the agenda. This is based upon a report by Denis Bueno.
|
|
|
|
- Quite a few bug fixes.
|
|
|
|
* Version 4.73
|
|
|
|
Minor bug fixes.
|
|
|
|
* Version 4.72
|
|
|
|
** Overview
|
|
|
|
- Control over blank lines between trees in collapsed view.
|
|
|
|
- Info about the running clock is shown in the modeline.
|
|
|
|
- C-a can behave specially in headlines.
|
|
|
|
- Better color and scaling defaults for LaTeX fragments.
|
|
|
|
- Customizable list of keys in org-mode to be replaced.
|
|
|
|
- Stuck project descriptions have been extended.
|
|
|
|
- Emphasis code has been modified to fix some issues.
|
|
|
|
- Bug fixes.
|
|
|
|
** Incompatible changes
|
|
|
|
- The option `org-format-latex-options' has changed. If you
|
|
have customized it, please revert to default and then redo
|
|
your customization.
|
|
|
|
- `org-CUA-compatible' no longer modifies S-RET by default,
|
|
because newer versions of CUA don't use this key anymore.
|
|
If you need this replacement, customize the variable
|
|
`org-disputed-keys'.
|
|
|
|
- The variable `org-CUA-compatible' is obsolete, please use
|
|
`org-replace-disputed-keys' instead. `org-CUA-compatible'
|
|
is still an alias for this new variable, though.
|
|
|
|
** Details
|
|
|
|
- Better control over blank lines between trees in collapsed
|
|
view. This has come up several times in the past and most
|
|
recently by Scott Jaderholm. There is now a new variable
|
|
`org-cycle-separator-lines' with default value 2. It says
|
|
how many empty lines there need to be after the end of a
|
|
subtree to get an empty line in collapsed view. So with the
|
|
default, if you leave only one empty line it will disappear
|
|
in collapsed view. If you leave two, one empty line will
|
|
remain so that you can use double empty lines to structure
|
|
the collapsed views of a file. I love it, so many thanks to
|
|
Scott fro bringing this up again.
|
|
|
|
One property of the new setup is that you will never get
|
|
more than one blank line in collapsed view. We could do
|
|
something special to allow *several* empty lines in
|
|
collapsed view, but I think this is counter-productive.
|
|
|
|
In Emacs 22, if you want to make full use of this, make sure
|
|
that you have not set `outline-blank-line'.
|
|
|
|
- When the clock is running, Org-mode will put info about it
|
|
into the modeline. The info consists of the elapsed time
|
|
and the heading of the clocked item. This was a proposal
|
|
from Bastien who got the idea from Muse.
|
|
|
|
- C-a can behave specially in headlines when you set the
|
|
variable `org-special-ctrl-a'. It will bring the cursor
|
|
first back only to the beginning of the headline *text*,
|
|
i.e. after the stars and the TODO keyword, if any. A second
|
|
C-a will then move the cursor to the beginning of the line.
|
|
If the cursor is already at the beginning of the line, C-a
|
|
will spring *forward* to the headline text. This was a
|
|
proposal from Leo, based on a request from Scott Jaderholm.
|
|
|
|
I have not turned this turned this on by default, should I?
|
|
|
|
- When LaTeX fragments are processed into images, there is now
|
|
more control and (hopefully) betters defaults for colors and
|
|
scaling. Special values can be set for HTML export, so that
|
|
these values can differ from what is used for display in an
|
|
emacs buffer. The default foreground and background colors
|
|
for images embedded in emacs are now taken from the default
|
|
emacs face. Thanks to Xiao-Yong Jin for proposing these
|
|
changes.
|
|
|
|
- There is now a much better mechanism to change some keys in
|
|
org-mode if these keys clash with other modes you use. Turn
|
|
this on by setting `org-replace-disputed-keys' (aliased to
|
|
`org-CUA-compatible'). The list of keys to replace is now
|
|
fully customizable, see the option `org-disputed-keys'.
|
|
Many thanks to Meciej Katafiasz for a patch implementing
|
|
this.
|
|
|
|
- Stuck project descriptions have been extended. You can now
|
|
use "*" as a TODO keyword or tag to say that *any* TODO
|
|
keyword or TAG marks a project as non-stuck. You also can
|
|
give an arbitrary regular expression that, if it matches,
|
|
indicates a non-stuck project.
|
|
|
|
- The code for emphasis like bold, italic etc has been
|
|
modified - I might have broken something in the process,
|
|
please let me know if you find problems.
|
|
|
|
- A number of bugs have been fixed - those where I have
|
|
replied "Fixed" on the mailing list.
|
|
|
|
* Version 4.71
|
|
|
|
** Overview
|
|
|
|
** Incompatible changes
|
|
|
|
** Details
|
|
|
|
- New variables to customize the header and data tags in
|
|
exported HTML. These are the variables
|
|
`org-export-table-header-tags' and
|
|
`org-export-table-data-tags'. This follows a request from
|
|
Scott Otterson.
|
|
|
|
- New option `org-format-latex-header' for customizing the
|
|
header of the LaTeX file used to convert embedded LaTeX to
|
|
images. Thanks to `Matthieu Lemerre' for the suggestion.
|
|
|
|
- The prefix version of `org-todo-list' works again. This
|
|
means that `C-1 C-c a t' produces the list of TODO entries
|
|
for the first TODO keyword. If you use different TODO setups
|
|
in different agenda files, be careful: This number now
|
|
refers to the list of *all* todo keywords used in files
|
|
that are scanned for the agenda.
|
|
|
|
- Many bug fixes.
|
|
|
|
* Version 4.70
|
|
|
|
** Overview
|
|
|
|
- Dust settles after revamp of TODO keyword system.
|
|
- The export title can be taken from the first text line.
|
|
- TTY replacement keys have changed.
|
|
|
|
** Incompatible changes
|
|
|
|
- Some TTY replacement keys are changed, see below.
|
|
|
|
** Details
|
|
|
|
- Further development concerning TODO keywords.
|
|
|
|
+ You can now have several DONE states in a sequence, like
|
|
|
|
#+SEQ_TODO: TODO VERIFY | DONE DELEGATED
|
|
|
|
The difference to the proposal discussed on the mailing
|
|
list (and which is also works!)
|
|
|
|
#+SEQ_TODO: TODO VERIFY | DONE
|
|
#+SEQ_TODO: | CANCELED
|
|
|
|
is that in the first case, the extra DONE states will be
|
|
reached with `C-c C-t' (or with `t' from the agenda), while
|
|
in the second case you need S-<right> to get to the special
|
|
states. I guess both ideas can be useful - I am leaning
|
|
toward using the latter.
|
|
|
|
+ Setting up TODO keywords in Lisp previously used two
|
|
separate variables: `org-todo-keywords' and
|
|
`org-todo-interpretation'. The preferred way is now to use
|
|
only `org-todo-keywords', with a new structure:
|
|
|
|
(setq org-todo-keywords
|
|
'((sequence "TODO" "|" "DONE")
|
|
(sequence "BUG" "KNOWNCAUSE" "|" "FIXED" "IGNORED")
|
|
(type "Fred" "Lisa" "Peter" "|" "DONE")
|
|
(sequence "CANCELED") ; for things we decide to not do.
|
|
))
|
|
|
|
If your setting has this new structure,
|
|
`org-todo-interpretation' will be ignored. This change
|
|
does not break backward compatibility. The old way of
|
|
using a flat list in `org-todo-keywords' and taking the
|
|
interpretation from the other variable still works.
|
|
|
|
+ When listing *specific* TODO entries via a sparse tree
|
|
(`C-u C-c C-v') or via the agenda (`C-c a T' or `C-u C-c a
|
|
t'), you can now specify several keywords to be selected,
|
|
like "TODO|VERIFY|WAITING". This also works for custom
|
|
agenda commands. Thanks to Jason F. McBrayer for pointing
|
|
out this omission.
|
|
|
|
- If you have configured Org-mode to export also the text
|
|
before the first headline (this is done by setting the
|
|
variable `org-export-skip-text-before-1st-heading' to nil),
|
|
then the first normal text line in the buffer becomes the
|
|
title of the exported document. A title set with #+TITLE
|
|
overules this default, and the first line then belongs to the
|
|
normal text. Thanks to David House for this proposal.
|
|
|
|
- TTY replacement keys. Some of the key bindings used by
|
|
Org-mode do not work on a tty, so replacement key sequences
|
|
are provided on ttys. In version 4.70, there are some
|
|
changes in the tty replacements. Thanks to Jason F. McBrayer
|
|
for coming up with the idea to use C-c <cursor> keys.
|
|
|
|
| Command | | Old TTY | New TTY |
|
|
| org-..... | Main Key | Replacement | Replacement |
|
|
|-------------------+-----------+---------------+---------------|
|
|
| shiftleft | S-left | C-c C-x left | C-c left |
|
|
| shiftright | S-right | C-c C-x right | C-c right |
|
|
| shiftup | S-up | C-c C-x up | C-c up |
|
|
| shiftdown | S-down | C-c C-x down | C-c down |
|
|
| shiftcontrolleft | C-S-left | | C-c C-x left |
|
|
| shiftcontrolright | C-s-right | | C-c C-x right |
|
|
|
|
|
|
* Version 4.69
|
|
|
|
** Overview
|
|
|
|
This time the changes affect the following areas:
|
|
|
|
- TODO keywords: Multiple sequences in a single file.
|
|
- Export: More control over text before the first heading.
|
|
- Export: More control over sub/superscript interpretation.
|
|
- Plain lists: Option to let empty lines terminate lists.
|
|
- Tables: New command to insert hline and move into line below.
|
|
- REPEATing items: Turn of note taking.
|
|
- Bug fixes.
|
|
|
|
** Incompatible changes
|
|
|
|
- It used to be possible to spread the list of TODO keywords
|
|
over several lines, like
|
|
|
|
#+SEQ_TODO: TODO
|
|
#+SEQ_TODO: PROGRESS
|
|
#+SEQ_TODO: DONE
|
|
|
|
This is no longer possible. Each such line now specifies an
|
|
independent set of TODO keywords, with its own DONE state.
|
|
See below for details.
|
|
|
|
- The #+TEXT construct has been used to insert unchanged HTML
|
|
into an exported file. This is no longer possible, the TEXT
|
|
lines will be processed like any other lines. However,
|
|
there are now much better ways of getting quoted HTML into
|
|
the exported file.
|
|
|
|
** Details
|
|
|
|
- You can now use multiple sets of TODO keywords in the same
|
|
buffer. For example, you may put the following three lines
|
|
into a file:
|
|
|
|
#+SEQ_TODO: TODO DONE
|
|
#+SEQ_TODO: REPORT BUG KNOWNCAUSE RESOLVED
|
|
#+TYP_TODO: Fred Laura Peter Me OK
|
|
|
|
Each sub-sequence has its own DONE state. It is best to use
|
|
different keywords in all sequences, to make sure Org-mode
|
|
does not loose track in which specific sequence it is
|
|
working. You could use the same word for all DONE states,
|
|
but then cycling through to a TODO state might not bring you
|
|
where you want to be.
|
|
|
|
After initially setting a keyword, `C-c C-t' cycles through
|
|
a sublist, i.e. is cycles from TODO to DONE or from
|
|
KNOWNCAUSE to RESOLVED and further to (nothing) and back to
|
|
REPORT.
|
|
|
|
S-right and S-left allow to select any keyword, so they move
|
|
from DONE to REPORT and from RESOLVED to Fred.
|
|
|
|
C-S-right and C-S-left jump from one sub-sequence to the
|
|
next, for example from TODO or DONE to REPORT to Fred.
|
|
|
|
Thanks to Rick Moynihan for triggering this development.
|
|
|
|
- Text before the first headline can now be exported if you
|
|
configure Org-mode accordingly. Either set the variable
|
|
`org-export-skip-text-before-1st-heading' to nil, or use the
|
|
new in-buffer option
|
|
|
|
#+OPTION: skip:nil
|
|
|
|
- Export content specified via the #+TEXT construct is now
|
|
fully processed, i.e. links, emphasis etc. are all
|
|
interpreted. #+TEXT lines may include
|
|
#+BEGIN_HTML...#+END_HTML sections to embed literal HTML.
|
|
|
|
- During HTML export, you can request to have a_{b}
|
|
interpreted as a subscript, but to leave a_b as it is. This
|
|
can be done by setting the variable
|
|
org-export-sub-superscript to the symbol `{}' with
|
|
|
|
(setq org-export-sub-superscript '{})
|
|
|
|
or by using
|
|
|
|
#+OPTIONS: ^:{}
|
|
|
|
Thanks to Eddward DeVilla for this idea.
|
|
|
|
- New variable `org-empty-line-terminates-plain-lists'.
|
|
Default is nil, meaning that empty lines are part of the
|
|
previous list item, and that you can have several paragraphs
|
|
in one such item. Set this to t if you want an empty line
|
|
terminate all levels of plain list items.
|
|
|
|
Thanks to Mike Newman for triggering this development.
|
|
|
|
- C-c RET does insert a horizontal separator line and move the
|
|
cursor into the table line below it. Thanks to Bastien for
|
|
this proposal.
|
|
|
|
- Org-mode always offers you to record a note when a TODO item
|
|
automatically repeats, even if you are not logging state
|
|
changes. The new variable `org-log-repeat' allows to turn
|
|
this off, so that notes are really only been taken if you
|
|
are logging all state changes.
|
|
|
|
- Various Bug fixes, thanks to everyone who reported.
|
|
|
|
* Version 4.68
|
|
|
|
** Overview
|
|
- Priority handling in the tags view
|
|
- Date/time prompt follows the popup calender, and accepts AM/PM times.
|
|
- Standard references like B4 in the spreadsheet.
|
|
- Improvements to the formula editor.
|
|
- C-j does better indentation.
|
|
- Bug fixes
|
|
|
|
** Details
|
|
- Priority handling in the tags view
|
|
|
|
+ Agenda lists selected by tag are now sorted by priority.
|
|
Thanks to Andrew Korty for reporting this omission.
|
|
|
|
- Improvements to the date/time prompt. + When you move (using S-cursor keys) the cursor in the pop-up
|
|
calendar window while responding to a date/time prompt, the
|
|
prompt is updated with the new default date (Emacs only).
|
|
|
|
+ You can now enter AM/PM times at this prompt.
|
|
|
|
- Changes in the spreadsheet
|
|
|
|
+ You can now also write B4 instead of @4$2 as a reference in
|
|
formulas. The column references without specified row can be
|
|
written as C& instead of $3. Such references make formulas
|
|
easier to read and are now the default way how references are
|
|
shown when you edit existing formulas. To get the old behavior
|
|
back (i.e. only @row$col references), set the variable
|
|
`org-table-use-standard-references' to nil.
|
|
|
|
Relative references like @-3$-2 or @II..III continue to use the
|
|
internal format.
|
|
|
|
- Changes in the formula editor (the one you get with "C-c '")
|
|
|
|
+ The formulas are organized in a more logical way.
|
|
|
|
+ There is now a menu with commands.
|
|
|
|
+ When starting the formula editor with "C-c '", the cursor
|
|
immediately moves to the formula for the current field.
|
|
|
|
+ With the cursor on a reference in the formula, you can use
|
|
S-cursor keys to change the field being referenced.
|
|
|
|
- C-j indents the following line correctly whe used in a headline
|
|
or in aplain list item. Thanks to Leo for this suggestion.
|
|
|
|
- Bug fixes
|
|
|
|
+ Flyspell now knows about special org-mode commands.
|
|
Thanks to Vinod Valsalam for reporting this problem, and to
|
|
Andrew Korty for showing how to fix it.
|
|
|
|
+ Most other bugs discussed recently on emacs-orgmode@gnu.org
|
|
should be fixed, except the problem with non-ASCII characters
|
|
in tags....
|
|
|
|
* Version 4.67
|
|
|
|
- Expert mode for fast tag selection.
|
|
When org-fast-tag-selection-single-key is `expert', not even
|
|
the selection window is shown, only the prompt. One more C-c
|
|
gets you the window, another one goes to multiple selection mode.
|
|
|
|
- Synchronized with Emacs once more: Emacs CVS has now org-mode
|
|
4.67. At least until it causes a problem, then the Emacs people
|
|
will switch back to 4.56. Lets hope there will be no problem.
|
|
|
|
- Code cleanup
|
|
|
|
- Bug fixes
|
|
|
|
* Version 4.66
|
|
|
|
** Overview
|
|
|
|
- Sorting of top-level entries works now if the region contains
|
|
top-level entries, or if the cursor is before the first headline.
|
|
Thanks to "redblue" for reporting this bug.
|
|
|
|
- When entering date and time at the prompt, you can now mix
|
|
entering text and selecting something in the calendar. For
|
|
example, enter 22:15 at the prompt without pressing RET, and then
|
|
click on a date in the calendar. Both pieces of information will
|
|
be included in the resulting time stamp. You can also use
|
|
S-curser to move the cursor in the calendar to the desired date
|
|
and then enter 22:15 and press RET at the prompt.
|
|
|
|
- When setting a deadline or a schedule, entering a time now
|
|
automatically selects the time stamp format that includes the
|
|
time. Bug report (by means of a question) from Bastre.
|
|
|
|
- C-c C-l can be used to convert a plain link into a bracket link.
|
|
|
|
- Internal links now match inside (the visible part of) other
|
|
links. Thanks to Scott Otterson for reporting this bug.
|
|
|
|
- iCalendar export of TODO items fixed, see also the variable
|
|
`org-icalendar-include-todo'. Thanks to Philipp Raschdorf.
|
|
|
|
- The number of levels in the table of contents of an exported
|
|
document can now be set independently of the number of headline
|
|
levels. For example:
|
|
|
|
#+OPTIONS: H:4 toc:2
|
|
|
|
- The command `C-c }' toggles the display of row and column numbers
|
|
the the current table, to aid constructing formulas. To try it,
|
|
move the cursor to a table and press `C-c }', or use the menu
|
|
entry.
|
|
|
|
- Orgtbl translation functions (introduced in 4.65) have been
|
|
simplified using a generic function `orgtbl-to-generic' that can
|
|
be used for very general languanges. Writing your own translator
|
|
should be very easy now. More info in the manual.
|
|
|
|
- CONTENTS visibility can be limited to a certain level. The
|
|
command `C-3 S-TAB' will switch to CONTENTS view and show the
|
|
first 3 levels.
|
|
|
|
- Bug fixes.
|
|
|
|
* Version 4.65
|
|
|
|
** Overview
|
|
|
|
- Orgtbl can be used to maintain tables in LaTeX, and in any other mode
|
|
- Editing Lisp formulas for tables improved.
|
|
- Better structure for HTML exported tables.
|
|
- New "calculation" marker "/" to mark lines that should not be exported.
|
|
|
|
** Detailed description of changes
|
|
|
|
- You can use orgtbl mode to maintain a LaTeX table, or pretty much
|
|
any table in any mode.
|
|
|
|
This does *not* work by making Orgtbl aware of LaTeX syntax. That
|
|
would be a box of Pandora I am not willing to open. Instead, you
|
|
use a normal Orgtbl-mode table, and a converter program to
|
|
automatically place a LaTeX version of the table into the correct
|
|
spot in the LaTeX file. The orgtbl-mode table can be maintained
|
|
inside the same file, in a block comment.
|
|
|
|
I am providing translators for LaTeX, HTML, and TeXInfo. For
|
|
other applications, you need to write one yourself - but that is
|
|
not hard if you start from the LaTeX version and just modify it.
|
|
Thanks to Thomas Baumann for triggering this development through
|
|
a request for a table-to-LaTeX converter.
|
|
|
|
- In the special buffer to edit the formulas of a table (created
|
|
with "C-c '"), there is now better support for editing Lisp
|
|
formulas. TAB and M-TAB work like in an Emacs Lisp buffer,
|
|
indenting lines and completing lisp symbols. With the cursor on
|
|
a line defining a complex Lisp formula, a first press on TAB will
|
|
convert the formula into a pretty-printed version with proper
|
|
linebreaks and indentation. A second TAB folds the line back to
|
|
the compact form.
|
|
|
|
- Tables in HTML export have now additional structure elements
|
|
defined. The header (before the first hline) is wrapped into
|
|
<thead>..</thead>, and each part of the body (as separated in
|
|
org-mode by hlines) is wrapped into <tbody>..</tbody> tags. I
|
|
have also changed the CSS style for <td> fields and the value of
|
|
`org-export-html-table-tag' to get cleaner tables. Basically,
|
|
tables now have horizontal lines only where needed, and no
|
|
vertical lines at all, as generally recommended for tables in
|
|
printed text. I like the new look, but I am not sure if this
|
|
change will find general approval, please throw in your view if
|
|
you like. Thanks to Scott for driving this, and to goud-H for
|
|
pointing me to the row grouping in tables.
|
|
|
|
- In a table with calculation markers in the first column, you can
|
|
now also put "/" into the first column. It indicates that this
|
|
line should not be exported. The foremost application for this
|
|
are lines containing only "<N>" markers for narrowing columns.
|
|
|
|
* Version 4.64
|
|
|
|
** Overview
|
|
|
|
- Email links get better, configurable descriptions
|
|
- When inserting a link, selected text becomes the description
|
|
- Easier access to the list of stored links.
|
|
- Horizontal lines in HTML export.
|
|
- Remember templates and storing of notes improved.
|
|
|
|
** Detailed description of changes
|
|
|
|
- The descriptive part of links to email messages can be configured
|
|
using the variable `org-email-link-description-format'. The new
|
|
default is "Email %c: %.30s" and leads to
|
|
|
|
Email from NAME: SUBJECT
|
|
|
|
If you configure the variable `org-from-is-user-regexp'
|
|
correctly, then for email you *sent* this will actually change to
|
|
|
|
Email to NAME: SUBJECT
|
|
|
|
The subject is limited to 30 characters. If you have become
|
|
attached to the previous default (look twice, the new one is
|
|
better), use "%f on: %s" as your format.
|
|
|
|
- Selecting text before entering a new link with C-c C-l now really
|
|
works, the selected text becomes the description part of the
|
|
link. Requested by Scott, buggy 4.62 implementation is now fixed.
|
|
|
|
- Stored links are part of the history list for C-c C-l, so to
|
|
reach them, you can use up/down rather than completion. Thanks
|
|
to Raman for this excellent idea.
|
|
|
|
- A line consisting only of "-", and at least 5 of them, is
|
|
exported into HTML as <hr/>, as proposed by Giovanni Ridolfi.
|
|
|
|
- Several changes to org <-> remember integration
|
|
|
|
- You can use `org-remember' as your default command to start
|
|
remember. It will automatically detect if there is an active
|
|
region and use it as initial content (we will probably make
|
|
remember.el work like this as well).
|
|
Also, when calling `org-remember' in a remember buffer that
|
|
was created with a template, you will again be asked to
|
|
select a template. The buffer is then re-created with the
|
|
new template, but the old context information. This is
|
|
useful if you change your mind about the template to use
|
|
(Leo's idea).
|
|
|
|
- Besides specifying a default *target* file for a note, you
|
|
can also give a default *heading* of which the note should
|
|
become a subitem. In many cases this avoids or speeds up
|
|
navigating to the right location. Both file and heading can
|
|
be different for each template. Both are non-binding, you
|
|
can change them while storing the note. However, when you
|
|
exit remember with C-u C-c C-c, these defaults will be used
|
|
without interaction.
|
|
|
|
- Templates can specify interactive fields. During expansion
|
|
of the template, you will be prompted for the information in
|
|
that field. For example %^t will pop up a calendar and ask
|
|
you to select a date. This new feature follows a proposal
|
|
from Leo, who in the mean time has said he does not need it
|
|
anymore. But I liked it, so here it is :-)
|
|
|
|
- Templates can access information specific to the link type
|
|
created, for example the author and subject of an email.
|
|
Syntax is %:fromname, %:fromaddress, %:subject etc, details
|
|
in the manual. Proposed by Peder O. Klingenberg.
|
|
|
|
- I have been considering to move, at some stage, the template
|
|
functionality into remember.el itself - which would of course
|
|
require consent of the remember.el maintainers. I am not
|
|
sure how well this would work though, since some things like
|
|
the interactive time stamps are org.el specific, so treating
|
|
them would require special hooks. Comments?
|
|
|
|
* Version 4.63
|
|
- Bug fixes
|
|
|
|
* Version 4.62
|
|
- Many changes to the spreadsheet functions in the table editor.
|
|
For details, please re-read the manual section 3.4. + New Features
|
|
- It is much easier to assign formulas to individual fields.
|
|
- References to arbitrary fields and ranges.
|
|
- Absolute references are modified in row-editing commands.
|
|
- Formula editor that highlights referenced fields.
|
|
+ Incompatible changes
|
|
- Empty fields are excluded in range references, see "E" mode flag.
|
|
- &... ranges no longer supported, use new @... ranges.
|
|
- Variable insertion into Lisp formulas work differently.
|
|
- Selected text becomes the default description for C-c C-l links.(Scott)
|
|
- The date format in the agenda/timeline views is now customizable.
|
|
See the new option `org-agenda-date-format'. (request by Victor)
|
|
- Link abbreviations no longer need a double colon, single colon is fine.
|
|
- Bug fixes.
|
|
|
|
* Version 4.61
|
|
- Avoiding keybinding clashes with flyspell
|
|
- Archiving is now also on `C-C C-x C-s' (was just `C-c $')
|
|
- Cycling through agenda files is now also on "C-'" (was just "C-,")
|
|
- Colon is considered part of number, to align times in clock tables.
|
|
- Fixed bug for list of stuck projects.
|
|
- Fixed several bugs/problems concerning linking to gnus.
|
|
- Block agendas can contain the list of stuck projects.
|
|
- #+ARCHIVE may now appear several times in the buffer.
|
|
- More bug fixes.
|
|
|
|
* Version 4.60
|
|
- HTML export: inlining images, clickable images (manual 10.2.4).
|
|
- Incremental search now shows proper context when exiting.
|
|
- Tables calculation and Calc package.
|
|
- Calc is no longer needed when using only elisp formulas.
|
|
- Proper error messages when calc is needed and not available.
|
|
- Tracking TODO state changes with time stamps and notes.
|
|
- Empty entries go full circle.
|
|
- Links in iCalendar export cleaned up.
|
|
- Bug fixes.
|
|
|
|
|
|
* Version 4.59
|
|
- Cleanup code, bug fixes.
|
|
|
|
* Version 4.58
|
|
- Full undo support in the agenda buffer.
|
|
- Listing stuck GTD projects (projects without any NEXT ACTIONS).
|
|
Configure `org-stuck-projects' before using it.
|
|
- C-c C-x b shows the current subtree in an indirect buffer, in
|
|
another, dedicated frame.
|
|
- Custom agenda commands take precedence over builtin commands.
|
|
- auto-fill for comments works on the Emacs side, XEmacs not yet.
|
|
|
|
* Version 4.57
|
|
- Sorting of outline items on same level.
|
|
- Sorting tables automatically selects line range between hlines.
|
|
- Changes in Agenda buffer
|
|
- `C-c C-o' follows a link in the current line.
|
|
- `C-c $' archives the subtree corresponding to the line.
|
|
- Changing dates with S-left and S-right show new date in agenda,
|
|
but still do not move the entry to the new date.
|
|
- new option `org-agenda-skip-scheduled-if-done'.
|
|
- Agenda and sparse tree construction using tag matches can now
|
|
use regular expressions.
|
|
- When prompted for a date/time, entering "+7" indicates a date
|
|
7 days from now - but only this is the only thing you give.
|
|
- Custom time formats also apply to exported html and ascii.
|
|
- Bug fixes.
|
|
|
|
* Version 4.56
|
|
- `C-k' in agenda kills current line and corresponding subtree in file.
|
|
- XEmacs compatibility issues fixed, in particular tag alignment.
|
|
- M-left/right now in/outdents plain list items, no Shift needed.
|
|
- Bug fixes.
|
|
|
|
* Version 4.55
|
|
- Bug fixes.
|
|
|
|
* Version 4.54
|
|
- Improvements to fast tag selection + show status also in target line.
|
|
+ option to auto-exit after first change to tags list (see manual).
|
|
- Tags sparse trees now also respect the settings in
|
|
`org-show-hierarchy-above' and `org-show-following-heading'.
|
|
- Bug fixes.
|
|
|
|
* Version 4.53
|
|
- Custom time formats can be overlayed over time stamps.
|
|
- New option `org-agenda-todo-ignore-deadlines'.
|
|
- Work-around for flyspell bug (CVS Emacs has this fixed in flyspell.el).
|
|
- Work-around for session.el problem with circular data structures.
|
|
- Bug fixes.
|
|
|
|
* Version 4.52
|
|
- TAG matches can also specify conditions on TODO keywords.
|
|
- The fast tag interface allows setting tags that are not in the
|
|
predefined list.
|
|
- Bug fixes.
|
|
|
|
* Version 4.51
|
|
- Link abbreviations (manual section 4.5).
|
|
- More control over how agenda is displayed. See the new variables
|
|
`org-agenda-window-setup', `org-agenda-restore-windows-after-quit'.
|
|
- Bug fixes.
|
|
|
|
* Version 4.50
|
|
- Closing a TODO item can record an additional note.
|
|
See variables `org-log-done' and `org-log-note-headings'.
|
|
- Inserting headlines and bullets can leave an extra blank line.
|
|
See variable `org-blank-before-new-entry'. (Ed Hirgelt patch)
|
|
- [[bracket links]] in the agenda are active just as in org-mode buffers.
|
|
- C-c C-o on a date range displays the agenda for exactly this range.
|
|
- The default for `org-cycle-include-plain-lists' is back to nil.
|
|
- Calls to `org-occur' can be stacked by using a prefix argument.
|
|
- The options `org-show-hierarchy-above' and `org-show-following-heading'
|
|
now always default to `t', but can be customized differently for
|
|
different types of sparse trees or jump commands.
|
|
- Bug fixes.
|
|
|
|
|
|
* Version 4.49
|
|
- Agenda views can be made in batch mode from the command line.
|
|
- `org-store-link' does the right thing in dired-mode.
|
|
- File links can contain environment variables.
|
|
- Full Emacs 21 compatibility has been restored.
|
|
- Bug fixes.
|
|
|
|
* Version 4.47
|
|
- Custom commands may produce an agenda which contains several blocks,
|
|
each block created by a different agenda command.
|
|
- Agenda commands can be restricted to the current file, region, subtree.
|
|
- The timeline command must now be called through the agenda
|
|
dispatcher (C-c a L). `C-c C-r' no longer works.
|
|
- Agenda items can be sorted by tag. The *last* tag is used for this.
|
|
- The prefix and the sorting strategy for agenda items can depend
|
|
upon the agenda type.
|
|
- The handling of `mailto:' links can be customized, see the new
|
|
variable `org-link-mailto-program'.
|
|
- `mailto' links can specify a subject after a double colon,
|
|
like [[mailto:carsten@orgmode.org::Org-mode is buggy]].
|
|
- In the #+STARTUP line, M-TAB completes valid keywords.
|
|
- In the #+TAGS: line, M-TAB after ":" inserts all currently used tags.
|
|
- Again full Emacs 21 support: Checkboxes and publishing are fixed.
|
|
- More minor bug fixes.
|
|
|
|
* Version 4.45
|
|
- Checkbox lists can show statistics about checked items.
|
|
- C-TAB will cycle the visibility of archived subtrees.
|
|
- Documentation about checkboxes has been moved to chapter 5.
|
|
- Bux fixes.
|
|
|
|
* Version 4.44
|
|
- Clock table can be done for a limited time interval.
|
|
- Obsolete support for the old outline mode has been removed.
|
|
- Bug fixes and code cleaning.
|
|
|
|
* Version 4.43
|
|
- Bug fixes
|
|
- `s' key in the agenda saves all org-mode buffers.
|
|
|
|
* Version 4.41
|
|
- Shift-curser keys can modify inactive time stamps (inactive time
|
|
stamps are the ones in [...] brackets.
|
|
- Toggle all checkboxes in a region/below a headline.
|
|
- Bug fixes.
|
|
|
|
* Version 4.40
|
|
- Bug fixes.
|
|
|
|
|
|
* Version 4.39
|
|
- Special tag ARCHIVE keeps a subtree closed and away from agenda lists.
|
|
- LaTeX code in Org-mode files can be converted to images for HTML.
|
|
- Bug fixes.
|
|
- CDLaTeX-mode features can be used in Org-mode to help inserting
|
|
LaTeX environment and math.
|
|
|
|
* Version 4.38
|
|
- noutline.el is now required (important for XEmacs users only).
|
|
- Dynamic blocks.
|
|
- Archiving of all level 1 trees without open TODO items.
|
|
- Clock reports can be inserted into the file in a special section.
|
|
- FAQ removed from the manual, now only on the web.
|
|
- Bug fixes.
|
|
|
|
* Version 4.37
|
|
- Clock-feature for measuring time spent on specific items.
|
|
- Improved emphasizing allows configuration and stacking.
|
|
|
|
* Version 4.36
|
|
- Improved indentation of ASCII export, when headlines become items.
|
|
- Handling of 12am and 12pm fixed. Times beyond 24:00 can be used
|
|
and will not lead to conflicts.
|
|
- Support for mutually exclusive TAGS with the fast tags interface.
|
|
- Bug fixes.
|
|
|
|
* Version 4.35
|
|
- HTML export is now valid XHTML.
|
|
- Timeline can also show dates without entries. See new option
|
|
`org-timeline-show-empty-dates'.
|
|
- The bullets created by the ASCII exporter can now be configured.
|
|
See the new option `org-export-ascii-bullets'.
|
|
- New face `org-upcoming-deadline' (was `org-scheduled-previously').
|
|
- New function `org-context' to allow testing for local context.
|
|
|
|
* Version 4.34
|
|
- Bug fixes.
|
|
|
|
* Version 4.33
|
|
- New commands to move through plain lists: S-up and S-down.
|
|
- Bug fixes and documentation update.
|
|
|
|
* Version 4.32
|
|
- Fast (single-key-per-tag) interface for setting TAGS.
|
|
- The list of legal tags can be configured globally and locally.
|
|
- Elisp and Info links (thanks to Todd Neal).
|
|
- `org-export-publishing-directory' can be an alist, with different
|
|
directories for different export types.
|
|
- All context-sensitive commands use `call-interactively' to dispatch.
|
|
- `org-confirm-shell-links' renamed to `org-confirm-shell-link-function'.
|
|
- Bug fixes.
|
|
|
|
* Version 4.31
|
|
- Bug fixes.
|
|
|
|
* Version 4.30
|
|
- Modified installation: Autoloads have been collected in org-install.el.
|
|
- Logging (org-log-done) is now a #+STARTUP option.
|
|
- Checkboxes in plain list items, following up on Frank Ruell's idea.
|
|
- File links inserted with C-c C-l will use relative paths if the linked
|
|
file is in the current directory or a subdirectory of it.
|
|
- New variable `org-link-file-path-type' to specify preference for
|
|
relative and absolute paths.
|
|
- New CSS classes for tags, timestamps, timestamp keywords.
|
|
- Bug and typo fixes.
|
|
|
|
|
|
* Version 4.29
|
|
- Inlining images in HTML export now depends on wheather the link
|
|
contains a description or not.
|
|
- TODO items can be scheduled from the global TODO list using C-c C-s.
|
|
- TODO items already scheduled can be made to disappear from the global
|
|
todo list, see `org-agenda-todo-ignore-scheduled'.
|
|
- In Tables, formulas may also be Lisp forms.
|
|
- Exporting the visible part of an outline with `C-c C-x v' works now
|
|
for all available exporters.
|
|
- Bug fixes, lots of them :-(
|
|
|
|
* Version 4.28
|
|
- Bug fixes.
|
|
|
|
* Version 4.27
|
|
- HTML exporter generalized to receive external options.
|
|
As part of the process, author, email and date have been moved to the
|
|
end of the HTML file.
|
|
- Support for customizable file search in file links.
|
|
- BibTeX database links as first application of the above.
|
|
- New option `org-agenda-todo-list-sublevels' to turn off listing TODO
|
|
entries that are sublevels of another TODO entry.
|
|
|
|
* Version 4.26
|
|
- Bug fixes.
|
|
|
|
* Version 4.25
|
|
- Revision of the font-lock faces section, with better tty support.
|
|
- TODO keywords in Agenda buffer are fontified.
|
|
- Export converts links between .org files to links between .html files.
|
|
- Better support for bold/italic/underline emphasis.
|
|
|
|
* Version 4.24
|
|
- Bug fixes.
|
|
|
|
* Version 4.23
|
|
- Bug fixes.
|
|
|
|
* Version 4.22
|
|
- Bug fixes.
|
|
- In agenda buffer, mouse-1 no longer follows link.
|
|
See `org-agenda-mouse-1-follows-link' and `org-mouse-1-follows-link'.
|
|
|
|
* Version 4.20
|
|
- Links use now the [[link][description]] format by default.
|
|
When inserting links, the user is prompted for a description.
|
|
- If a link has a description, only the description is displayed
|
|
the link part is hidden. Use C-c C-l to edit the link part.
|
|
- TAGS are now bold, but in the same color as the headline.
|
|
- The width of a table column can be limited by using a field "<N>".
|
|
- New structure for the customization tree.
|
|
- Bug fixes.
|
|
|
|
|
|
* Version 4.13
|
|
- The list of agenda files can be maintainted in an external file.
|
|
- Bug fixes.
|
|
|
|
* Version 4.12
|
|
- Templates for remember buffer. Note that the remember setup changes.
|
|
To set up templates, see `org-remember-templates'.
|
|
- The time in new time stamps can be rounded, see new option
|
|
`org-time-stamp-rounding-minutes'.
|
|
- Bug fixes (there are *always* more bugs).
|
|
|
|
[...]
|
|
|
|
Version 4.00
|
|
- Headlines can contain TAGS, and Org-mode can produced a list
|
|
of matching headlines based on a TAG search expression.
|
|
- `org-agenda' has now become a dispatcher that will produce the agenda
|
|
and other views on org-mode data with an additional keypress.
|
|
|
|
|
|
* Version 3.24
|
|
- Switching and item to DONE records a time stamp when the variable
|
|
`org-log-done' is turned on. Default is off.
|
|
|
|
* Version 3.23
|
|
- M-RET makes new items as well as new headings.
|
|
- Various small bug fixes
|
|
|
|
* Version 3.22
|
|
- CamelCase words link to other locations in the same file.
|
|
- File links accept search options, to link to specific locations.
|
|
- Plain list items can be folded with `org-cycle'. See new option
|
|
`org-cycle-include-plain-lists'.
|
|
- Sparse trees for specific TODO keywords through numeric prefix
|
|
argument to `C-c C-v'.
|
|
- Global TODO list, also for specific keywords.
|
|
- Matches in sparse trees are highlighted (highlights disappear with
|
|
next buffer change due to editing).
|
|
|
|
* Version 3.21
|
|
- Improved CSS support for the HTML export. Thanks to Christian Egli.
|
|
- Editing support for hand-formatted lists
|
|
- M-S-cursor keys handle plain list items
|
|
- C-c C-c renumbers ordered plain lists
|
|
|
|
* Version 3.20
|
|
- There is finally an option to make TAB jump over horizontal lines
|
|
in tables instead of creating a new line before that line.
|
|
The option is `org-table-tab-jumps-over-hlines', default nil.
|
|
- New command for sorting tables, on `C-c ^'.
|
|
- Changes to the HTML exporter
|
|
- hand-formatted lists are exported correctly, similar to
|
|
markdown lists. Nested lists are possible. See the docstring
|
|
of the variable `org-export-plain-list-max-depth'.
|
|
- cleaned up to produce valid HTML 4.0 (transitional).
|
|
- support for cascading style sheets.
|
|
- New command to cycle through all agenda files, on C-,
|
|
- C-c [ can now also be used to change the sequence of agenda files.
|
|
|
|
|
|
* Version 3.19
|
|
- Bug fixes
|
|
|
|
* Version 3.18
|
|
- Export of calendar information in the standard iCalendar format.
|
|
- Some bug fixes.
|
|
|
|
* Version 3.17
|
|
- HTML export specifies character set depending on coding-system.
|
|
|
|
* Version 3.16
|
|
- In tables, directly after the field motion commands like TAB and RET,
|
|
typing a character will blank the field. Can be turned off with
|
|
variable `org-table-auto-blank-field'.
|
|
- Inactive timestamps with `C-c !'. These do not trigger the agenda
|
|
and are not linked to the calendar.
|
|
- Additional key bindings to allow Org-mode to function on a tty emacs.
|
|
- `C-c C-h' prefix key replaced by `C-c C-x', and `C-c C-x C-h' replaced
|
|
by `C-c C-x b' (b=Browser). This was necessary to recover the
|
|
standard meaning of C-h after a prefix key (show prefix bindings).
|
|
|
|
* Version 3.15
|
|
- QUOTE keyword at the beginning of an entry causes fixed-width export
|
|
of unmodified entry text. `C-c :' toggles this keyword.
|
|
- New face `org-special-keyword' which is used for COMMENT, QUOTE,
|
|
DEADLINE and SCHEDULED, and priority cookies. Default is only a weak
|
|
color, to reduce the amount of aggressive color in the buffer.
|
|
|
|
* Version 3.14
|
|
- Formulas for individual fields in table.
|
|
- Automatic recalculation in calculating tables.
|
|
- Named fields and columns in tables.
|
|
- Fixed bug with calling `org-archive' several times in a row.
|
|
|
|
* Version 3.13
|
|
- Efficiency improvements: Fewer table re-alignments needed.
|
|
- New special lines in tables, for defining names for individual cells.
|
|
|
|
* Version 3.12
|
|
- Tables can store formulas (one per column) and compute fields.
|
|
Not quite like a full spreadsheet, but very powerful.
|
|
- table.el keybinding is now `C-c ~'.
|
|
- Numeric argument to org-cycle does `show-subtree' above on level ARG.
|
|
- Small changes to keys in agenda buffer. Affected keys:
|
|
[w] weekly view; [d] daily view; [D] toggle diary inclusion.
|
|
- Bug fixes.
|
|
|
|
* Version 3.11
|
|
- Links inserted with C-c C-l are now by default enclosed in angle
|
|
brackets. See the new variable `org-link-format'.
|
|
- ">" terminates a link, this is a way to have several links in a line.
|
|
Both "<" and ">" are no longer allowed as characters in a link.
|
|
- Archiving of finished tasks.
|
|
- C-<up>/<down> bindings removed, to allow access to paragraph commands.
|
|
- Compatibility with CUA-mode (see variable `org-CUA-compatible').
|
|
- Compatibility problems with viper-mode fixed.
|
|
- Improved html export of tables.
|
|
- Various clean-up changes.
|
|
|
|
* Version 3.10
|
|
- Using `define-derived-mode' to derive `org-mode' from `outline-mode'.
|
|
|
|
|
|
* Version 3.09
|
|
- Time-of-day specifications in agenda are extracted and placed
|
|
into the prefix. Timed entries can be placed into a time grid for
|
|
day.
|
|
|
|
* Version 3.08
|
|
- "|" no longer allowed as part of a link, to allow links in tables.
|
|
- The prefix of items in the agenda buffer can be configured.
|
|
- Cleanup.
|
|
|
|
* Version 3.07
|
|
- Some folding inconsistencies removed.
|
|
- BBDB links to company-only entries.
|
|
- Bug fixes and global cleanup.
|
|
|
|
* Version 3.06
|
|
- M-S-RET inserts a new TODO heading.
|
|
- New startup option `content'.
|
|
- Better visual response when TODO items in agenda change status.
|
|
- Window positioning after visibility state changes optimized and made
|
|
configurable. See `org-cycle-hook' and `org-occur-hook'.
|
|
|
|
* Version 3.05
|
|
- Agenda entries from the diary are linked to the diary file, so
|
|
adding and editing diary entries can be done directly from the agenda.
|
|
- Many calendar/diary commands available directly from agenda.
|
|
- Field copying in tables with S-RET does increment.
|
|
- C-c C-x C-v extracts the visible part of the buffer for printing.
|
|
- Moving subtrees up and down preserves the whitespace at the tree end.
|
|
|
|
* Version 3.04
|
|
- Table editor optimized to need fewer realignments, and to keep
|
|
table shape when typing in fields.
|
|
- A new minor mode, orgtbl-mode, introduces the Org-mode table editor
|
|
into arbitrary major modes.
|
|
- Fixed bug with realignment in XEmacs.
|
|
- Startup options can be set with special #+STARTUP line.
|
|
- Heading following a match in org-occur can be suppressed.
|
|
|
|
* Version 3.03
|
|
- Copyright transfer to the FSF.
|
|
- Effect of C-u and C-u C-u in org-timeline swapped.
|
|
- Timeline now always contains today, and `.' jumps to it.
|
|
- Table editor:
|
|
- cut and paste of rectangular regions in tables
|
|
- command to convert org-mode table to table.el table and back
|
|
- command to treat several cells like a paragraph and fill it
|
|
- command to convert a buffer region to a table
|
|
- import/export tables as tab-separated files (exchange with Excel)
|
|
- Agenda:
|
|
- Sorting mechanism for agenda items rewritten from scratch.
|
|
- Sorting fully configurable.
|
|
- Entries specifying a time are sorted together.
|
|
- Completion also covers option keywords after `#-'.
|
|
- Bug fixes.
|
|
|
|
* Version 3.01
|
|
- New reference card, thanks to Philip Rooke for creating it.
|
|
- Single file agenda renamed to "Timeline". It no longer shows
|
|
warnings about upcoming deadlines/overdue scheduled items.
|
|
That functionality is now limited to the (multifile) agenda.
|
|
- When reading a date, the calendar can be manipulated with keys.
|
|
- Link support for RMAIL and Wanderlust (from planner.el, untested).
|
|
- Minor bug fixes and documentation improvements.
|
|
|
|
* Version 3.00
|
|
- Multifile Agenda shows current entries from many different files.
|
|
- TeXInfo documentation (thanks to Christian Egli for the conversion).
|
|
- Additional applications for TODO keywords, see documentation.
|
|
Different files may have different TODO keywords etc.
|
|
- Priorities for TODO items.
|
|
- The browser mode used by `org-remember-handler' is improved.
|
|
- Images get inlined in HTML export (thanks to Carsten Wimmer).
|
|
- File links can contain line numbers, like file:/usr/etc/config:255
|
|
- Minor bug fixes.
|
|
|
|
|
|
* Version 2.10
|
|
- TODO entries can have additional states besides TODO and DONE.
|
|
See new variable `org-todo-keywords'.
|
|
- TODO keywords can be interpreted as categories. See variable
|
|
`org-todo-interpretation'.
|
|
- M-TAB completion on TODO keywords, TeX symbols, and normal words.
|
|
- All keywords (like TODO, DEADLINE etc) are configurable.
|
|
- Cursor positioning optimized after pro/demotion and TODO cycling.
|
|
- Emphasizing in HTML works now for *bold*, /italic/ and _underline_.
|
|
- New commands to kill, copy and yank entire subtrees. Yanking
|
|
modifies the level of the tree before insertion.
|
|
- New command `org-goto' (C-c C-j) to quickly move to other locations
|
|
in the buffer without affecting outline visibility.
|
|
- Hooks for John Wiegley's remember.el.
|
|
- `org-read-date' pops up calendar for date selection with the mouse.
|
|
See variable `org-popup-calendar-for-date-prompt'.
|
|
|
|
* Version 2.6
|
|
- TODO items can be SCHEDULED to a certain date.
|
|
- Expired DEADLINEs are ignored if in an entry marked DONE.
|
|
- From the diary or time-sorted view (C-c C-r), C-c C-t can be used to
|
|
change the TODO state of an item remotely.
|
|
- Horizontal computations in table editor. See `org-table-eval-formula'.
|
|
- Fixed bug with summing tables (command `org-table-sum', `C-c +').
|
|
- Calendar window follows the timestamp when a timestamp is changed.
|
|
New variable `org-calendar-follow-timestamp-change'.
|
|
- Time-sorted view (`org-diary-view', C-c C-r) now uses the prefix
|
|
argument to force inclusion of unscheduled TODO items.
|
|
- New variable `org-confirm-shell-links' to turn of safety query.
|
|
- New variable `org-open-non-existing-files'.
|
|
|
|
* Version 2.4
|
|
- A time-sorted view on all time stamps can be created with C-c C-r.
|
|
- Timestamps and Deadlines can be shown in the Emacs diary.
|
|
- Date ranges introduced.
|
|
- Time-string formats are no longer configurable.
|
|
- Vertical lines in tables can be made invisible with `C-c |'.
|
|
- New "link" type to execute shell commands, like "shell:ls *.org"
|
|
- Upon export, "myfile.org" becomes "myfile.html" or "myfile.txt",
|
|
instead of "myfile.org.html" or "myfile.org.txt".
|
|
- When the cursor is in the white space at the beginning of a line,
|
|
TAB removes the whitespace before indenting again.
|
|
|
|
* Version 2.0
|
|
- Windows (NT/2000) support.
|
|
- Works with both Emacs and XEmacs.
|
|
- Fully automatic table editor.
|
|
- New link types into Gnus, VM and BBDB.
|
|
- Other link system changes
|
|
- Time stamps are treated as links to the calendar.
|
|
- Easy creation of links with global command `org-store-link'.
|
|
- Insertion of links with `C-c C-l' works differently now.
|
|
- Space characters allowed as part of a link.
|
|
- Options in `org-file-apps' extended. The command may now be
|
|
symbol 'emacs', or a lisp form.
|
|
Please re-read the manual section about links.
|
|
- Timestamp changes
|
|
- `org-deadline' now prompts for a date.
|
|
- A line can now contain several timestamps. Updating of a
|
|
timestamp only happens if the cursor is at the timestamp.
|
|
- Changed the time-stamp-format to ISO, to make sure it will
|
|
always work (non-English month names had caused problems
|
|
with `parse-time-string'.). Changing the time stamp format
|
|
is not recommended.
|
|
- Picture mode enhancements have been removed from org.el
|
|
|
|
|
|
* Version 1.4
|
|
- Some option name changes, not backward compatible.
|
|
- ASCII exporter upgrade: Table of contents.
|
|
- HTML exporter upgrade: fixed-width regions, better
|
|
sub/superscripts, many TeX symbols supported.
|
|
- Calendar support.
|
|
|
|
* Version 1.3
|
|
- HTML exporter upgrade, in particular table of contents
|
|
|
|
|
|
|
|
|