13 Legacy Todo Mode Files

Users of the original version of Todo mode will recognize from the description in this user manual that, although the new version shares with the original version the same basic user interface and handling of todo items, there are some incompatible differences between them, such as the done items sections (there are also other file format incompatibilities behind the scenes that are normally not visible to users).

The most significant incompatibility concerns the item prefix. In the earlier version of Todo mode the prefix was the initial part of the item string itself, so in order for the item to be displayable in the Emacs diary, the prefix had to be a date/time pattern recognizable by the diary (although the todo item also has its own date/time header). Moreover, since all items had the same prefix string in the original version, this means that either only all or no items could appear in the Fancy Diary display on any given date. This considerably restricts the practicality of including todo items in the diary. In contrast, the current version of Todo mode uses overlays for item priority numbering or prefixes, and item-specific diary-compatible date/time headers and special marks for todo items to be excluded from the diary, so you can determine for each item whether and when it appears in the Fancy Diary display.

Due to these incompatibilities, files created with the original version of Todo mode cannot be displayed or edited with the current version. However, this version provides a function that converts the two main types of files used by the original version into new-style valid todo and archive files, respectively, and saves them in todo-directory.10

This conversion function is automatically called the first time you invoke todo-show (i.e., before you have created a todo file with the new version), and if it finds the old-style files, it offers to convert them, making them the first new-style todo and archive files. If you choose not to convert the old-style files at this time, you can do so later by invoking the command todo-convert-legacy-files (there is no key binding for it, since it shouldn’t be necessary to use it often). (A delicate part of the conversion concerns the customizable format of item date/time headers in the old-style; see the documentation string of todo-legacy-date-time-regexp for details.)



The original version of Todo mode also allowed saving a file of top priority items, but since you can readily create such a file with the new version, which is also more flexible, no conversion is provided for this file.