From 3e539eb8fbd0ce7f0679b60ac6a20b8b83cc7311 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 19 Nov 2008 13:59:54 +0100 Subject: [PATCH] Split the Changes file into two. It is really not necessary that each access to Changes.html downloads this big file. --- ORGWEBPAGE/Changes.org | 7670 +++++++-------------------- ORGWEBPAGE/{Changes.org => Changes_old.org} | 1987 +------ 2 files changed, 2004 insertions(+), 7653 deletions(-) rewrite ORGWEBPAGE/Changes.org (64%) copy ORGWEBPAGE/{Changes.org => Changes_old.org} (65%) diff --git a/ORGWEBPAGE/Changes.org b/ORGWEBPAGE/Changes.org dissimilarity index 64% index fdcdec375..e7cd308a1 100644 --- a/ORGWEBPAGE/Changes.org +++ b/ORGWEBPAGE/Changes.org @@ -1,5667 +1,2003 @@ -# -*- mode: org; org-export-publishing-directory: "tmp"; fill-column: 65 -*- - -#+STARTUP: hidestars - -#+TITLE: Org-mode list of user-visible changes -#+AUTHOR: Carsten Dominik -#+EMAIL: carsten at orgmode dot org -#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil -#+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.13 (in preparation) - :PROPERTIES: - :VISIBILITY: content - :END: - -** Overview -** Details - -*** Keybindings in Remember buffers can be configured - Remember buffers are normally in Org-mode, which 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 - - 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. - -*** Support for ido completion - You can not 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. -*** New face for datelines 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=. -*** 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#dummy= work: - -#+begin_src org -,# <> -,*** a headline -#+end_src - -*** New contributed file org-exp-blocks.el - - This new file implements special export behavior of - user-defined blocks, and it has some defaults to export - commends and ASCII graphics. - - For ASCII art, it needs the java program ditaa.jar by Stathis - Sideris. Thanks to Stathis for this excellent program, and - for allowing us to bundle it with Org-mode. - - Kudos to Eric Schulte for this new functionality, after - org-plot.el already his second major contribution. - -*** 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. The following customization es - needed to make this work - -#+begin_src emacs-lisp -(setq org-link-translation-function - 'org-translate-link-from-planner) -#+end_src - - This will work for pretty much all links where Org does - support the same or a similar protocol. However, the - translator is a quick hack, and maybe we need to refine it. - - I guess a similar 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 - -*** 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 -** 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 - -** 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 =
= 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 - - : [[att:some-attached-file.txt]] - - 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 - -** 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 -** 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 - -** 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 - -** 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 @C-c '@ (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 - @C-c '@. An indirect buffer will be created and - narrowed to the fixed-width region. Edit the drawing, and - press @C-c '@ 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 "" (with time) and "" - (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 == 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 - : - :... - : - 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 "='. - - 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
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
structure - - There is now a
-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
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 tags with - ), 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- 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 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 - .., and each part of the body (as separated in - org-mode by hlines) is wrapped into .. tags. I - have also changed the CSS style for 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 "" 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
, 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 "". - - 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-/ 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 - - - - +# -*- mode: org; org-export-publishing-directory: "tmp"; fill-column: 65 -*- + +#+STARTUP: hidestars + +#+TITLE: Org-mode list of user-visible changes +#+AUTHOR: Carsten Dominik +#+EMAIL: carsten at orgmode dot org +#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil +#+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.13 (in preparation) + :PROPERTIES: + :VISIBILITY: content + :END: + +** Overview +** Details + +*** Keybindings in Remember buffers can be configured + Remember buffers are normally in Org-mode, which 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 + + 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. + +*** Support for ido completion + You can not 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. +*** New face for datelines 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=. +*** 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#dummy= work: + +#+begin_src org +,# <> +,*** a headline +#+end_src + +*** New contributed file org-exp-blocks.el + + This new file implements special export behavior of + user-defined blocks, and it has some defaults to export + commends and ASCII graphics. + + For ASCII art, it needs the java program ditaa.jar by Stathis + Sideris. Thanks to Stathis for this excellent program, and + for allowing us to bundle it with Org-mode. + + Kudos to Eric Schulte for this new functionality, after + org-plot.el already his second major contribution. + +*** 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. The following customization es + needed to make this work + +#+begin_src emacs-lisp +(setq org-link-translation-function + 'org-translate-link-from-planner) +#+end_src + + This will work for pretty much all links where Org does + support the same or a similar protocol. However, the + translator is a quick hack, and maybe we need to refine it. + + I guess a similar 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 + +*** 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 +** 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 + +** 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 =
= 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 + + : [[att:some-attached-file.txt]] + + 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 + +** 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 +** 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 + +** 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 + +** 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 @C-c '@ (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 + @C-c '@. An indirect buffer will be created and + narrowed to the fixed-width region. Edit the drawing, and + press @C-c '@ 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 "" (with time) and "" + (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 == 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 + : + :... + : + 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 "='. + + 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. + + +* Older changes + + For older Changes, see [[file:Changes_old.org]] + + + diff --git a/ORGWEBPAGE/Changes.org b/ORGWEBPAGE/Changes_old.org similarity index 65% copy from ORGWEBPAGE/Changes.org copy to ORGWEBPAGE/Changes_old.org index fdcdec375..73730923e 100644 --- a/ORGWEBPAGE/Changes.org +++ b/ORGWEBPAGE/Changes_old.org @@ -2,7 +2,7 @@ #+STARTUP: hidestars -#+TITLE: Org-mode list of user-visible changes +#+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 @@ -10,1991 +10,6 @@ #+LINK_UP: index.html #+LINK_HOME: http://orgmode.org - -* Version 6.13 (in preparation) - :PROPERTIES: - :VISIBILITY: content - :END: - -** Overview -** Details - -*** Keybindings in Remember buffers can be configured - Remember buffers are normally in Org-mode, which 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 - - 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. - -*** Support for ido completion - You can not 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. -*** New face for datelines 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=. -*** 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#dummy= work: - -#+begin_src org -,# <> -,*** a headline -#+end_src - -*** New contributed file org-exp-blocks.el - - This new file implements special export behavior of - user-defined blocks, and it has some defaults to export - commends and ASCII graphics. - - For ASCII art, it needs the java program ditaa.jar by Stathis - Sideris. Thanks to Stathis for this excellent program, and - for allowing us to bundle it with Org-mode. - - Kudos to Eric Schulte for this new functionality, after - org-plot.el already his second major contribution. - -*** 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. The following customization es - needed to make this work - -#+begin_src emacs-lisp -(setq org-link-translation-function - 'org-translate-link-from-planner) -#+end_src - - This will work for pretty much all links where Org does - support the same or a similar protocol. However, the - translator is a quick hack, and maybe we need to refine it. - - I guess a similar 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 - -*** 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 -** 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 - -** 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 =
= 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 - - : [[att:some-attached-file.txt]] - - 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 - -** 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 -** 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 - -** 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 - -** 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 @C-c '@ (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 - @C-c '@. An indirect buffer will be created and - narrowed to the fixed-width region. Edit the drawing, and - press @C-c '@ 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 "" (with time) and "" - (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 == 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 - : - :... - : - 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 "='. - - 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 -- 2.11.4.GIT