+++ /dev/null
-2013-06-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todo-mode.el: Change two occurrences of "document string" to
- "documentation string".
-
-2013-06-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todo-mode.el: Clean up doc strings, comments and prompt strings,
- mainly by changing "Todo" to "todo" when it is not part of a mode
- name or does not begin a sentence.
-
-2013-06-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todo-mode.el: Offer to convert legacy file. Update commentary.
- (todo-show): If a legacy file is found and no new todo file
- exists, offer to convert it and show it. Restore autoload cookie.
- (todo-convert-legacy-files): Delete unused local variable.
- If todo-directory doesn't exist, create it before writing to file.
- Check format of converted files. Prompt to show converted todo file.
-
-2013-06-19 Stephen Berman <stephen.berman@gmx.net>
-
- * todo-mode.el (todo-convert-legacy-files): Eliminate last change,
- since it couldn't avoid namespace clashes, and instead let local
- variables hold the legacy values used for conversion. This also
- does not interfere with live todo buffers.
-
-2013-06-19 Stephen Berman <stephen.berman@gmx.net>
-
- * todo-mode.el: Rename from todos.el, change all occurrences of
- "todos-" prefix to "todo-" and references to "Todos" to "Todo" or
- "Todo mode".
-
-2013-06-19 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todo-mode.el: Rename to otodo-mode.el and move to obsolete/.
-
-2013-06-19 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-convert-legacy-files): Add code to make it work
- after the new version is renamed and has the same namespace as the
- old version. This also requires there to be no live todo buffers
- when this command is called.
-
-2013-06-18 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Reinstate current copyright dates and original
- todo-mode.el author. Add reference in commentary to legacy file
- format conversion command.
- (todos-legacy-date-time-regexp): Rename from
- todos-todo-mode-date-time-regexp and adjust uses.
-
-2013-06-18 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-diary-goto-entry): Add item locating code from
- diary-goto-entry. Add it at the top-level to override the latter
- function.
- (todos-powerset): Use definition by Wolfgang Jenkner, posted at
- http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00423.html.
-
- * diary-lib.el (diary-goto-entry-function): New variable.
- (diary-entry): Use it in the action of this button type instead of
- diary-goto-entry.
-
-2013-06-09 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-edit-done-item-comment): Rename from
- todos-done-item-add-edit-or-delete-comment.
- (todos-key-bindings-t): Use it.
-
-2013-06-09 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fix and improve item date string editing.
- (todos-date-pattern): Make dayname an explicitly numbered group.
- (todos-basic-edit-item-header): Set match for dayname and use it
- to ensure attempting to edit day, month or year of a date header
- containing a day name is a noop, simplifying and fixing buggy code.
-
-2013-06-08 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Improve commentary.
- (todos-item-end): Revert last change, since bug#14565 is now fixed.
-
-2013-06-07 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Reorganize file structure again, to pacify byte-compiler.
- (todos-item-end): Use if-else instead of when-sexp to avoid
- explicit nil argument of backward-char (bug#14565).
-
-2013-06-06 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fix more byte-compiler warnings.
- (todos-jump-to-category): Let-bind variable that was mistakenly free.
- (todos-toggle-item-highlighting, todos-convert-legacy-files):
- Use eval-when-compile.
-
-2013-06-05 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fix byte-compiler warnings.
- (todos-merge-category): Relocate let-bound variable.
- (todos-toggle-item-highlighting): Restrict to todos-mode,
- todos-archive-mode and todos-filtered-items-mode.
- (todos-toggle-item-header, todos-diary-goto-entry)
- (todos-insert-sort-button): Let-bind variables that were
- mistakenly free.
- (todos-convert-legacy-files): Just require todo-mode instead of
- conditionalizing it.
- (todos-modes-set-2): Check whether hl-line-range-function is void.
-
-2013-06-05 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Further code cleanup. Improve commentary. Remove
- autoload cookies. Handle todo items in Fancy Diary display.
- (todos-done-separator): Reinstate length one less than
- window-width until bug#2749 is fixed.
- (todos-diary-goto-entry): New function, extracted from adapted
- definition of diary-goto-entry, which is removed to be added to
- diary-lib.el.
- (todos-powerset): Rename from todos-powerset-iterative and remove
- defalias by this name. Add doc string and comments.
- (todos-modes-set-1, todos-modes-set-2, todos-modes-set-3)
- (todos-mode-external-set): Add doc string.
-
-2013-06-04 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-add-item-if-new-category): Change default value.
- (todos-show, todos-jump-to-category, todos-add-file)
- (todos-add-category): Update doc string to reflect new default
- prompt for item insertion.
- (todos-add-file): Add omitted argument to called-interactively-p.
- (todos-show): Improve handling of adding first category.
-
-2013-06-04 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Allow prompting for first item on adding a new
- category. Fix handling of default todo file on adding first file.
- (todos-add-item-if-new-category): New defcustom.
- (todos-show, todos-jump-to-category, todos-add-category): Use it.
- (todos-short-file-name): Return nil if file name is not a string.
- (todos-add-file): Recalculate todos-files after adding a file.
- (todos-show): If first file was just added, make it the default.
-
-2013-06-04 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-read-category, todos-merge-category):
- Fix argument value to accord with documented change from 2013-05-14.
-
-2013-06-03 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: More code cleanup. Update file copyright and author
- lines, add commentary. Reformat so most lines do not exceed 80
- columns. Fix doc strings problems found by checkdoc.
- (todos-edit-file): Delete unused argument.
- (todos-delete-item): Delete superfluous concat.
- (todos-next-button, todos-previous-button): Delete optional
- arguments, adjusting interactive spec accordingly, and add them as
- non-nil arguments to the invocations of forward-button and
- backward-button.
-
-2013-06-03 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-y-with-space): New defcustom.
- (todos-y-or-n-p): New function.
- (todos-delete-category, todos-move-category, todos-delete-item)
- (todos-done-item-add-edit-or-delete-comment, todos-item-undone)
- (todos-find-archive, todos-archive-done-item, todos-search)
- (todos-read-category): Use it instead of y-or-n-p.
-
-2013-06-02 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-show-categories-table): Correct doc string.
- (todos-sort-categories-alphabetically-or-numerically): Rename from
- todos-sort-categories-alphabetically-or-by-priority and adjust uses.
- (todos-set-category-number): Rename from
- todos-set-category-priority and adjust uses.
- (todos-raise-category): Rename from todos-raise-category-priority
- and adjust uses.
- (todos-lower-category): Rename from todos-lower-category-priority
- and adjust uses.
-
-2013-06-01 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Some custom cleanup.
- (todos-edit): Rename from todos-item-insertion and adjust doc string.
- (todos-display): Rename from todos-mode-display.
- (todos-item-mark, todos-undo-item-omit-comment): Change :group to
- todos-edit.
- (todos-indent-to-here): Change :group to todos-display.
- (todos, todos-edit, todos-categories, todos-filtered)
- (todos-display, todos-faces): Change :version to "24.4".
-
-2013-06-01 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-filtered-items-mode-map): Fix omission in
- previous change.
- (todos-mode): Comment out invocation of easy-menu-add, since menu
- definition was commented out in last change.
-
-2013-05-31 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Move auto-mode-alist entries above provide sexp.
- Update adapted diary-goto-entry, so it also works with todo items
- when the buffer in which the included todo file is processed for
- the Fancy Diary is not killed.
- (todos-insert-item-from-calendar): Move to item editing commands
- section of file. Add doc string, use todos-basic-insert-item and
- remove mistaken invocation of todos-show.
-
-2013-05-31 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-edit-quit): After editing an item, make sure to
- return to its category.
-
-2013-05-31 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Clean up code. Uncapitalize file name in first line.
- Require cl-lib instead of cl. Add section title separators.
- Reindent some code and comments. Comment out Todos mode menu
- definition.
- (todos-basic-insert-item): Rename from todos-insert-item-1 and
- adjust uses.
- (todos-basic-edit-item-header): Rename from
- todos-edit-item-header-1 and adjust uses.
- (todos-display-categories): Rename from todos-display-categories-1
- and adjust uses.
- (todos-show, todos-basic-insert-item)
- (todos-basic-edit-item-header, todos-set-item-priority)
- (todos-item-undone, todos-convert-legacy-files)
- (todos-check-format, todos-filter-items-1):
- Use user-error instead of error.
- (todos-add-file, todos-basic-insert-item, todos-mark)
- (todos-button, todos-sorted-column, todos-archived-only)
- (todos-search, todos-category-string)
- (todos-top-priorities-overrides)
- (todos-insertion-commands-args-genlist, todos-filter-items)
- (todos-filter-items-1, todos-filtered-items-mode-map):
- Correct or improve document string.
- (todos-edit-file)
- (todos-sort-categories-alphabetically-or-by-priority)
- (todos-sort-categories-by-todo, todos-sort-categories-by-diary)
- (todos-sort-categories-by-done)
- (todos-sort-categories-by-archived, todos-next-button)
- (todos-previous-button, todos-gen-arglists)
- (todos-define-insertion-command)
- (todos-insertion-commands-arg-key-list)
- (todos-insertion-key-bindings, todos-update-categories-display):
- Add document string.
- (todos-powerset-recursive): Rename from powerset-recursive and
- reformulate slightly.
- (todos-powerset-iterative): Rename from powerset-bitwise and
- reformulate.
- (todos-insertion-commands-args): Use cl-remove-duplicates instead
- of remove-duplicates.
- (todos-define-insertion-command): Improve doc string of generated defun.
- (todos-adjusted-category-label-length)
- (todos-insert-category-line, todos-update-categories-display):
- Call cl-oddp instead of inlining its definition.
- (todos-key-bindings): Remove, replacing by the following.
- (todos-key-bindings-t, todos-key-bindings-t+a+f)
- (todos-key-bindings-t+a, todos-key-bindings-t+f): New variables.
- (todos-mode-map): Use new key-binding variables.
- (todos-archive-mode-map, todos-filtered-items-mode-map): Use new
- key-binding variables. Don't suppress digit keys.
- (todos-categories-mode-map): Don't suppress digit keys.
- (todos-modes-set-1, todos-modes-set-2, todos-modes-set-3)
- (todos-mode, todos-archive-mode, todos-mode-external-set):
- Use setq-local instead of make-local-variable.
-
-2013-05-24 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Reorganize file structure.
-
-2013-05-22 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-edit-quit): Don't allow dateless item.
-
-2013-05-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-key-bindings, todos-archive-mode-map)
- (todos-filtered-items-mode-map): Update bindings.
- (todos-find-archive): Rename from todos-show-archive and adjust uses.
- (todos-find-filtered-items-file): New command.
-
-2013-05-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Use visual-line-mode instead of custom code.
- (todos-line-wrapping-function, todos-wrap-and-indent): Remove.
- (todos-wrap-lines, todos-indent-to-here): Update doc string.
- (todos-modes-set-1): Use visual-line-mode.
-
-2013-05-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-read-file-name): Fix previous change to ensure
- it works when invoked outside of a Todos file.
-
-2013-05-20 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fixes concerning filtered items.
- (todos-mode-line-control): Make doc string more precise.
- (todos-read-file-name): Default to current file when user hits RET
- without choosing a file, to avoid creating file with empty base name.
- (todos-filter-items): Rename buffer of filtered items files.
- (todos-find-item): Save match data to avoid arg out of range error.
- (todos-print-buffer): Fix header of filtered items buffer output.
-
-2013-05-17 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-done-separator): Use window-width for length, in
- anticipation of bug#2749 being fixed.
-
-2013-05-17 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-category-completions): Restore point after
- ensuring category is properly displayed.
-
-2013-05-16 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-filtered-items-mode-map): Update some bindings.
- (todos-show): Make it work the same in todos-archive-mode and
- todos-filtered-items-mode as in todos-mode.
- (todos-quit): When called in todos-archive-mode, switch to
- corresponding category in todo file. When called in todos-mode,
- avoid going right back to archive.
-
-2013-05-16 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Improve toggling of item numbering and headers.
- (todos-prefix-overlays): Don't reset item numbering for
- done items unless in todos-mode.
- (todos-archive-mode-map): Add bindings for todos-toggle-item-header.
- (todos-toggle-prefix-numbers): Reimplement without using
- todos-reset-prefix and make it work in Todos Archive mode and
- Todos Filtered Items mode.
- (todos-toggle-item-header): Make it work in Todos Archive mode and
- Todos Filtered Items mode.
-
-2013-05-15 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Use tab instead of spaces to indent.
- (todos-indent-to-here): Change default value.
- (todos-modes-set-1): Make tab-width a local variable and set it to
- todos-indent-to-here.
- (todos-insert-item-1, todos-edit-item): Use tab not spaces to indent.
- (todos-edit-quit): Use tab not spaces to indent and fix omission of item.
-
-2013-05-15 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-jump-to-category): Fix wrong variable left over
- from previous change.
-
-2013-05-14 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Improve handling of jumping to a category, in
- particular that of an archive.
- (todos-category-completions): Add optional parameter to restrict
- completions of archive categories to current archive. Exclude
- archive from completion files.
- (todos-read-category): When called from an archive, restrict
- category completions to the archive. Fix mistaken use of all
- completion files instead of just those in which the chosen
- category occurs.
- (todos-archive-mode-map): Add new key binding.
- (todos-jump-to-category): Rename second optional parameter and
- extend its use to restricting category completions to the current
- archive.
- (todos-jump-to-archive-category): New command.
-
-2013-05-13 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-modes-set-2): Restore point after finding start
- and end of hl-line-range-function.
-
-2013-05-13 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fixes for item marking and marked items.
- (todos-toggle-mark-item): Make no-op if point is not on an item.
- Toggle mark even if point is not at start of item.
- (todos-item-done): Signal an error if a done item is marked.
- Process marked todo items even if point is in done items section.
-
-2013-05-11 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-item-undone): Remove item highlighting when user
- quits before deciding whether to omit comment. Fix misplaced
- closing paren. Change two uses of `if' to `when'.
-
-2013-05-10 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Rename numerous commands and defcustoms and adjust all
- uses, change numerous key bindings, make some basic commands
- noninteractive and use them to define the commands, unify
- archiving commands.
- (todos-directory): Rename from todos-files-directory.
- (todos-print-buffer-function): Rename from todos-print-function.
- (todos-number-prefix): Rename from todos-number-priorities.
- (todos-top-priorities-overrides): Rename from todos-priorities-rules.
- (todos-top-priorities): Rename from todos-show-priorities.
- (todos-insertion-command-name, todos-insertion-key-bindings):
- Use "todos-insert-item-".
- (todos-key-bindings, todos-archive-mode-map)
- (todos-categories-mode-map, todos-filtered-items-mode-map):
- Adjust to renamed commands, make bindings more systematic,
- reorder entries.
- (todos-show-categories-table): Rename from todos-display-categories.
- (todos-sort-categories-alphabetically-or-by-priority): Rename from
- todos-display-categories-alphabetically-or-by-priority.
- (todos-sort-categories-by-todo): Rename from
- todos-display-categories-sorted-by-todo.
- (todos-sort-categories-by-diary): Rename from
- todos-display-categories-sorted-by-diary.
- (todos-sort-categories-by-done): Rename from
- todos-display-categories-sorted-by-done.
- (todos-sort-categories-by-archived): Rename from
- todos-display-categories-sorted-by-archived.
- (todos-print-buffer): Rename function from todos-print.
- (todos-print-buffer-to-file): Rename from todos-print-to-file.
- (todos-go-to-source-item): Rename from todos-jump-to-item.
- (todos-forward-item, todos-backward-item): Remove interactive form
- and move most of doc string and prefix argument error checking to...
- (todos-next-item, todos-previous-item): ...these new commands,
- which use the preceding functions.
- (todos-next-button): Rename from todos-forward-button.
- (todos-previous-button): Rename from todos-backward-button.
- (todos-toggle-prefix-numbers): Rename from
- todos-hide-show-item-numbering.
- (todos-toggle-view-done-items): Rename from todos-hide-show-done-items.
- (todos-toggle-view-done-only): Rename from todos-show-done-only.
- (todos-toggle-item-highlighting): Rename from todos-highlight-item.
- (todos-toggle-item-header): Rename from todos-hide-show-date-time.
- (todos-toggle-mark-item): Rename from todos-mark-unmark-item.
- (todos-filter-top-priorities): Rename from todos-top-priorities.
- (todos-filter-top-priorities-multifile): Rename from
- todos-top-priorities-multifile.
- (todos-filter-diary-items): Rename from todos-diary-items.
- (todos-filter-diary-items-multifile): Rename from
- todos-diary-items-multifile.
- (todos-filter-regexp-items): Rename from todos-regexp-items.
- (todos-filter-regexp-items-multifile): Rename from
- todos-regexp-items-multifile.
- (todos-insert-item-1): Remove interactive form, since
- todos-insert-item is generated like other item insertion commands.
- (todos-edit-file): Rename from todos-edit-multiline.
- (todos-item-undone): Rename from todos-item-undo.
- (todos-archive-done-item): Add raw prefix spec to interactive form
- and use it to test for archiving all done items in category;
- reorder tests in function body accordingly.
- (todos-archive-category-done-items): Remove.
-
-2013-04-27 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-edit-multiline-item): Make a no-op when point is
- not on an item.
-
-2013-04-24 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el (todos-check-format): Add check of well-formedness of
- categories sexp. If it is well-formed but differs from
- todos-categories, do not signal an error but display a message.
-
-2013-04-21 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Fixes and improvements related to item relocation.
- (todos-category-completions): On ensuring proper category display,
- if done items in category are visible, keep them visible.
- (todos-set-item-priority): Keep top of category in view while
- setting priority.
- (todos-move-item): Restore prevention of moving within the same
- category. Move done items to top, not end, of done items section.
- When user quits before setting priority, make sure to return to
- starting file.
- (todos-item-undo): Partly reimplement along lines of
- todos-move-item, adding highlighting of single item as undo
- target, setting priority of multiple undone items, improving
- handling of quitting before setting priority.
- (todos-unarchive-items): Restore items to top, not end, of
- category's done section.
-
-2013-04-19 Stephen Berman <stephen.berman@gmx.net>
-
- * todos.el: Extend and improve item filtering and handling of
- saved files of filtered items.
- (todos-show-first): Add choices for diary and regexp items.
- (todos-absolute-file-name): Handle file names for diary and regexp
- items.
- (todos-filter-items): New function abstracted from item filtering
- commands, with handling of saved files of diary and regexp items.
- (todos-filter-items-1): Rename from todos-filter-items.
- (todos-filtered-buffer-name): Remove, since functionality is now
- incorporated into new function todos-filter-items.
- (todos-filtered-items-buffer, todos-top-priorities-buffer)
- (todos-diary-items-buffer, todos-regexp-items-buffer):
- Make defconsts instead of defcustoms.
- (todos-find-item): Restrict calculation and comparison of
- priorities to top priority items, in order to handle diary and
- regexp items.
- (todos-check-filtered-items-file): Rename from
- todos-check-top-priorities and adjust message and callers.
- (todos-filter-items-filename): Rename from
- todos-top-priorities-filename, adjusting caller and extending to
- files of filtered diary and regexp items.
- (todos-save-filtered-items-buffer): Rename from
- todos-save-top-priorities-buffer and adjust caller and uses. Use
- write-file instead of write-region and use existing file name if
- previously saved.
- (todos-show): Handle initially displaying saved file of filtered
- diary or regexp items.
- (todos-top-priorities, todos-top-priorities-multifile)
- (todos-diary-items, todos-diary-items-multifile)
- (todos-regexp-items, todos-regexp-items-multifile): Use new
- function todos-filter-items.
- (auto-mode-alist): Extend regexp for files assigned to
- todos-filtered-items-mode to handle saved diary and regexp items.
-
-2013-03-17 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-insert-item): Fix mistake in logic of
- here insertion from last change, and ensure category is set when
- command is called from outside Todos buffer.
-
-2013-03-15 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Item unarchiving fixes and improvements.
- (todos-archive-mode-map): Add bindings for item and category
- marking/unmarking; make todos-display-categories binding same as
- in Todos mode; remove todos-unarchive-category binding.
- (todos-unarchive-category): Remove.
- (todos-unarchive-items): Fix handling of marked items. Remove
- code for unarchiving whole category, since that is covered by
- unarchiving marked items. Handle unarchiving items to a category
- that had been deleted from the todo file by re-adding the
- category. Use todos-category-select to display restored items,
- not todos-show. Remove obsolete or superfluous code.
-
-2013-03-15 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-reset-prefix): Don't remove overlays,
- since it's superfluous and also wrongly removes items marks.
- (todos-category-completions): Select current category on visiting
- file, to ensure category is properly displayed if user switches to
- file via a non-Todos command.
- (todos-mark-category): Make implementation cleaner.
- (todos-unmark-category): Improve implementation. Get overlay
- property only when there is an overlay.
-
-2013-03-14 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-insert-item): Fix last change to make
- sure calling insertion "here" from outside goal todo items section
- gives new item top priority. With priority insertion, if user
- cancels before setting priority, restore display.
- (todos-find-item): Restore narrowing after searching.
- (todos-item-done): Allow adding (same) comment to marked items.
- Don't add empty comment to done item.
-
-2013-03-13 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-quit): If quitting
- todos-filtered-items-mode makes todos-mode current, don't call
- todos-show, which (here wrongly) prompts for a new Todos file.
- (todos-delete-category): Fix incorrect quotation mark.
- (todos-set-item-priority): Make prefix argument a no-op with
- commands for raising or lowering item priority. Move mistakenly
- placed right paren to end of defun, where it belongs.
-
-2013-02-25 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-key-bindings): Add binding for `todos-show'.
- (todos-show): Prompt for which todo file to visit when invoked
- from Todos mode.
-
-2013-02-19 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Item insertion and done/undo fixes.
- (todos-insert-item): Maybe set the insertion file to
- todos-global-current-todos-file. When inserting into a file that
- was not being visited on invoking this command, ensure chosen
- category is properly selected. Make item inserted "here" the
- first todo item if the command was invoked with point in done
- items section or outside of the current category.
- (todos-item-done): When done items are shown, put cursor on first
- just done item.
- (todos-item-undo): Put cursor on undone item.
-
-2013-02-16 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Improve handling of overlays.
- (todos-get-overlay): New function.
- (todos-prefix-overlay): Remove, since subsumed by
- todos-get-overlay, and replace by the latter in callers.
- (todos-reset-prefix): Apply only to buffer visiting Todos files.
- Simplify implementation and use `todos' overlay property.
- (todos-reset-done-separator): Use todos-get-overlay and `todos'
- overlay property. Fix logic.
- (todos-category-select): Use todos-get-overlay and `todos' overlay
- property.
- (todos-remove-item): Use todos-get-overlay. Correct obsolete code.
- (todos-prefix-overlays): Use todos-top-priority face also for
- non-numerical prefix of top priority items. Add `todos' overlay
- property.
- (todos-hide-show-date-time): Simplify, using todos-get-overlay and
- `todos' overlay property.
-
-2013-02-14 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-edit-multiline, todos-edit-quit):
- Revert buffer renaming.
-
-2013-02-11 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-edit-quit): On quitting file editing,
- rename buffer back to current Todos file. After selecting
- category, put point at top instead of recentering.
-
-2013-02-08 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-edit-multiline-item): Revert to using
- indirect buffer, which makes it easier to return to Todos mode.
- (todos-edit-quit): Don't delete and reinsert items that don't need
- indenting. Revert to just killing buffer on quitting single item
- editing. On quitting file editing, select nearest category.
-
-2013-02-07 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Bug fixes and improvements to item editing
- and insertion.
- (todos-check-format): Compare current value of todos-categories
- with actual categories sexp.
- (todos-repair-categories-sexp): Add warning to doc string about
- category order getting restored to list element order.
- (todos-mode-external-set): When todos-categories is nil, as in
- Todos Edit mode, set it by reading actual categories sexp.
- (todos-edit-mode): Make buffer writeable.
- (todos-done-item-section-p): New function.
- (todos-insert-item): Use it as part of preventing insertion here
- in done items section. Move check for display of done items only
- to just before setting new item's priority, and if cancelled after
- toggling to todo items, restore display of done items.
- (todos-edit-multiline-item): Don't base on todos-edit-multiline
- but just narrow and change mode.
- (todos-edit-multiline): Don't make indirect buffer but just widen
- and change mode; also remove overlays.
- (todos-edit-quit): Restore Todos mode and category display; when
- quitting multiline item editing, ensure items above edited item
- are visible in window if possible.
- (todos-done-item-add-edit-or-delete-comment): If user moved point
- during editing, make sure it moves back to edited item before
- returning.
-
-2013-02-05 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-reset-done-separator-string):
- Complete the implementation.
- (todos-hide-show-done-items): If start of done items sections is
- below the bottom of the window, make it visible.
- (todos-insert-item): Allow inserting item here to work outside of
- the current category, but then at top of category. After checking
- whether only done items are shown, restore point to ensure
- inserting item here works correctly.
- (todos-set-item-priority): Delete leftover right paren at end.
-
-2013-02-04 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Bug fixes involving or displaying done items.
- (todos-done-separator): Make length of long separator one less
- than window-width, in order to avoid following empty line.
- (todos-forward-item, todos-backward-item): Make empty line below
- last todo item accessible only by invoking without a numerical
- prefix argument and make the latter invocations move only to items.
- (todos-insert-item): Set todos-current-todos-file after selecting
- buffer, in order not to set global value. If only done items are
- shown when this command is invoked, toggle to show todo items to
- avoid insertion into done items section. When done items are
- shown, protect from cancelling before setting item priority: this
- also needs recentering to display all items.
- (todos-set-item-priority): Only call on (not done) todo items.
- Check that done items are visible not because file is widened.
- Use only `any' argument of called-interactively-p. Make sure that
- giving an undone item lowest priority restores it to the todo
- section.
- (todos-item-done): If done items are visible on invoking this
- command, keep them visible afterwards. Stop looking for marked
- items on reaching the empty line below the last todo item.
-
-2013-02-02 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Several small fixes and improvements.
- (todos-done-separator-string): Change default value.
- (todos-update-categories-sexp): Remove unnecessary and misquided
- setq of todos-default-todos-file. Use delete-region instead of
- kill-region to avoid polluting kill-ring.
- (todos-unload-hook): Remove (was not used).
- (todos-edit-multiline): Don't generate new edit buffer name on
- each invocation---that can cause confusion due to indirect buffer.
- (todos-edit-quit): Ensure lines in edit buffer that follow hard
- newlines are indented in the file to conform to diary format.
- (todos-set-item-priority): If done items in category are visible,
- keep them visible.
-
-2013-01-30 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Fix done separator overlay bug. Remove most
- FIXME comments.
- (todos-reset-and-enable-done-separator): Remove commented out
- workaround for done separator overlay bug; fix doc string.
- (todos-reset-done-separator): Delete old overlay after adding new
- overlay to fix done separator overlay bug; improve implementation.
- (todos-prefix-overlays): Improve first line of doc string.
-
-2013-01-29 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Improve item marking and handling of marked items.
- (todos-prefix): Add validator to ensure value differs from that of
- todos-item-mark.
- (todos-item-mark): New defcustom.
- (todos-prefix-overlay): New function.
- (todos-marked-item-p): Use it. Adapt implementation to new
- handling of marked items.
- (todos-insert-with-overlays): When inserting pushes down a marked
- item, move its prefix overlay.
- (todos-prefix-overlays): Add overlay even when prefix is empty string,
- otherwise item marking fails. Improve handling of marked items.
- (todos-mark-unmark-item): Adapt to new handling of marked items
- and simplify by removing marking of all items in category.
- (todos-mark-category): Adapt to new handling of marked items and
- don't use todos-mark-unmark-item.
- (todos-unmark-category): Adapt to new handling of marked items.
- (todos-delete-item): Remove obsolete handling of marked items and
- useless restoration of point.
- (todos-set-item-priority): Use new handling of marked items.
- (todos-move-item, todos-item-done, todos-item-undo)
- (todos-archive-done-item): Remove obsolete handling of marked items.
-
-2013-01-25 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Improve definitions and use of some faces.
- (todos-top-priority): Use current definition of font-lock-constant-face.
- (todos-diary-expired): Make default value contrast more with
- default value of todos-date face.
- (todos-nondiary, todos-category-string): New faces.
- (todos-nondiary-face, todos-category-string-face): Corresponding
- new variables.
- (todos-done, todos-comment): Switch default values to go better
- with default value of todos-date face.
- (todos-done-sep): Change default value.
- (todos-category-string-matcher-1)
- (todos-category-string-matcher-2): Improve doc string.
- (todos-font-lock-keywords): Use todos-nondiary-face and
- todos-category-string-face.
- (todos-done-separator): Propertize string with todos-done-sep face.
- (todos-filtered-items-mode): Fix typo.
-
-2013-01-23 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Improve handling of saved top priorities items.
- (todos-find-item): Find done items and items whose priority has
- changed or whose text was truncated or augmented; add doc string.
- (todos-check-top-priorities): Highlight each item that is not up
- to date.
- (todos-jump-to-item): Jump to items whose priority has changed or
- whose text was truncated or augmented.
-
-2013-01-22 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Revise handling of initial display and extend
- to top priorities file.
- (todos-display-categories-first): Remove, replacing by this:
- (todos-show-first): New defcustom.
- (todos-first-visit): Remove, replacing by this:
- (todos-visited): New variable.
- (todos-absolute-file-name): Extend possible values of optional
- argument to take top priorities files into account.
- (todos-modes-set-3, todos-mode): Remove use of todos-first-visit.
- (todos-mode-external-set): Call find-file-noselect instead of
- find-buffer-visiting, since the latter may fail.
- (todos-show): Revise handling of initial display using
- todos-show-first and todos-visited and extend to top priorities
- file.
- (todos-quit): Adapt to new handling of initial display.
-
-2013-01-14 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Implement saving top priority items buffers,
- improve implementation of item filtering commands and
- infrastucture, and fix two bugs.
- (todos-prefix-overlays): Use todos-top-priority face only in Todos
- mode.
- (todos-multiple-filter-files): Get file-truename of Todos file.
- (todos-filter-items): Pass a list of files from the caller instead
- of building it here, and move handling of cancelled file selection
- dialog to callers. Correct omission of file-wide default number
- of top priorities.
- (todos-filtered-buffer-name): Treat file-list argument only as a list.
- (todos-find-item, todos-check-top-priorities)
- (todos-top-priorities-filename)
- (todos-save-top-priorities-buffer): New functions.
- (todos-save): Use todos-save-top-priorities-buffer.
- (todos-jump-to-item): Refactor and use todos-find-item.
- (todos-top-priorities): Simplify semantics of prefix argument.
- Check if top priorities file exists and if so, visit it, reporting
- whether it is up to date. Add optional argument and use it to
- handle multiple files.
- (todos-diary-items, todos-regexp-items): Add optional argument and
- use it to handle multiple files.
- (todos-top-priorities-multifile, todos-diary-items-multifile)
- (todos-regexp-items-multifile): Refactor, using corresponding
- non-multifile command.
- (auto-mode-alist): Add pattern for top priorities files to visit
- these in Todos Filtered Items mode.
-
-2013-01-08 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Fix tabular alignment in Todos Categories mode.
- (todos-adjusted-category-label-length): New function.
- (todos-padded-string): Use it.
-
-2013-01-08 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-move-item): Allow moving done items to
- done section of another category.
-
-2013-01-06 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Display numerical priority string of top
- priority items in category in a distinctive face.
- (todos-prefix-string): Make doc string more precise.
- (todos-top-priority): New defface.
- (todos-done, todos-done-sep): Use more compact face definition
- \(taken from font-lock.el).
- (todos-comment): Give a complete face definition, instead of
- inheriting from todos-done.
- (todos-font-lock-keywords): Use todos-comment-face for
- todos-comment-string-matcher.
- (todos-prefix-overlays): Use todos-top-priority as the face
- property of top priority items; don't condition reapplying item
- prefix overlay on whether the string changed, since that prevents
- updating display after changing number of top priorities.
- (todos-set-top-priorities): Call todos-prefix-overlays to update
- display.
-
-2013-01-04 Stephen Berman <Stephen.Berman@rub.de>
-
- * calendar/todos.el (todos-reset-global-current-todos-file)
- (todos-display-categories-1): Use absolute name of
- todos-default-todos-file.
-
-2013-01-04 Stephen Berman <Stephen.Berman@rub.de>
-
- * calendar/todos.el (todos-insert-item): Fix copy and paste error
- from previous change.
-
-2013-01-03 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Implement extended category completions.
- (todos-default-todos-file): Change default value to correct custom
- type.
- (todos-category-completions-files): New defcustom.
- (todos-reevaluate-category-completions-files-defcustom)
- (todos-absolute-file-name, todos-category-completions): New defuns.
- (todos-reevaluate-filelist-defcustoms):
- Add todos-category-completions-files and
- todos-reevaluate-category-completions-files-defcustom.
- (todos-allcats-file, todos-all-categories-alist)
- (todos-jump-to-category-other-file, todos-jump-to-any-category)
- (todos-move-item-to-file): Remove (todos-all-categories-alist both
- as defvar and as defun).
- (todos-read-category): Rewrite using extended category completions
- and better handling of completion against existing or non-existing
- categories.
- (todos-validate-name): Correct doc string; use local instead of
- dynamic variables in function body.
- (todos-insert-category-line): Adjust use of todos-jump-to-category
- to new argument list.
- (todos-key-bindings, todos-menu): Delete entries for removed
- commands.
- (todos-show): Get absolute name of todos-default-todos-file;
- add `nowarn' argument to find-file-noselect; adjust use of
- todos-add-category to new argument list.
- (todos-jump-to-category): Rewrite using extended category
- completions; reverse argument list, adapting FILE argument to new
- completion mechanism; add autoload cookie; call todos-show if
- there are no Todos files.
- (todos-add-category): Rewrite using extended category completions;
- add FILE argument to accommodate new completion mechanism.
- (todos-merge-category): Adapt to extended category completions,
- adding prefix argument.
- (todos-insert-item): Adapt to extended category completions; use
- todos-read-category instead of todos-jump-to-category in prefix
- argument calls; call todos-show if there are no Todos files; if
- item is inserted at end of category, recenter to ensure the items
- above it are displayed in the window.
- (todos-move-item): Adapt to extended category completions, making
- argument prefix argument; allow moving within category (for the
- sake of code simplification); add `nowarn' argument to
- find-file-noselect.
- (todos-archive-done-item): Prevent error when attempting to
- archive not-done todo item; adjust use of todos-add-category to
- new argument list.
-
-2012-12-15 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-archive-done-item): Fix archiving of
- all done items in a category and resulting display of todo file.
-
-2012-12-14 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-priorities-rules): Fix customization
- type to prevent mismatch error.
- (todos-set-top-priorities): Fix rule construction; fix input check;
- improve prompt.
-
-2012-12-14 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-insert-item): If user exits Calendar
- before choosing a date, cancel item insertion.
- (todos-set-date-from-calendar): If user exits Calendar before
- choosing a date, clean up properly.
-
-2012-12-12 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Extend and improve handling of item editing,
- especially of date/time header.
- (todos-month-name-array, todos-month-abbrev-array): New defconsts.
- (todos-date-pattern): Use explicitly numbered groups.
- (todos-read-date): Optionally read and return just one of the date
- string components year, month or monthname, day.
- (todos-key-bindings): Add bindings for new item header editing
- commands.
- (todos-edit-item): Exclude date/time header from minibuffer by
- default; include it by passing a prefix argument.
- (todos-edit-item-header-1): New function containing the guts of
- the commands for editing item date/time headers.
- (todos-edit-item-header): Use it. Condition editing of time
- string on value of `todos-always-add-time-string'.
- (todos-edit-item-date-from-calendar): Use todos-edit-item-header-1.
- (todos-edit-item-date-to-today): Rename from
- todos-edit-item-date-is-today and use todos-edit-item-header-1.
- (todos-edit-item-date): Remove.
- (todos-edit-item-date-day-name, todos-edit-item-date-year)
- (todos-edit-item-date-month, todos-edit-item-date-day): New commands.
-
-2012-12-02 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-show): Fix a comment.
- (todos-add-category): Prompt for a new category if passed category
- is the empty string, not nil.
-
-2012-11-26 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-make-categories-list)
- (todos-convert-legacy-files, todos-jump-to-item)
- (todos-move-category, todos-merge-category)
- (todos-archive-done-item, todos-unarchive-items): Include end of
- line in regex searches for beginning of category, in order not to
- get a category whose name contains the searched for category name.
-
-2012-11-15 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-forward-category): Fix typo.
-
-2012-10-30 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el (todos-define-insertion-command):
- Let generated insertion commands accept a prefix argument.
-
-2012-10-08 Stephen Berman <Stephen.Berman@rub.de>
-
- * calendar/todos.el (todos-move-item): If user quits before
- completing movement, restore display of initial category; if item
- is moved to end of target category, make sure the items above it
- are displayed in the window.
-
-2012-10-08 Stephen Berman <stephen.berman@gmx.net>
-
- * calendar/todos.el: Fixes to todos-move-item and some of its
- subroutines.
- (todos-move-item): When there are marked items, point need not be
- on an item; remove obsolete use of todos-add-category, since this
- is now already done in todos-read-category; fix typo.
- (todos-diary-item-p): Exclude empty lines.
- (todos-read-category): Restore point and narrowing after adding
- new category, to avoid moving to beginning of file when moving
- marked items to a new category.
- (todos-set-item-priority): Prompt for priority only when the
- category has at least one todo item; only use non-nil priority to
- calculate insertion location.
- (todos-read-category): Don't reset todos-categories when a new
- category is added due to todos-move-item or todos-jump-to-item.
-
-2012-09-24 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-07-14 (revision 110020).
- * calendar/todos.el (todos-copy-item): New command.
- (todos-insertion-map): Add key binding for it.
-
-2012-09-24 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-07-13 (revision 110019).
- * calendar/todos.el (todos-undo-item-omit-comment): New defcustom.
- (todos-item-undo): Use it.
- (todos-allcats-file, todos-all-categories-alist): New variables.
- (todos-all-categories-alist): New function.
- (todos-jump-to-any-category): New command.
- (todos-move-item): Remove mark overlays from buffer items were
- moved from; update todos-categories-with-marks,
-
-2012-09-24 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-27 (revision 110018).
- * calendar/todos.el: Further code rearrangement; further new and
- revised comments.
- (todos-reevaluate-filelist-defcustoms): Rename from
- todos-reevaluate-defcustoms and adjust callers.
- (todos-date-pattern, todos-nondiary-start, todos-nondiary-end)
- (todos-date-string-start, todos-done-string-start)
- (todos-item-start): Change from defvar to defconst.
- (todos-set-top-priorities): Use read-number and simplify.
- (todos-insert-item): Check whether date-type argument is a string.
- (todos-set-date-from-calendar): Check whether
- todos-date-from-calendar is a string; simplify cond clause.
- (todos-archive-done-item, todos-unarchive-items):
- Use buffer-substring-no-properties.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-25 (revision 110017).
- * calendar/todos.el (todos-item-undo): Fix restoration on
- cancelling; use buffer-substring-no-properties; comment out code
- removing mark overlay; fix insertion of undone items; display any
- remaining done items.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-24 (revision 110016).
- * calendar/todos.el: Further significant code rearrangement;
- further comment revision.
- (todos-mode-display): New defgroup.
- (todos-prefix, todos-number-priorities)
- (todos-done-separator-string, todos-done-string)
- (todos-comment-string, todos-show-with-done)
- (todos-mode-line-function, todos-skip-archived-categories)
- (todos-highlight-item, todos-wrap-lines)
- (todos-line-wrapping-function): Use it.
- (todos-item-insertion): New defgroup.
- (todos-include-in-diary, todos-diary-nonmarking)
- (todos-nondiary-marker, todos-always-add-time-string)
- (todos-use-only-highlighted-region): Use it.
- (todos-forward-button, todos-backward-button): New commands.
- (todos-categories-mode-map): Use them, replacing forward-button
- and backward-button.
- (todos-merge-category): Fix and improve implementation; handle
- archived items.
- (todos-insert-item, todos-set-date-from-calendar): Handle setting
- date by calling todos-insert-item-from-calendar.
- (todos-delete-item): Fix overlay handling.
- (todos-move-item): Highlight item to be moved.
- (todos-item-undo): Handle marked items.
- (todos-insert-item-from-calendar): Rewrite using
- todos-date-from-calendar.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-21 (revision 110015).
- * calendar/todos.el: Further comment revision.
- (todos-sorted-column): Change default value, also taking tty into
- account.
- (todos-reset-done-separator): Fix faulty variable binding.
- (todos-reset-and-enable-done-separator): Save match data; comment
- out code that causes problems for Edebug.
- (todos-item-start): Handle empty line between todo and done items
- when done items are hidden.
- (todos-read-date): Use a leap year for `*' to allow
- calendar-last-day-of-month to return Feb. 29.
- (todos-archive-mode, todos-edit-mode, todos-categories-mode)
- (todos-filtered-items-mode): Delete faulty parentheses.
- (todos-quit): Save Todos and archive files unconditionally.
- (todos-forward-item): Accept only positive prefix argument.
- (todos-backward-item): Accept only positive prefix argument; don't
- move point to beginning of buffer if it is on the first item.
- (todos-hide-show-date-time): Remove obsolete interactive spec.
- (todos-move-category): Improve prompt string; ensure file moved to
- is different from file moved from.
- (todos-merge-categories): Remove.
- (todos-set-category-priority): New command.
- (todos-raise-category-priority, todos-lower-category-priority):
- Use it to define these commands.
- (todos-set-item-priority): Rewrite and generalize.
- (todos-raise-item-priority, todos-lower-item-priority): Use it to
- define these commands.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-15 (revision 110014).
- * calendar/todos.el (todos-reset-done-separator)
- (todos-reset-and-enable-done-separator): New functions.
- (todos-reset-done-separator-string): Rewrite using
- todos-reset-done-separator for string longer than 1 character.
- (todos-mode): Add todos-reset-and-enable-done-separator to
- window-configuration-change-hook, replacing previous anonymous
- function.
- (todos-unload-hook): And remove it.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-14 (revision 110013).
- * calendar/todos.el (todos-done-separator-string): New defcustom.
- (todos-done-separator): New variable replacing defcustom of the
- same name.
- (todos-reset-done-separator-string, todos-done-separator):
- New functions.
- (todos-mode): Make function added to
- window-configuration-change-hook do a better job of updating the
- done items separator string overlay.
- (todos-unload-hook): Remove it here.
- (todos-item-undo): Fix search for item's end.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-03 (revision 110012).
- * calendar/todos.el: Further comment revision.
- (todos-sorted-column): Change default value.
- (todos-item-start): Handle empty category (needed in
- todos-filter-items).
- (todos-read-date): Don't use calendar-read; make code cleaner.
- (todos-multiple-filter-files): Rename this variable from
- todos-multiple-files and adjust users.
- (todos-multiple-filter-files-widget): Rename from
- todos-multiple-files-widget and adjust users.
- (todos-multiple-filter-files): Rename this function from
- todos-multiple-files and adjust callers.
- (todos-filter-items): Remove unused code.
- (todos-insert-category-line): Add space so highlighting of last
- column is consistent with the others; adjust display of column
- highlighting.
- (todos-menu): Remove obsolete entry.
- (todos-categories-mode-map): Add new bindings.
- (todos-display-categories-alphabetically-or-by-priority): New command.
- (todos-display-categories-sorted-by-todo)
- (todos-display-categories-sorted-by-diary)
- (todos-display-categories-sorted-by-done)
- (todos-display-categories-sorted-by-archived): Restore and fix
- implementation.
-
-2012-09-23 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-02 (revision 110011).
- * calendar/todos.el: Significant code rearrangement; further
- comment revision.
- (todos-filtered-items-buffer): Rename from todos-filter-buffer and
- adjust users.
- (todos-filtered-buffer-name): Rename from
- todos-special-buffer-name and adjust users.
- (todos-filtered-items-mode-map): Rename from
- todos-filter-items-mode-map and adjust users.
- (todos-mode-external-set): Use todos-categories instead of
- todos-set-categories (and add comment to check if this DTRT).
- (todos-filtered-items-mode): Rename from todos-filter-items-mode
- and adjust users.
- (todos-add-category): Don't call todos-validate-name, since
- todos-read-category does.
- (todos-edit-quit): Use todos-repair-categories-sexp.
- (todos-done-item-add-edit-or-delete-comment): Rename from
- todos-done-item-add-or-edit-comment and adjust users; add optional
- argument to prompt to delete comment.
- (todos-item-undo): Delete done item comment on undoing if user
- confirms.
-
-2012-09-22 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-02 (revision 110010).
- * calendar/todos.el: Further code rearrangement and comment
- revision.
- (todos-item-start): Handle empty line between todo and done items
- when done items are displayed.
- (todos-key-bindings): Comment out bindings meant only for
- todos-archive-mode.
- (todos-archive-mode-map): Fix typo.
- (todos-archive-mode): Derive from special-mode instead of
- todos-mode to prevent its key bindings from being available here.
- (todos-archive-done-item): Remove obsolete code; fix item count
- updating.
- (todos-unarchive-items): Simplify; fix unarchiving of all items in
- category; fix item count updating; fix typo.
-
-2012-09-22 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-06-01 (revision 110009).
- * calendar/todos.el: Further code rearrangement and comment
- revision.
- (todos-add-to-buffer-list, todos-update-buffer-list): New functions.
- (todos-file-buffers): New variable.
- (todos-reset-global-current-todos-file): Use it to simplify
- implementation of this function.
- (todos-filtered): New defgroup.
- (todos-filter-buffer, todos-top-priorities-buffer)
- (todos-diary-items-buffer, todos-regexp-items-buffer)
- (todos-priorities-rules, todos-show-priorities)
- (todos-filter-files, todos-filter-done-items): Use it.
- (todos-skip-archived-categories): Rename from
- todos-ignore-archived-categories and adjust users.
- (todos-display-as-todos-file): Rename from todos-after-find-file
- and adjust callers.
- (todos-reset-highlight-item, todos-mode-external-set)
- (todos-jump-to-category, todos-jump-to-item)
- (todos-raise-category-priority, todos-insert-item)
- (todos-move-item): Use find-file-visiting.
- (todos-make-categories-list): Use file-truename.
- (todos-display-categories-1): Adjust title text for archive files;
- use done label for item counts in archive files.
- (todos-modes-set-3): Add todos-display-as-todos-file to
- find-file-hook.
- (todos-mode): Add todos-add-to-buffer-list to find-file-hook and
- todos-update-buffer-list post-command-hook.
- (todos-unload-hook): And remove them.
- (todos-show): Only when interactively invoked from an archive,
- switch to corresponding Todos file.
- (todos-archive-done-item): Remove obsolete code; fix handling of
- marked items; fix search for existing category; check whether
- archive exists and write to file if not; improve display handling.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-29 (revision 110008).
- * calendar/todos.el: Further comment revision.
- (todos-item-end): Replace use of command todos-forward-item by
- regexp searches using internal variables.
- (todos-raise-category-priority): Improve and comment.
- (todos-insert-item): Fix insertion of empty time string.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-29 (revision 110007).
- * calendar/todos.el (todos-ignore-archived-categories):
- Revert last change; remove :initialize and :set functions; change
- use and change users accordingly.
- (todos-reset-categories, todos-categories-full)
- (todos-truncate-categories-list): Remove.
- (todos-set-categories, todos-update-categories-sexp):
- Use todos-categories instead of todos-categories-full; remove use
- of todos-ignore-archived-categories and
- todos-truncate-categories-list.
- (todos-check-format, todos-repair-categories-sexp):
- Use todos-categories instead of todos-categories-full.
- (todos-read-category): Improve last change.
- (todos-validate-name): Use completing-read.
- (todos-categories-category-number): Rename from
- todos-category-number and adjust users.
- (todos-update-categories-display, todos-mode-external-set)
- (todos-delete-category, todos-move-category, todos-merge-category)
- (todos-unarchive-items): Remove use of todos-categories-full and
- todos-ignore-archived-categories.
- (todos-modes-set-3, todos-add-category): Remove use of
- todos-categories-full.
- (todos-edit-mode): Fix typo.
- (todos-forward-category): Use todos-ignore-archived-categories.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-28 (revision 110006).
- * calendar/todos.el: Doubts about todos-ignore-archived-categories.
- (todos-ignore-archived-categories): Change default value.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-27 (revision 110005).
- * calendar/todos.el: Further comment revision.
- (todos-reset-global-current-todos-file):
- Try to make this not slow down kill-buffer.
- (todos-update-categories-sexp): Handle the case where there is no
- categories sexp yet, i.e. after inserting the first item in the
- file, so todos-display-categories works.
- (todos-read-file-name): Improve implementation.
- (todos-validate-name): Use variable todos-files.
- (todos-category-number): New variable.
- (todos-insert-category-line, todos-update-categories-display)
- (todos-raise-category-priority): Use it.
- (todos-add-file): Remove unused remnant code.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-25 (revision 110004).
- * calendar/todos.el: Further comment revision.
- (todos-set-item-top-priority): New command.
- (todos-reset-global-current-todos-file):
- Use todos-files-function instead of todos-files.
- (todos-read-category): Add optional argument to test whether
- caller adds new category; if so, don't prompt for new category and
- don't restore original todos-categories list.
- (todos-categories-mode-map): Update to renamed commands.
- (todos-filter-items-mode-map): Add binding for new command.
- (todos-mode): Fix typo.
- (todos-show): If called from archive file, show corresponding
- category in Todos file, if it exists.
- (todos-jump-to-category): Remove code to add new category, since
- todos-read-category can do that.
- (todos-add-file): Remove obsolete code; visit new file in selected
- window.
- (todos-add-category): Simplify.
- (todos-rename-category): Use force-mode-line-update instead of
- setting mode-line-buffer-identification.
- (todos-delete-category): Improve logic of prompts; use
- todos-categories-full and check todos-ignore-archived-categories.
- (todos-raise-category-priority, todos-lower-category-priority):
- Rename from todos-{raise,lower}-category and adjust callers.
- (todos-move-category, todos-merge-category):
- Set todos-categories-full; on setting todos-categories check
- todos-ignore-archived-categories.
- (todos-insert-item): Let-bind use-empty-active-region and use
- use-region-p instead of transient-mark-mode.
- (todos-raise-item-priority): Improve implementation.
- (todos-archive-done-item): Rename from
- todos-archive-done-item-or-items and adjust callers; confine to
- Todos mode.
- (todos-unarchive-items): On setting todos-categories check
- todos-ignore-archived-categories.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-23 (revision 110003).
- * calendar/todos.el (todos-key-bindings): Remove binding of
- deleted command.
- (todos-menu): Remove entry of deleted command.
- (todos-show-archive): Fix last change.
- (todos-done-item-add-or-edit-comment): Rename from
- todos-comment-done-item and adjust callers; prompt to edit an
- existing comment.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-22 (revision 110002).
- * calendar/todos.el (todos-set-show-current-file): Rename from
- todos-toggle-show-current-file and adjust callers.
- (todos-number-priorities): Rename from todos-number-prefix and
- adjust users.
- (todos-update-count): Rename from todos-set-count and adjust
- callers.
- (todos-hide-show-item-numbering): Rename from
- todos-toggle-item-numbering and adjust callers.
- (todos-hide-show-done-items): Rename from
- todos-toggle-view-done-items and adjust callers.
- (todos-show-done-only): Rename from todos-toggle-show-done-only.
- (todos-view-archived-items): Comment out.
- (todos-show-archive): Prompt to choose another archive file if
- current Todos file lacks an archive; prompt to visit archive
- anyway when current category has no archived items.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-21 (revision 110001).
- * calendar/todos.el: Further comment revision and code
- rearrangement.
- (todos-item-end): Revert last change.
- (todos-key-bindings, todos-menu, todos-archive-mode-map)
- (todos-filter-items-mode-map): Use renamed commands.
- (todos-hide-show-date-time): Rename from
- todos-toggle-display-date-time.
- (todos-mark-unmark-item): Rename from todos-toggle-mark-item and
- adjust caller.
- (todos-backward-item): Exempt special handling only from
- todos-regexp-items-buffer instead of todos-filter-items-mode.
- (todos-raise-item-priority): Don't allow item reprioritizing in
- Todos filter items mode except for top priority items.
-
-2012-09-21 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-19 (revision 110000).
- * calendar/todos.el: Add and revise further doc strings and
- comments.
- (todos-filter-function, todos-custom-items)
- (todos-custom-items-multifile): Remove.
- (todos-filter-done-items): New defcustom.
- (todos-item-end, todos-backward-item): Handle todos-filter-items-mode.
- (todos-filter-items): Check return value of caller first; tag
- archived items for todos-jump-to-item; delete categories sexp
- before processing filter; check todos-filter-done-items for
- whether to leave done items; remove custom filter; fix regexp for
- file and category tags; don't invoke buffer fontification.
- (powerset-recursive): Fix typo.
- (todos-key-bindings): Remove unused bindings.
- (todos-top-priorities-multifile, todos-diary-items-multifile)
- (todos-regexp-items-multifile): Use variable todos-multiple-files.
- (todos-jump-to-item): Fix regexp; handle archive tags; take
- todos-filter-done-items into account.
- (todos-insert-item-from-calendar): Relocate to end of file
- together with key-binding as addition to calendar.el.
-
-2012-09-20 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2012-05-17 (revision 109999).
- * calendar/todos.el: Add and revise further doc strings and
- comments; major code rearrangement.
- (todos-merged-files, todos-prompt-merged-files)
- (todos-print-priorities, todos-tmp-buffer-name)
- (todos-top-priorities-widgets, todos-update-merged-files)
- (todos-merged-top-priorities, todos-merged-diary-items)
- (todos-merged-regexp-items, todos-merged-custom-items)
- (todos-raw-mode, todos-change-default-file)
- (todos-toggle-diary-inclusion, todos-toggle-item-diary-nonmarking)
- (todos-toggle-diary-nonmarking, todos-validate-category-name):
- Remove.
- (todos-category-string-matcher): Comment out.
- (todos-categories): New defgroup.
- (todos-initial-file, todos-filter-buffer)
- (todos-top-priorities-buffer, todos-categories-category-label)
- (todos-diary-items-buffer, todos-regexp-items-buffer)
- (todos-custom-items-buffer, todos-filter-files)
- (todos-highlight-item, todos-todo-mode-date-time-regexp):
- New defcustoms.
- (todos-diary-expired): New face.
- (todos-print-buffer, todos-multiple-files)
- (todos-multiple-files-widget, todos-key-bindings): New variables.
- (todos-short-file-name, todos-reevaluate-default-file-defcustom)
- (todos-special-buffer-name)
- (todos-reevaluate-filter-files-defcustom)
- (todos-reset-highlight-item, todos-reevaluate-defcustoms)
- (todos-nondiary-marker-matcher, todos-diary-nonmarking-matcher)
- (todos-diary-expired-matcher, todos-category-string-matcher-1)
- (todos-category-string-matcher-2, todos-repair-categories-sexp)
- (todos-validate-name, todos-multiple-files)
- (todos-display-categories-1, todos-update-categories-display)
- (todos-modes-set-3, todos-mode-external-set): New functions.
- (todos-set-top-priorities-in-file)
- (todos-set-top-priorities-in-category)
- (todos-top-priorities-multifile, todos-diary-items-multifile)
- (todos-regexp-items-multifile, todos-custom-items-multifile)
- (todos-convert-legacy-files, todos-jump-to-item)
- (todos-edit-multiline-item, todos-edit-item-date-from-calendar)
- (todos-edit-item-diary-inclusion)
- (todos-edit-category-diary-inclusion)
- (todos-edit-item-diary-nonmarking)
- (todos-edit-category-diary-nonmarking): New commands.
- (todos, todos-faces): Update :version.
- (todos-done-separator, todos-completion-ignore-case):
- Change default value.
- (todos-done-separator): Change :set function.
- (todos-indent-to-here): Add :validate function to :type.
- (todos-prefix-string, todos-mark, todos-button)
- (todos-sorted-column, todos-archived-only, todos-search)
- (todos-done, todos-done-sep): Provide full face definitions
- instead of inheriting.
- (todos-edit-buffer, todos-categories-buffer): Change from
- defcustom to defvar.
- (todos-category-beg, todos-category-done): Change from defvar to
- defconst.
- (todos-files): Check if todos-files-directory exists.
- (todos-default-todos-file, todos-mode-line-control, todos-print):
- Use todos-short-file-name.
- (todos-font-lock-keywords): Use todos-nondiary-marker-matcher,
- todos-diary-nonmarking-matcher, todos-category-string-matcher-1,
- todos-category-string-matcher-2, todos-diary-expired-matcher.
- (todos-category-select): Use todos-done-string-start, and
- condition search on todos-show-with-done; don't make display
- overlay for done items separator string if there already is one;
- use todos-highlight-item, require hl-line and activate
- hl-line-mode here in order to avoid a hang if done in todos-mode
- or the mode hook.
- (todos-update-categories-sexp): Use todos-categories-full if set,
- otherwise todos-categories.
- (todos-make-categories-list): Don't test for archive file when
- processing a legacy todo-mode file.
- (todos-check-format): Add check for todos-categories sexp.
- (todos-diary-item-p): Use todos-nondiary-start instead of
- todos-date-pattern.
- (todos-marked-item-p): Rename from todos-item-marked-p.
- (todos-read-file-name): Don't accept empty name; validate.
- (todos-read-category): Validate new name before prompting whether
- to add new category; force quit if user answers no.
- (todos-filter-items): Improve implementation.
- (todos-set-top-priorities): Rewrite as a noninteractive function
- using minibuffer input instead of widgets.
- (todos-insert-sort-button): Call todos-display-sorted with
- argument nil to display categories in numerical order, instead of
- calling todos-display-categories.
- (powerset-recursive): Borrow and slightly reformulate the (GDFL'd)
- Common Lisp powerset function at
- http://rosettacode.org/wiki/Power_set#Common_Lisp.
- (powerset-bitwise): Implement in Emacs Lisp the (GDFL'd) C
- powerset function at http://rosettacode.org/wiki/Power_set#C.
- (todos-powerset): Defalias to powerset-bitwise.
- (todos-mode-map): Generate from todos-key-bindings instead of
- listing each key definition.
- (todos-categories-mode-map): Add two bindings.
- (todos-filter-items-mode-map): Add some bindings, remove others.
- (todos-mode): Derive from special-mode; use todos-modes-set-3; add
- function setting todos-done-separator to
- window-configuration-change-hook.
- (todos-unload-hook): Remove function setting todos-done-separator
- from window-configuration-change-hook.
- (todos-archive-mode): Derive from todos-mode; use todos-modes-set-3.
- (todos-edit-mode): Derive from text-mode; use todos-mode-external-set.
- (todos-categories-mode): Derive from special-mode; use
- todos-mode-external-set.
- (todos-filter-items-mode): Derive from special-mode.
- (todos-quit): Save archive file if it hasn't yet been saved.
- (todos-display-categories): Delegate all functionality to
- todos-display-categories-1 and todos-update-categories-display.
- (todos-toggle-view-done-items): Improve implementation.
- (todos-highlight-item): Require hl-line.
- (todos-toggle-display-date-time): Remove argument and make it
- apply only to whole file.
- (todos-top-priorities, todos-diary-items, todos-regexp-items)
- (todos-custom-items): Use todos-special-buffer-name.
- (todos-add-file): Use todos-short-file-name and
- todos-reevaluate-defcustoms; remove validation, since it's now
- done in todos-read-file-name.
- (todos-add-category): Also update todos-categories-full if non-nil.
- (todos-delete-category): Delete file after confirmation if only
- category is deleted.
- (todos-move-category): Use todos-short-file-name and
- todos-reevaluate-defcustoms.
- (todos-insert-item): Fix getting date from the calendar and
- insertion of time string.
- (todos-set-date-from-calendar): Enter calendar buffer, suppressing
- display of diary entries.
- (todos-edit-multiline): Add optional argument to restrict editing
- buffer to current item, otherwise make entire buffer (i.e. whole
- file) editable.
- (todos-edit-quit): When whole file is editable, check file format
- validity before killing buffer, and if valid, recalculate
- categories sexp to be safe.
- (todos-edit-item-header): Allow choosing date from calendar.
- (todos-item-done): Handle marked items.
-
-2012-09-19 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2011-12-03 (revision 109998).
- * calendar/todos.el (todos-item-start): Restore commented out code
- to prevent wrongly moving point in widened buffer.
-
-2012-09-19 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2011-12-02 (revision 109997).
- * calendar/todos.el: Remove old commentary from todo-mode.el; add
- and revise further doc strings and comments; require cl.el at
- compile time for remove-duplicates; use function powerset from
- http://rosettacode.org/wiki/Power_set#Common_Lisp (GFDL); further
- code rearrangement. Add adapted version of diary-goto-entry as comment.
- (todos-file-top, todos-archived-categories-buffer)
- (todos-save-top-priorities-too, todos-toggle-item-diary-inclusion)
- (todos-save-top-priorities, todos-reset-separator)
- (todos-switch-todos-file, todos-item-string-start, todos-counts)
- (todos-string-count-lines, todos-string-multiline-p)
- (todos-display-categories-alphabetically): Remove.
- (todos-insert-item-ask-date, todos-insert-item-ask-date-time)
- (todos-insert-item-ask-date-time-for-diary)
- (todos-insert-item-ask-date-time-for-diary-here)
- (todos-insert-item-ask-date-time-here)
- (todos-insert-item-ask-date-maybe-notime)
- (todos-insert-item-ask-date-maybe-notime-for-diary)
- (todos-insert-item-ask-date-maybe-notime-for-diary-here)
- (todos-insert-item-ask-date-maybe-notime-here)
- (todos-insert-item-ask-date-for-diary)
- (todos-insert-item-ask-date-for-diary-here)
- (todos-insert-item-ask-date-here, todos-insert-item-ask-dayname)
- (todos-insert-item-ask-dayname-time)
- (todos-insert-item-ask-dayname-time-for-diary)
- (todos-insert-item-ask-dayname-time-for-diary-here)
- (todos-insert-item-ask-dayname-time-here)
- (todos-insert-item-ask-dayname-maybe-notime)
- (todos-insert-item-ask-dayname-maybe-notime-for-diary)
- (todos-insert-item-ask-dayname-maybe-notime-for-diary-here)
- (todos-insert-item-ask-dayname-maybe-notime-here)
- (todos-insert-item-ask-dayname-for-diary)
- (todos-insert-item-ask-dayname-for-diary-here)
- (todos-insert-item-ask-dayname-here, todos-insert-item-ask-time)
- (todos-insert-item-ask-time-for-diary)
- (todos-insert-item-ask-time-for-diary-here)
- (todos-insert-item-ask-time-here)
- (todos-insert-item-maybe-notime)
- (todos-insert-item-maybe-notime-for-diary)
- (todos-insert-item-maybe-notime-for-diary-here)
- (todos-insert-item-maybe-notime-here)
- (todos-insert-item-for-diary, todos-insert-item-for-diary-here)
- (todos-insert-item-here): Remove; all of these are now generated
- on loading (some with the same name, most with other names.)
- (todos-item-counts, todos-display-categories-alphabetically)
- (todos-display-categories-sorted-by-todo)
- (todos-display-categories-sorted-by-diary)
- (todos-display-categories-sorted-by-done)
- (todos-display-categories-sorted-by-archived): Comment out.
- (todos-comment-string, todos-mode-line-function)
- (todos-filter-function, todos-priorities-rules)
- (todos-visit-files-commands, todos-categories-totals-label)
- (todos-use-only-highlighted-region, todos-diary-nonmarking):
- New defcustoms.
- (todos-mark, todos-comment): New faces.
- (todos-comment-face): Corresponding new variable.
- (todos-categories-full, todos-global-current-todos-file)
- (todos-first-visit, todos-insertion-commands-args-genlist)
- (todos-insertion-commands-args, todos-insertion-commands-names)
- (todos-insertion-commands, todos-insertion-commands-arg-key-list)
- (todos-top-priorities-widgets, todos-date-from-calendar)
- (todos-item-mark, todos-categories-with-marks): New variables.
- (todos-mode-line-control, todos-reset-global-current-todos-file)
- (todos-gen-arglists, todos-insertion-command-name)
- (todos-insertion-key-bindings, todos-unload-hook)
- (todos-filter-items, todos-set-date-from-calendar)
- (todos-comment-string-matcher, todos-after-find-file)
- (todos-reset-nondiary-marker, todos-reset-done-string)
- (todos-reset-comment-string, todos-show-current-file)
- (todos-item-marked-p, todos-total-item-counts): New functions.
- (todos-define-insertion-command): New macro.
- (todos-toggle-mark-item, todos-mark-category)
- (todos-unmark-category, todos-set-top-priorities)
- (todos-merged-diary-items, todos-regexp-items)
- (todos-merged-regexp-items, todos-custom-items)
- (todos-merged-custom-items, todos-comment-done-item)
- (todos-archive-category-done-items, todos-unarchive-items)
- (todos-print-to-file): New commands.
- (todos-done-separator): Change :set function.
- (todos-done-string): Uncomment :initialize and :set functions.
- (todos-files): Use file-truename.
- (todos-show-current-file): Rename from
- todos-auto-switch-todos-file and change :set function accordingly.
- (todos-font-lock-keywords): Use todos-comment-string-matcher;
- change names of other matcher functions to new *-matcher.
- (todos-category-number): Change initial value.
- (todos-insertion-map): Use todos-insertion-key-bindings to
- generate key definitions.
- (todos-mode-map): Don't suppress digit keys, so they can supply
- prefix arguments; add new and change some existing bindings.
- (todos-archive-mode-map): Change a key binding.
- (todos-categories-mode-map): Comment out a key binding.
- (todos-filter-items-mode-map): Rename from
- todos-top-priorities-mode-map.
- (todos-mode): Make todos-current-todos-file,
- todos-categories-full, todos-categories, todos-first-visit,
- todos-category-number, todos-show-done-only,
- todos-categories-with-marks local variables and set them; add
- todos-show-current-file to pre-command-hook, todos-after-find-file
- to post-command-hook and todos-reset-global-current-todos-file to
- kill-buffer-hook.
- (todos-archive-mode): Make todos-current-todos-file,
- todos-categories and todos-category-number local variables and set
- them; add todos-after-find-file to post-command-hook.
- (todos-raw-mode): New derived major mode.
- (todos-categories-mode): Don't set font-lock-defaults and
- buffer-read-only; make todos-current-todos-file and
- todos-categories local variables and set them.
- (todos-filter-items-mode): Rename from todos-top-priorities-mode-map.
- (todos-quit): Don't reset todos-categories on quitting
- todos-categories-mode; handle quitting todos-filter-items-mode.
- (todos-show): Simplify; when visiting an archive file switch to
- corresponding Todos file; use todos-first-visit.
- (todos-view-archived-items): Simplify; call todos-category-number.
- (todos-show-archive): Rename from todos-switch-to-archive and
- adjust callers; simplify.
- (todos-toggle-display-date-time): Add optional argument to toggle
- display in entire file.
- (todos-top-priorities): Use todos-filter-items, which now contains
- the previous core of this command.
- (todos-merged-top-priorities, todos-diary-items):
- Use todos-filter-items.
- (todos-forward-category): Add optional argument to go to the
- previous category.
- (todos-backward-category): Use todos-forward-category.
- (todos-jump-to-category): Refine implementation.
- (todos-forward-item, todos-backward-item): Fix movement from todo
- to done item and vice versa.
- (todos-add-file): Remove argument and simplify.
- (todos-rename-category): Use todos-current-todos-file and
- todos-mode-line-function; set todos-categories with
- todos-set-categories.
- (todos-delete-category): Ask what to do if category has archived items.
- (todos-raise-category): Ensure modified todos-categories is added
- to file's categories sexp.
- (todos-move-category): Improve implementation, especially handling
- of archived categories.
- (todos-merge-category): Tweak; set item counts.
- (todos-insert-item): Improve handling of various argument values;
- add new argument values to control marking of diary items and to
- use region for item body.
- (todos-insert-item-from-calendar): Use todos-global-current-todos-file.
- (todos-delete-item, todos-edit-item-header): Handle marked items.
- (todos-edit-item): Incorporate functionality of removed
- todos-string-multiline-p.
- (todos-edit-multiline): Use set-window-buffer instead of
- switch-to-buffer.
- (todos-edit-quit): Don't save on quitting; use todos-show instead
- of todos-category-select.
- (todos-raise-item-priority): Add argument to lower priority;
- improve handling of top priority items in todos-filter-items-mode;
- restore marks.
- (todos-lower-item-priority): Use todos-raise-item-priority.
- (todos-set-item-priority): Increment maximum number if item is new.
- (todos-move-item): Handle marked items; delay changing category
- moved from till after movement to avoid restoring if user cancels
- before insertion.
- (todos-item-done): Add optional argument to insert comment; fix
- item counts and update sexp.
- (todos-item-undo): Fix item counts and update.
- (todos-archive-done-item-or-items): Rename from
- todos-archive-done-items; add optional argument to archive all
- items in category; handle marked items.
- (todos-unarchive-category): Use todos-unarchive-items.
- (todos-toggle-diary-inclusion): Incorporate functionality of
- removed todos-toggle-item-diary-inclusion; handle marked items.
- (todos-print): Add optional argument to print to file.
- (todos-done-string-start): Don't use todos-nondiary-start.
- (todos-date-string-matcher, todos-time-string-matcher)
- (todos-done-string-matcher, todos-category-string-matcher): Rename
- from *-match and adjust callers.
- (todos-wrap-and-indent): Use set instead of setq for local variables.
- (todos-prefix-overlays): Improve overlay handling.
- (todos-reset-categories): Fix and complete implementation.
- (todos-toggle-show-current-file): Rename from
- todos-toggle-switch-todos-file-noninteractively.
- (todos-category-select): Use todos-mode-line-function.
- (todos-item-start): Comment out code used by removed function.
- (todos-remove-item): Handle presence of both prefix/number and
- mark overlays.
- (todos-get-count): Simplify.
- (todos-set-count): Change argument list and adjust callers; simplify.
- (todos-set-categories): Handle new archive files; use
- todos-categories-full and todos-ignore-archived-categories.
- (todos-truncate-categories-list): Use todos-categories-full.
- (todos-update-categories-sexp): Use kill-region instead of
- kill-line; use todos-categories-full.
- (todos-read-file-name): Add argument to require existing file and
- adjust callers; use file-truename.
- (todos-read-category): Remove argument to require existing
- category and delegate it to completing-read in function body.
- (todos-validate-category-name): Make empty string prompt only for
- initial category name.
- (todos-read-date): Use = instead of eq for testing if month = 13,
- and if it is, set monthname to *.
- (todos-display-categories): Use todos-global-current-todos-file;
- use set-window-buffer instead of switch-to-buffer; add a line
- showing item count totals.
- (todos-padded-string): Use the longest of category name or label.
- (todos-descending-counts): Rename from
- todos-descending-counts-store and adjust users.
- (todos-insert-category-line): Adjust format; use mapconcat; kill
- buffer after jumping to category.
-
-2012-09-18 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2011-05-16 (revision 109996).
- * calendar/todos.el Add and revise various doc strings, remove
- further commented out code; add further comments; further code
- rearrangement.
- (todos-file-do, todos-archive-file, todos-mode-hook)
- (todos-edit-mode-hook, todos-exclusion-start, todos-exclusion-end)
- (todos-view-archive, todos-search-string)
- (todos-jump-to-category-noninteractively, todos-initial-setup):
- Remove.
- (todos-files): Remove this defcustom.
- (todos-initial-category, todos-display-categories-first)
- (todos-auto-switch-todos-file, todos-default-todos-file)
- (todos-categories-category-label, todos-categories-todo-label)
- (todos-categories-diary-label, todos-categories-done-label)
- (todos-categories-archived-label)
- (todos-categories-number-separator, todos-categories-align)
- (todos-ignore-archived-categories, todos-nondiary-marker):
- New defcustoms.
- (todos-prefix, todos-done-separator, todos-file-top)
- (todos-categories-buffer, todos-archived-categories-buffer)
- (todos-edit-buffer, todos-always-add-time-string, todos-button):
- Change default value.
- (todos-done-string): Add todos-reset-done-string as :set function,
- but keep this commented out.
- (todos-files, todos-archives, todos-insertion-map)
- (todos-category-done, todos-nondiary-start, todos-nondiary-end)
- (todos-show-done-only, todos-date-string-start)
- (todos-done-string-start): New variables.
- (todos-files-directory, todos-files-function, todos-merged-files)
- (todos-prompt-merged-files, todos-files, todos-modes-set-1)
- (todos-modes-set-2, todos-reset-done-string, todos-reset-categories)
- (todos-toggle-switch-todos-file-noninteractively)
- (todos-switch-todos-file, todos-counts, todos-get-count)
- (todos-set-count, todos-set-categories)
- (todos-truncate-categories-list, todos-update-categories-sexp)
- (todos-read-file-name, todos-sort, todos-display-sorted)
- (todos-label-to-key, todos-insert-sort-button): New functions.
- (todos-display-categories-sorted-by-todo)
- (todos-display-categories-sorted-by-diary)
- (todos-display-categories-sorted-by-done)
- (todos-display-categories-sorted-by-archived)
- (todos-update-merged-files, todos-switch-to-archive)
- (todos-choose-archive, todos-merged-top-priorities)
- (todos-jump-to-category-other-file, todos-clear-matches)
- (todos-add-file, todos-change-default-file, todos-move-category)
- (todos-merge-category, todos-merge-categories)
- (todos-edit-item-time, todos-move-item-to-file)
- (todos-unarchive-category, todos-toggle-item-diary-nonmarking)
- (todos-toggle-diary-nonmarking): New commands.
- (todos-toggle-show-done-only): New command replacing todos-view-archive.
- (todos-faces): New defgroup; use in all face definitions.
- (todos-sorted-column, todos-archived-only, todos-search): New faces.
- (todos-font-lock-keywords): Use subexpression 1 with matcher
- todos-category-string-match.
- (todos-mode-map, todos-archive-mode-map, todos-edit-mode-map)
- (todos-categories-mode-map): Add new key bindings; change some
- existing bindings.
- (todos-top-priorities-mode-map): New keymap.
- (todos-menu): Add submenues and new entries.
- (auto-mode-alist): Add extension of Todos and Todos archive files.
- (todos-mode, todos-archive-mode): Make derived mode; use
- todos-modes-set-1, todos-modes-set-2, todos-auto-switch-todos-file
- and todos-switch-todos-file; make todos-show-done-only local
- variable.
- (todos-edit-mode): Make derived mode; use todos-modes-set-1.
- (todos-categories-mode): Make derived mode.
- (todos-top-priorities-mode): New derived major mode.
- (todos-save): Remove unused code.
- (todos-quit): Handle todos-categories-mode; save archive buffer.
- (todos-show): Add optional argument to prompt for a Todos file; if
- called interactively or with prefix arg or from an archive, don't
- make a no-op but reset todos-current-todos-file, todos-categories
- and todos-category-number; use todos-read-file-name,
- todos-display-categories-first, todos-ignore-archived-categories.
- (todos-display-categories): Change argument name; refactor code
- for inserting table labels and lines, using
- todos-ignore-archived-categories, todos-sort,
- todos-categories-number-separator, todos-insert-sort-button,
- todos-categories-*-labels, and todos-insert-category-line.
- (todos-display-categories-alphabetically): Use todos-display-sorted.
- (todos-toggle-view-done-items): Use todos-done-string-start and
- todos-get-count.
- (todos-toggle-display-date-time): Use todos-done-string-start.
- (todos-top-priorities): Remove autoload cookie; partially rewrite:
- new argument list; allow combining top priorities of multiple
- Todos files; change display to include category (and file) name as
- part of item header; use todos-top-priorities-mode.
- (todos-diary-items): Reimplement using only todos-top-priorities.
- (todos-forward-category, todos-backward-category): Adjust to
- 1-based numbering of categories; move point to top of category.
- (todos-jump-to-category): Rewrite, adding optional arguments to
- provide a category in non-interactive uses and to prompt for which
- Todos file to jump to.
- (todos-search): Reimplement; highlight each match as found, say
- how many matches remain and prompt whether to go to next one; at
- end of search prompt whether to remove highlighting.
- (todos-add-category): Remove autoload cookie; assign new category
- the highest category number; associate zero-initialized vector of
- item counts, instead of property list, with new category; use
- todos-validate-category-name and todos-update-categories-sexp.
- (todos-rename-category): Use todos-validate-category-name and
- todos-update-categories-sexp; take archive files into account.
- (todos-delete-category): Use todos-get-count and
- todos-update-categories-sexp, let-bind variable that were
- mistakenly global; use delete-region instead of kill-region;
- adjust to 1-based numbering of categories; move point to top of
- category.
- (todos-raise-category): Handle item count vectors; use
- todos-insert-category-line and todos-update-categories-sexp.
- (todos-insert-item): Use nil time-string argument to omit time
- string; use todos-nondiary-start and todos-nondiary-end and
- todos-update-categories-sexp; if category named to insert into
- does not exist, add it; take new diary items into account.
- (todos-insert-item-ask-date, todos-insert-item-ask-date-time)
- (todos-insert-item-ask-date-time-for-diary)
- (todos-insert-item-ask-date-time-for-diary-here)
- (todos-insert-item-ask-date-time-here)
- (todos-insert-item-ask-date-maybe-notime)
- (todos-insert-item-ask-date-maybe-notime-for-diary)
- (todos-insert-item-ask-date-maybe-notime-for-diary-here)
- (todos-insert-item-ask-date-maybe-notime-here)
- (todos-insert-item-ask-date-for-diary)
- (todos-insert-item-ask-date-for-diary-here)
- (todos-insert-item-ask-date-here, todos-insert-item-ask-dayname)
- (todos-insert-item-ask-dayname-time)
- (todos-insert-item-ask-dayname-time-for-diary)
- (todos-insert-item-ask-dayname-time-for-diary-here)
- (todos-insert-item-ask-dayname-time-here)
- (todos-insert-item-ask-dayname-maybe-notime)
- (todos-insert-item-ask-dayname-maybe-notime-for-diary)
- (todos-insert-item-ask-dayname-maybe-notime-for-diary-here)
- (todos-insert-item-ask-dayname-maybe-notime-here)
- (todos-insert-item-ask-dayname-for-diary)
- (todos-insert-item-ask-dayname-for-diary-here)
- (todos-insert-item-ask-dayname-here, todos-insert-item-ask-time)
- (todos-insert-item-ask-time-for-diary)
- (todos-insert-item-ask-time-for-diary-here)
- (todos-insert-item-ask-time-here)
- (todos-insert-item-maybe-notime)
- (todos-insert-item-maybe-notime-for-diary)
- (todos-insert-item-maybe-notime-for-diary-here)
- (todos-insert-item-maybe-notime-here)
- (todos-insert-item-for-diary, todos-insert-item-for-diary-here):
- New insertion commands.
- (todos-insert-item-from-calendar): Use todos-current-todos-file.
- (todos-delete-item): Handle diary items;
- use todos-update-categories-sexp.
- (todos-edit-item): Check if point is with item string;
- use read-string instead of read-from-minibuffer;
- use todos-date-string-start; after editing put point at start of
- item text.
- (todos-edit-multiline): Narrow to item before invoking
- todos-edit-mode; show key binding of todos-edit-quit in a message.
- (todos-edit-quit): Use todos-save; kill buffer.
- (todos-edit-item-header): Add optional argument to prompt for
- editing only date string or only time string;
- use todos-date-string-start.
- (todos-edit-item-date, todos-edit-item-date-is-today)
- (todos-raise-item-priority, todos-lower-item-priority): Rename
- from todos-{raise, lower}-item and make them DTRT in
- todos-top-priorities-mode.
- (todos-set-item-priority): Make interactive; use todos-get-count
- and todos-insert-with-overlays; interactively, just relocate the
- item within its category.
- (todos-move-item): Add optional argument to prompt for a category
- in another Todos file; handle diary items; fix restoration after
- cancelling before inserting.
- (todos-item-done): Handle diary items; simplify handling of
- insertion in done items section.
- (todos-item-undo): Handle diary items.
- (todos-archive-done-items): Adjust to new handling of archive
- files (in parallel with Todos files); handle diary items; use
- todos-done-string-start.
- (todos-toggle-item-diary-inclusion): Use todos-nondiary-start,
- todos-nondiary-end and todos-item-counts.
- (todos-toggle-diary-inclusion): Use todos-category-done instead of
- todos-category-end.
- (todos-print): Remove autoload cookie; rewrite to make overlays,
- line wrapping and wrap prefixes printable.
- (todos-date-pattern): Make parenthesized groups shy.
- (todos-date-string-match): Use todos-date-string-start; make
- todos-date-pattern an explicitly numbered group.
- (todos-time-string-match): Use todos-date-string-start.
- (todos-done-string-match): Use todos-done-string-start.
- (todos-category-string-match): Rewrite to match new category and
- category+filename patterns in todos-top-priorities-mode.
- (todos-prefix-overlays): Use todos-done-string-start and
- todos-category-done.
- (todos-reset-prefix): Handle archive files; restore point after
- changing prefix.
- (todos-reset-separator): Handle archive files.
- (todos-category-number): Make category number one more than its
- list index.
- (todos-current-category): Adjust to 1-based numbering of categories.
- (todos-category-select): Simplify handling of done items and done
- separator string overlay.
- (todos-item-start): Use todos-date-string-start and
- todos-done-string-start.
- (todos-item-start, todos-item-end): Fix wrong parenthesizing.
- (todos-item-string): Restore point after getting item bounds; use
- buffer-substring-no-properties.
- (todos-done-item-p): Use todos-done-string-start.
- (todos-make-categories-list): Add optional argument to force
- looping through file to get categories and their item counts,
- otherwise set todos-categories from sexp in first line; use
- vectors of item counts instead of plists; count diary items.
- (todos-item-counts): Use todos-counts, todos-set-counts,
- todos-get-counts, and todos-update-categories-sexp instead of
- getting and setting properties; handle diary items.
- (todos-read-category): Add argument to set prompt; don't offer
- default category.
- (todos-validate-category-name): Rename from
- todos-check-category-name; take into account whether there are
- already categories or not.
- (todos-read-date): Accept `*' as an unspecified month, day, or year.
- (todos-padded-string): Accommodate new structure of
- todos-categories as alists; use todos-categories-align.
- (todos-descending-counts-store): New variable.
- (todos-insert-category-line): Rename from
- todos-insert-category-name and reimplement using labels and
- todos-get-counts instead of properties; use
- todos-ignore-archived-categories; highlight sorted column.
-
-2012-09-14 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2010-07-09 (revision 109995).
- * calendar/todos.el Remove lots of commented out code; add various
- comments; further code rearrangement.
- (todos-insert-item-here-ask-date-time)
- (todos-insert-item-ask-date-time)
- (todos-insert-item-ask-dayname-time)
- (todos-insert-item-for-diary)
- (todos-insert-item-for-diary-ask-date-time)
- (todos-make-categories-alist, todos-categories-alist): Remove.
- (todos-categories-list): Comment out.
- (todos-make-categories-list): New function replacing
- todos-make-categories-alist, using category plists to get item
- counts and taking archive into account.
- (todos-current-todos-file): New variable.
- (todos-mode-map): Update key bindings.
- (todos-save): Add as comment code to make sure todos-categories
- sexp is current on saving.
- (todos-quit): Call todos-show on quitting Todos archive buffer.
- (todos-show): If todos-current-todos-file is not set to Todos
- file, set it as a new file; set todos-categories from
- todos-make-categories-alist.
- (todos-display-categories): Use a different display format for
- archive file; put point initially on the first button.
- (todos-toggle-view-done-items): Check the category's `done'
- property to determine if there are done items.
- (todos-view-archive): Set todos-current-todos-file to the archive
- file; jump from the Todos file to the same category in the
- archive, if it exists, else jump to the first category; use
- message instead of error.
- (todos-add-category): Intern a special symbol for the new category
- and set its property list to holds counts of the numbers of todo,
- done and archived items in the category; assign the new category
- the current highest category number.
- (todos-rename-category): Don't use todos-categories-alist.
- (todos-delete-category): Check the category's `todo' and `done'
- properties to determine if it is empty; ensure that the end of the
- last category is found; after deleting the category, empty its
- plist and unintern its special symbol.
- (todos-insert-item-here): Fix argument list of todos-insert-item.
- (todos-delete-item, todos-raise-item, todos-lower-item):
- Use message instead of error.
- (todos-move-item): If the category to be moved to does not exist,
- add it as a new category.
- (todos-item-done, todos-reset-separator):
- Use todos-category-select instead of todos-show.
- (todos-archive-done-items): Make buffer writeable; conditionalize
- search for end of category; save after adding to archive in case
- the file is new, so it can be found.
- (todos-category-select): Wrap search in if instead of or+and;
- don't hide done items in an archive.
- (todos-set-item-priority): Check the category's `todo'
- property to determine if there are not done todo items.
- (todos-jump-to-category-noninteractively): Just switch to buffer
- visiting todos-current-todos-file, since this can be either a
- Todos file or an archive.
- (todos-item-counts): Use category's plist instead of an alist.
- (todos-longest-category-name-length): Argument is now a list of
- category names, not an alist, so just test each element, not each
- element's the car.
- (todos-padded-string): Use todos-categories instead of
- todos-categories-alist.
- (todos-insert-category-name): Use category plist to get item
- counts; take archived items into account.
-
-2012-09-13 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2010-06-18 (revision 109994).
- * calendar/todos.el: Numerous spelling and comment fixes, doc
- string fixes to conform with checkdoc, further rearrangement of
- definitions, etc.
- (todos-previous-line, todos-previous-answer)
- (todos-insert-item-ask-date, todos-change-date)
- (todos-date-nodayname-pattern, todos-dayname-date-pattern)
- (todos-count-items-in-category, todos-count-all-items): Remove.
- (todos-update-numbered-prefix, todos-item-start-overlays)
- (todos-add-item-non-interactively): Comment out, also in uses.
- (todos-done-separator): Change default value.
- (todos-always-add-time-string): Rename from todos-add-time-string
- and adjust uses.
- (todos-read-category): Rename from todos-completing-read and
- adjust callers; use todos-current-category.
- (todos-make-categories-alist): Rename from function
- todos-categories-alist.
- (todos-categories-alist): New variable.
- (todos-indent-to-here): New defcustom.
- (todos-button): New face.
- (todos-display-categories-alphabetically, todos-raise-category)
- (todos-lower-category, todos-insert-item-for-diary-ask-date-time)
- (todos-insert-item-here-ask-date-time)
- (todos-insert-item-ask-date-time)
- (todos-insert-item-ask-dayname-time): New commands.
- (todos-edit-item-header): New command replacing todos-change-date.
- (todos-category-number, todos-indent, todos-item-counts)
- (todos-check-category-name, todos-read-date, todos-read-dayname)
- (todos-read-time, todos-padded-string)
- (todos-insert-category-name): New functions.
- (todos-set-item-priority): New function replacing
- todos-add-item-non-interactively.
- (todos-mode-map): Remap newline to newline-and-indent.
- (todos-edit-mode-map): Make sparse keymap; remap newline to
- newline-and-indent.
- (todos-categories-mode-map): New keymap.
- (todos-mode, todos-edit-mode): Make indent-line-function local
- variable and set to todos-indent.
- (todos-categories-mode): New major mode.
- (todos-display-categories): List categories initially in their
- numerical order; add optional argument to switch to alphabetical
- listing.
- (todos-toggle-view-done-items): Simplify implementation.
- (todos-toggle-display-date-time): Fix regexp search string.
- (todos-backward-item, todos-forward-item): Use variable
- todos-item-start.
- (todos-add-category): Use todos-check-category-name and
- todos-categories-alist.
- (todos-rename-category): Use todos-current-category,
- todos-check-category-name and todos-categories-alist.
- (todos-delete-category): Use todos-check-category-name and
- todos-categories-alist and take done items into account.
- (todos-insert-item): Use separate arguments to handle insertion of
- date/dayname and time strings, add new argument to mark item for
- diary inclusion, use new todos-read-* functions,
- todos-set-item-priority and todos-item-counts.
- (todos-insert-item-here, todos-insert-item-for-diary)
- (todos-insert-item-from-calendar): Adapt to new version of
- todos-insert-item.
- (todos-delete-item, todos-item-done): Use todos-item-counts.
- (todos-edit-item): Indent newlines inserted by C-q C-j if nonspace
- char follows.
- (todos-lower-item): Ensure only not-done items can be lowered.
- (todos-move-item): Use todos-current-category, todos-read-category
- and todos-item-counts.
- (todos-archive-done-items): Use todos-current-category and
- todos-item-counts; fix regexp search string.
- (todos-item-undo): Use todos-current-category,
- todos-set-item-priority, todos-insert-with-overlays and
- todos-item-counts; restore if user quits before inserting undone
- item.
- (todos-date-pattern): Rewrite without using
- todos-date-nodayname-pattern and todos-dayname-date-pattern.
- (todos-date-string-match): Do not make todos-date-pattern an
- unnumbered group.
- (todos-time-string-match): Make todos-date-pattern a shy group.
- (todos-wrap-and-indent): Use todos-indent-to-here.
- (todos-reset-prefix): Revert to using todos-show instead of
- todos-category-select.
- (todos-prefix-overlays): Fix numbering of done items and updating
- of prefix.
- (todos-category-select): Use todos-current-category; fix display
- of separator string; don't move point to top of category.
- (todos-jump-to-category-noninteractively): Use todos-category-number.
- (todos-insert-with-overlays): Use todos-item-start unconditionally.
- (todos-item-start): New variable.
- (todos-item-start): Use it to define this function.
- (todos-item-end): Adjust if item is last unfinished one before
- displayed done items.
- (todos-remove-item): Use todos-item-start and todos-item-end
- instead of todos-forward-item and todos-backward-item.
- (todos-longest-category-name-length): Add argument for list of
- categories.
-
-2012-09-13 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2010-05-25 (revision 109993).
- * calendar/todos.el: Comment out calendar require, since diary-lib
- requires calendar. Rearrange file to group definitions according
- to their use (types of commands, internal functions, etc.)
- (todos-file-done, todos-insert-threshold, todos-remove-separator)
- (todos-date-string, todos-time-string, todos-check-overlay)
- (todos-show-paren-hack, todos-file-item, todos-more-important-p):
- Comment out.
- (todos-current-date, todos-item-end-overlays)
- (todos-list-categories): Remove.
- (todos-item-end): Remove (the variable, not the function).
- (todos-prefix-overlays): Rename from todos-item-overlays and adjust
- callers.
- (todos-done-separator, todos-done-string, todos-show-with-done)
- (todos-files, todos-archive-file, todos-categories-buffer)
- (todos-archived-categories-buffer, todos-wrap-lines)
- (todos-line-wrapping-function): New defcustoms.
- (todos-done, todos-done-sep): New faces.
- (todos-done-face, todos-done-sep-face): Corresponding new variables.
- (todos-search-string, todos-date-nodayname-pattern)
- (todos-dayname-date-pattern, todos-date-pattern): New variables.
- (todos-done-string-match, todos-category-string-match)
- (todos-check-format, todos-wrap-and-indent, todos-reset-separator)
- (todos-current-category, todos-count-items-in-category)
- (todos-done-item-p, todos-categories-alist, todos-count-all-items)
- (todos-longest-category-name-length): New functions.
- (todos-categories-list): New buffer-specific function replacing
- todos-list-categories.
- (todos-toggle-item-numbering, todos-toggle-view-done-items)
- (todos-search, todos-view-archive, todos-diary-items)
- (todos-toggle-display-date-time, todos-insert-item-no-time)
- (todos-insert-item-ask-date, todos-insert-item-for-diary)
- (todos-insert-item-from-calendar, todos-edit-quit)
- (todos-change-date, todos-item-done, todos-archive-done-items)
- (todos-item-undo): New commands.
- (todos-archive-mode): New major mode.
- (todos-archive-mode-map, todos-edit-mode-map): New keymaps.
- (todos-category-beg): Change value.
- (todos-number-prefix): Change default value.
- (todos-edit-buffer): Change from defvar to defcustom.
- (todos-font-lock-keywords): Use todos-done-string-match and
- todos-category-string-match.
- (todos-backward-item, todos-forward-item): Use todos-done-string
- and todos-date-pattern.
- (todos-display-categories): Reimplement using buttons from
- button.el instead of widgets.
- (todos-top-priorities): Use with-current-buffer; take done items
- into account; ensure buffers gets fontified.
- (todos-add-category): Ensure new category does not begin with
- empty lines.
- (todos-jump-to-category): Use todos-category-select instead of
- todos-show.
- (todos-rename-category): Prompt for new name in body instead of in
- interactive spec.
- (todos-insert-item): Don't insert in done items section of
- category. Add two optional arguments to control insertion: (i) to
- insert near point without prompting for priority; (ii) to use
- defaults for date and time strings, to prompt for these, or to
- choose date from the Calendar.
- (todos-insert-item-here): Reimplement using todos-insert-item.
- (todos-delete-item): Don't move point after deleting last item.
- (todos-raise-item, todos-lower-item): Take done items into account.
- (todos-move-item): Don't move done items; update item numbering;
- restore if user quits before inserting moved item.
- (todos-print): Prompt for confirmation to print.
- (todos-reset-prefix): Search backward from end of file instead of
- forward from top.
- (todos-jump-to-category-noninteractively): Take Todos archive into
- account.
- (todos-category-select): Show or hide done items according to
- todos-show-with-done; if shown, coordinate separator and prefix
- overlays.
- (todos-add-item-non-interactively): Replace binary insertion
- algorithm with prompting for numerical priority.
- (todos-insert-with-overlays): Remove use of variable todos-item-end.
- (todos-item-start): Take done items into account; use
- todos-date-pattern.
- (todos-item-end): Reimplement using todos-forward-item.
- (todos-remove-item): Reimplement using todos-forward-item and
- todos-backward-item; redo overlay handling.
- (todos-mode-map): Add some new key bindings and change numerous
- existing bindings; use "i" as prefix key for item insertion
- commands.
- (todos-mode): Use todos-wrap-lines and delegate word-wrap and
- wrap-prefix settings to todos-wrap-and-indent; add to invisibility
- spec; set buffer-read-only to t and consequently let-bind this
- variable in all Todos commands that change buffer content.
- (todos-edit-mode): Make an indepent mode, not derived from text-mode.
- (todos-save): Don't save top priorities buffer.
- (todos-show): Make a no-op if called interactively in narrowed
- Todos mode, since, also to work around item prefix reduplication
- bug with show-paren-mode enabled; use todos-categories-list.
-
-2012-09-12 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-11-07 (revision 109992).
- * calendar/todos.el: Comment out time-stamp require; require
- calendar and diary-lib.
- (todos-prefix): Change default value and doc string to reflect new
- meaning; add :initialize and :set functions.
- (todos-time-string-format, todos-entry-prefix-function)
- (todos-initials, todos-entry-timestamp-initials)
- (todos-prefix-face, todos-category-sep, todos-category-end)
- (todos-cp): Comment out.
- (todos-prefix-string): Inherit from font-lock-comment-face.
- (todos-item-header, todos-item-header-face): Remove.
- (todos-date, todos-time): New faces.
- (todos-date-face, todos-time-face): Corresponding new variables.
- (todos-add-time-string, todos-include-in-diary)
- (todos-exclusion-start, todos-exclusion-end, todos-number-prefix):
- New defcustoms.
- (todos-item-end, todos-item-start-overlays)
- (todos-item-end-overlays): New variables.
- (todos-date-string-match, todos-time-string-match): New functions.
- (todos-font-lock-keywords): Use them.
- (todos-current-date, todos-date-string, todos-time-string)
- (todos-toggle-item-diary-inclusion, todos-toggle-diary-inclusion)
- (todos-reset-prefix, todos-update-numbered-prefix)
- (todos-check-overlay, todos-item-overlays)
- (todos-insert-with-overlays, todos-show-paren-hack): New functions.
- (todos-highlight-item): New command.
- (todos-category-beg): Change value.
- (todos-category-select): Use todos-category-beg and todos-item-overlays.
- (todos-backward-item): Add optional count argument; use it and
- todos-item-start.
- (todos-forward-item): Use todos-check-overlay, todos-item-start
- and variable todos-item-end.
- (todos-edit-item, todos-delete-item): Use todos-number-prefix,
- todos-update-numbered-prefix, todos-item-overlays.
- (todos-add-category, todos-rename-category)
- (todos-list-categories): Use new category format.
- (todos-delete-category): Allow deleting non-empty category;
- use new category format.
- (todos-add-item-non-interactively): Comment out unnecessary
- save-excursion; use todos-insert-with-overlays.
- (todos-insert-item): Comment out unnecessary save-excursion; use
- new item format for date/time header and diary inclusion marking.
- (todos-insert-item-here): Use new item format for date/time header
- and diary inclusion marking; use todos-insert-with-overlays.
- (todos-raise-item): Make a no-op if point is on an empty line; use
- todos-insert-with-overlays.
- (todos-lower-item): Use todos-insert-with-overlays.
- (todos-top-priorities): Move call to todos-show inside
- save-excursion; add save-current-buffer after save-restriction.
- (todos-item-start): Use variable todos-item-end.
- (todos-item-end): Use todos-check-overlay and variable todos-item-end.
- (todos-remove-item): Take item overlays into account.
- (todos-mode): Change calculation of wrap-prefix; make
- hl-line-range-function a local variable and set it to highlight
- todo item.
- (todos-show): Ensure point stays at top of category.
-
-2012-09-12 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-07-04 (revision 109991).
- * calendar/todos.el (todos-window-configuration): Comment out.
- (todos-display-categories): Comment out use of
- todos-window-configuration; use switch-to-buffer instead of
- pop-to-buffer.
- (todos-jump-to-category-noninteractively): Comment out use of
- todos-window-configuration.
- (todos-edit-item): Don't allow editing of date/time item header.
- (todos-insert-item, todos-insert-item-here): Insert date/time
- header in front of new item string.
- (todos-mode): Tweak wrap-prefix.
-
-2012-09-12 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-06-26 (revision 109989).
- * calendar/todos.el (todos-file-do, todos-file-done):
- Change default location to directory "~/.emacs.d/".
- (todos-completion-ignore-case, todos-categories-buffer):
- New defcustoms.
- (todos-prefix-string, todos-item-header): New faces.
- (todos-prefix-face, todos-item-header-face): Corresponding
- new variables.
- (todos-rename-category, todos-delete-category)
- (todos-display-categories, todos-move-item): New commands.
- (todos-mode-map): Add key bindings for new commands and for
- todos-add-category, which had no key binding.
- (todos-jump-to-category-noninteractively): New function.
- (todos-top-priorities): Comment out code using a previously
- deleted variable.
- (todos-completing-read): Allow SPC to insert a space when entering
- a new category name; use todos-completion-ignore-case.
- (todos-font-lock-keywords, todos-window-configuration):
- New variables.
- (todos-mode): Make mode-name "TODOS"; make font-lock-defaults,
- word-wrap, and wrap-prefix local variables.
-
-2012-09-12 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-02-16 (revision 109988).
- * calendar/todos.el (todos-list-categories): Fix typos.
- (todos-show): Ensure file is in todos-mode.
-
-2012-09-12 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-02-12 (revision 109987).
- * calendar/todos.el (todos-header): Remove defvar.
- (todos-add-category): Comment out code that inserts and updates
- the file local variables first line of the file todos-file-do.
- (todos-list-categories): New function.
- (todos-show): Use it; remove use of a previously deleted variable.
-
-2012-09-11 Stephen Berman <stephen.berman@gmx.net>
-
- Changes from 2009-02-12 (revision 109986).
- * calendar/todos.el: New file. This is a copy of todo-mode.el
- from revision 94343 except for the following changes: replace all
- occurrences of the namespace prefix "todo-" with "todos-", delete
- the defvar todo-cats (the old name of todo-categories) and its use
- in todos-add-category, delete all defaliases of old command names.