emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <c.dominik@uva.nl>
To: Org-mode Mode <emacs-orgmode@gnu.org>
Subject: Org mode release 6.04
Date: Sun, 25 May 2008 09:31:36 +0200	[thread overview]
Message-ID: <E5903951-3CF6-4F0A-B875-A9B6098A5990@uva.nl> (raw)

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:

             reply	other threads:[~2008-05-25  7:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-25  7:31 Carsten Dominik [this message]
2008-05-25 12:41 ` Org mode release 6.04 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E5903951-3CF6-4F0A-B875-A9B6098A5990@uva.nl \
    --to=c.dominik@uva.nl \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).