emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Org mode release 6.04
@ 2008-05-25  7:31 Carsten Dominik
  2008-05-25 12:41 ` Austin Frank
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Carsten Dominik @ 2008-05-25  7:31 UTC (permalink / raw)
  To: Org-mode Mode

Hi,

I am releasing Org 6.04, at http://orgmode.org

Enjoy!

- Carsten



Changes in 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:

  (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)


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 killing that indirect buffer, with `C-x k'.  This is
important, because lines that have syntactic meaning in Org will
be quoted when the indirect buffer is killed.

I guess it would be nice to exit with `C-c C-c', but who knows
what this key is supposed to do in a random mode.

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
Or 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:

   #+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:

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-05-28  8:35 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-25  7:31 Org mode release 6.04 Carsten Dominik
2008-05-25 12:41 ` Austin Frank
2008-05-25 21:57   ` Shelagh Manton
2008-05-26  7:43     ` Shelagh Manton
2008-05-26 10:36       ` Daniel Clemente
2008-05-25 15:58 ` Leo
2008-05-27 22:00   ` Adam Spiers
2008-05-26 10:44 ` Daniel Clemente
2008-05-27  6:26   ` Carsten Dominik
2008-05-28  4:01 ` Levin Du
2008-05-28  4:36   ` Carsten Dominik
2008-05-28  6:34     ` Levin Du
2008-05-28  8:35       ` Carsten Dominik

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).