Changes in version 6.24 ======================= Incompatible changes ~~~~~~~~~~~~~~~~~~~~~ Tag searches are now case-sensitive ==================================== From this release on, tag searches will be case sensitive. While I still think it would be nice to have them case-insensitive, this was both an inconsistency (TODO keyword searches have always been case-sensitive), and trouble for coding some efficient algorithms. So please make sure that you give the tags with correct casing when prompted for a match expression. New key for creating tags/property sparse trees ================================================ The key to produce a sparse tree matching tags and properties is now `C-c / m' instead of `C-c a T'. This is also more consistent with the `C-c a m' key for the corresponding agenda view. `C-c / T' will still work for now, but it is no longer advertised in the documentation and may go away at any time in the future. IDs in HTML have "ID-" prefix when generated by uuidgen ======================================================== /uuidgen/ generates IDs that often start with a number, not a latter. However, IDs and names in XHTML must start with a letter. Therefore, IDs in HTML files will now get an "ID-" prefix if they have been generated by uuidgen. This means that id links from one file to another may stop working until all files have been exported again. In agenda, only priority cookies get the special face ====================================================== So far, an entire task would get a special face when `org-agenda-fontify-priorities' was set. Now, the default value for this variable is the symbol `cookies', which means that on the cookie is fontified. Set it to `t' if you want the entire task headline to be fontified. Details ~~~~~~~~ PDF export of agenda views =========================== Agenda views can now be exported to PDF files by writing them to a file with extension ".pdf". Internally this works by first producing the postscript version and then converting that to PDF using the ghostview utility `ps2pdf'. Make sure that this utility is installed on your system. The postscript version will not be removed, it will stay around. Inline some entry text for Agenda View export ============================================== When exporting an agenda view to HTML or PDF for printing or remote access, one of the problems can be that information stored in entries below the headline is not accessible in that format. You can now copy some of that information to the agenda view before exporting it. For this you need to set the variable `org-agenda-add-entry-text-maxlines' to a number greater than 0. (setq org-agenda-add-entry-text-maxlines 20) Or you can do this with the settings in a custom agenda view, for example ("A" "" agenda "" ((org-agenda-ndays 1) (org-agenda-add-entry-text-maxlines 5)) ("agenda-today.pdf")) Improved ASCII export of links =============================== ASCII export of links works now much better. If a link has a link and a description part which are different, then the description will remain in the text while the link part will be moved to the end of the current section, before the next heading, as a footnote-like construct. Configure the variable `org-export-ascii-links-to-notes' if you prefer the links to be shown in the text. In this case, Org will make an attempt to wrap the line which may have become significantly longer by showing the link. Thanks to Samuel Wales for pointing out the bad state of ASCII link export. Custom agenda commands can specify a filter preset =================================================== If a custom agenda command specifies a value for `org-agenda-filter-preset' in its options, the initial view of the agenda will be filterd by the specified tags. Applying a filter with `/' will then always add to that preset filter, clearing the filter with `/ /' will set it back to the preset. Here is an example of a custom agenda view that will display the agenda, but hide all entries with tags `FLUFF' or `BLUFF': ("A" "" agenda "" ((org-agenda-filter-preset '("-FLUFF" "-BLUFF")))) This is in response to a [thread on the mailing list], started by Daniel Clemente and with great contributions by Bernt Hansen and Matt Lundin. [thread on the mailing list]: http://thread.gmane.org/gmane.emacs.orgmode/11752 Exporting of citations to LaTeX and HTML, using BibTeX ======================================================= Citations can now me made using BibTeX, and will be exported to LaTeX and HTML. This is implemented in a contributed package by Taru Karttunen, /org-exp-bibtex.el/. Kudos to Taru for this really nice addition. org-collector.el is now a contributed package ============================================== /org-collector.el/ provides functions to create tables by collecting and processing properties from entries in a specific scope like the current tree or file, or even from all agenda files. General lisp expressions can be used to manipulate the property values before they are inserted into an org-mode table, for example as a dynamic block that is easy to update. Thanks to Eric Schulte for yet another great contribution to Org. Update of org2rem.el ===================== /org2rem.el/ has been updated significantly and now does a more comprehensive job of exporting Org events to remind. Thanks to Sharad Pratap for this update. New div around the entire page in HTMP export ============================================== A new `
' is wrapped around the entire page, everything that is inside `'. This means that you need to update /org-info.js/ (if you have a local copy). It will be safe todo so, because the new org-info.js still handles older pages correctly. Thanks to Sebastian Rose for making these changes so quicky. Clustering characters for undo =============================== When typing in Org-mode, undo will now remove up to 20 characters at a time with a single undo command. This is how things work normally in Emacs, but the special binding of characters in Org-mode made this impossible until now. Thanks to Martin Pohlack for a patch which mimicks the behavior of the Emacs command loop for the Org version of `self-insert-command'. Note that this will not work in headlines and tables because typing there will do a lot of extra work. There might be a small typing performance hit resulting from this change - please report in the mailing list if this is noticeable and annoying. Separate settings for special C-a and C-e ========================================== The variable `org-special-ctrl-a/e' now allows separate settings for `C-a' and `C-e'. For example (setq org-special-ctrl-a/e '(reversed . t)) Thanks to Alan Davis for this proposal. orgstruct++-mode improvements ============================== In addition to `orgstruct-mode' which allows to use some Org-mode structure commands in other major modes, there is a more invasive version of this mode: `orgstruct++-mode'. This mode will import all paragraph and line wrapping variables into the major mode, so that, for example, during typing the auto-fill wrapping of items will work just like in Org-mode. This change is not reversible, so turning off `orgstruct++-mode' will not remove these settings again. `orgstruct++-mode' is most useful in text modes like message-mode or `magit-log-edit-mode'. Furthermore, `orgstruct++-mode' will recognize plain list context not only in the first line of an item, but also further down, so that `M-RET' will correctly insert new items. Thanks to Austin Frank for requesting some of these changes. Promotion and demotion works for regions now ============================================= `M-right' and `M-left' now do demote and promote all headlines in an active region. Match syntax for tags/properties is now described in a single place ==================================================================== The manual chapters about tags and about properties now only refer to the section about agenda views, where the general syntax of tag/property matches is described. Macro replacement ================== A string like `{{{ title }}}' will be replaced by the title of the document, `{{{ email }}}' by the email setting of the author and similarly for other export settings given in `#+...' lines. In addition to that, you can define an arbitrary number of macros, for example: #+MACRO: myaddress 41 Onestreet, 12345 New York, NY ... my address is {{{myaddress}}}, see you there. Macro replacement is the very first thing that happens during export, and macros will be replaced even in source code and other protected regions. New reload command, with keyboard access ========================================= There is now a special command to reload all Org Lisp files, so that you can stay in your Emacs session while pulling and compiling changes to Org. The command to reload the compiled files (if available) is `C-c C-x r'. If no compiled files are found, uncompiled ones will be loaded. If you want to force loading of uncompiled code (great for producing backtraces), use a prefix arg: `C-u C-c C-x r'. Both commands are available in the menu as well. This new command was inspired by one written earlier by Bernt Hansen. Faces for priority cookies can now be set freely ================================================= The new variable `org-priority-faces' can be used to set faces for each priority. New key for creating tags/property sparse trees ================================================ The key to produce a sparse tree matching tags and properties is now `C-c / m' instead of `C-c a T'. This is more consistent with the `C-c a m' key for the corresponding agenda view. `C-c / T' will still work for now, but it is no longer advertised in the documentation and may go away at any time in the future. IDs in HTML have "ID-" prefix when generated by uuidgen ======================================================== /uuidgen/ generates IDs that often start with a number, not a letter. However, IDs and names in XHTML must start with a letter. Therefore, IDs in HTML files will now get an "ID-" prefix if they have been generated by /uuidgen/. This means that id links from one file to another may stop working until all files have been exported again, so that both links and targets have the new prefix. In agenda, only priority cookies get the special face ====================================================== So far, an entire task would get a special face when `org-agenda-fontify-priorities' was set. Now, the default value for this variable is the symbol `cookies', which means that on the cookie is fontified. Set it to `t' if you want the entire task headline to be fontified. Turning off time-of-day search in headline =========================================== Some people like to put a creation time stamp into a headline and then get confused if the time-of-day found in there shows up as the time-of-day of the deadline/scheduling entry for this headline. The reason for this is that Org searches the headline for a free-format time when trying to sort the entry into the agenda, and that search accidentally finds the time in the creation time stamp or something else that happens to look like a time. If this is more painful than useful for you, configure the new variable `org-agenda-search-headline-for-time'.