aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Berman2013-06-09 01:40:21 +0200
committerStephen Berman2013-06-09 01:40:21 +0200
commit85ea34e22c971c7e7bbd6cc48972905bcf70c72f (patch)
treed384bdaf699d18747c65013a9338ffa50ee69641
parent8b27b080c11a6980d4e639ae5fae2fbd8fc766c1 (diff)
downloademacs-85ea34e22c971c7e7bbd6cc48972905bcf70c72f.tar.gz
emacs-85ea34e22c971c7e7bbd6cc48972905bcf70c72f.zip
* todos.el: Improve commentary.
(todos-item-end): Revert last change, since bug#14565 is now fixed.
-rw-r--r--lisp/calendar/ChangeLog9
-rw-r--r--lisp/calendar/todos.el88
2 files changed, 53 insertions, 44 deletions
diff --git a/lisp/calendar/ChangeLog b/lisp/calendar/ChangeLog
index 86f268816cb..b09cf30f1c7 100644
--- a/lisp/calendar/ChangeLog
+++ b/lisp/calendar/ChangeLog
@@ -1,6 +1,13 @@
12013-06-08 Stephen Berman <stephen.berman@gmx.net>
2
3 * todos.el: Improve commentary.
4 (todos-item-end): Revert last change, since bug#14565 is now fixed.
5
12013-06-07 Stephen Berman <stephen.berman@gmx.net> 62013-06-07 Stephen Berman <stephen.berman@gmx.net>
2 7
3 * todos.el: Reorganize file structure again, to pacify byte-compiler. 8 * todos.el: Reorganize file structure again, to pacify byte-compiler.
9 (todos-item-end): Use if-else instead of when-sexp to avoid
10 explicit nil argument of backward-char (bug#14565).
4 11
52013-06-06 Stephen Berman <stephen.berman@gmx.net> 122013-06-06 Stephen Berman <stephen.berman@gmx.net>
6 13
@@ -24,7 +31,7 @@
24 31
252013-06-05 Stephen Berman <stephen.berman@gmx.net> 322013-06-05 Stephen Berman <stephen.berman@gmx.net>
26 33
27 * todos.el: Further code cleanup. Changes to commentary. Remove 34 * todos.el: Further code cleanup. Improve commentary. Remove
28 autoload cookies. Handle todo items in Fancy Diary display. 35 autoload cookies. Handle todo items in Fancy Diary display.
29 (todos-done-separator): Reinstate length one less than 36 (todos-done-separator): Reinstate length one less than
30 window-width until bug#2749 is fixed. 37 window-width until bug#2749 is fixed.
diff --git a/lisp/calendar/todos.el b/lisp/calendar/todos.el
index f2c31a33aea..6d79fadd106 100644
--- a/lisp/calendar/todos.el
+++ b/lisp/calendar/todos.el
@@ -22,49 +22,54 @@
22 22
23;;; Commentary: 23;;; Commentary:
24 24
25;; This package provides facilities for making, displaying, navigating and 25;; This package provides facilities for making, displaying, navigating
26;; editing todo lists, which are prioritized lists of todo items. Todo lists 26;; and editing todo lists, which are prioritized lists of todo items.
27;; are identified with named categories, so you can group together and 27;; Todo lists are identified with named categories, so you can group
28;; separately prioritize thematically related todo items. Each category is 28;; together and separately prioritize thematically related todo items.
29;; stored in a file, which thus provides a further level of organization. You 29;; Each category is stored in a file, which thus provides a further
30;; can create as many todo files, and in each as many categories, as you want. 30;; level of organization. You can create as many todo files, and in
31 31;; each as many categories, as you want.
32;; With Todos you can navigate among the items of a category, and between 32
33;; categories in the same and in different todo files. You can edit todo 33;; With Todos you can navigate among the items of a category, and
34;; items, reprioritize them within their category, move them to another 34;; between categories in the same and in different todo files. You
35;; category, delete them, or mark items as done and store them separately from 35;; can edit todo items, reprioritize them within their category, move
36;; the not yet done items in a category. You can add new todo files and 36;; them to another category, delete them, or mark items as done and
37;; categories, rename categories, move them to another file or delete them. 37;; store them separately from the not yet done items in a category.
38;; You can also display summary tables of the categories in a file and the 38;; You can add new todo files and categories, rename categories, move
39;; types of items they contain. And you can build cross-categorial lists of 39;; them to another file or delete them. You can also display summary
40;; items that satisfy various criteria. 40;; tables of the categories in a file and the types of items they
41 41;; contain. And you can build cross-categorial lists of items that
42;; To get started, load this package and type `M-x todos-show'. This will 42;; satisfy various criteria.
43;; prompt you for the name of the first todo file, its first category and the 43
44;; category's first item, create these and display them in Todos mode. Now 44;; To get started, load this package and type `M-x todos-show'. This
45;; you can insert further items into the list (i.e., the category) and assign 45;; will prompt you for the name of the first todo file, its first
46;; them priorities by typing `i i'. 46;; category and the category's first item, create these and display
47 47;; them in Todos mode. Now you can insert further items into the list
48;; You will probably find it convenient to give `todos-show' a global key 48;; (i.e., the category) and assign them priorities by typing `i i'.
49;; binding in your init file, since it is one of the entry points to Todos 49
50;; mode; a good choice is `C-c t', since `todos-show' is bound to `t' in Todos 50;; You will probably find it convenient to give `todos-show' a global
51;; mode. 51;; key binding in your init file, since it is one of the entry points
52 52;; to Todos mode; a good choice is `C-c t', since `todos-show' is
53;; To see a list of all Todos mode commands and their key bindings, including 53;; bound to `t' in Todos mode.
54;; other entry points, type `C-h m' in Todos mode. Consult the document 54
55;; strings of the commands for details of their use. The `todos' 55;; To see a list of all Todos mode commands and their key bindings,
56;; customization group and its subgroups list the options you can set to alter 56;; including other entry points, type `C-h m' in Todos mode. Consult
57;; the behavior of many commands and various aspects of the display. 57;; the document strings of the commands for details of their use. The
58 58;; `todos' customization group and its subgroups list the options you
59;; This package is a new version of Oliver Seidel's todo-mode.el, which 59;; can set to alter the behavior of many commands and various aspects
60;; retains the same basic organization and handling of todo lists and the 60;; of the display.
61;; basic UI, but extends these in many ways and reimplements most of the 61
62;; internals. 62;; This package is a new version of Oliver Seidel's todo-mode.el.
63;; While it retains the same basic organization and handling of todo
64;; lists and the basic UI, it significantly extends these, adds many
65;; features, changes much of the internals and reimplements almost all
66;; of the code.
63 67
64;;; Code: 68;;; Code:
65 69
66(require 'diary-lib) 70(require 'diary-lib)
67;; For cl-remove-duplicates (in todos-insertion-commands-args) and cl-oddp. 71;; For cl-remove-duplicates (in todos-insertion-commands-args) and
72;; cl-oddp.
68(require 'cl-lib) 73(require 'cl-lib)
69 74
70;; ----------------------------------------------------------------------------- 75;; -----------------------------------------------------------------------------
@@ -4918,10 +4923,7 @@ but the categories sexp differs from the current value of
4918 (if to-lim lim (point-max)))) 4923 (if to-lim lim (point-max))))
4919 ;; For last todo item, skip back over the empty line before the done 4924 ;; For last todo item, skip back over the empty line before the done
4920 ;; items section, else just back to the end of the previous line. 4925 ;; items section, else just back to the end of the previous line.
4921 ;; (When byte-comiled, backward-char barfs on an argument that evaluates 4926 (backward-char (when (and to-lim (not done) (eq (point) lim)) 2))
4922 ;; to nil (bug#14565).)
4923 ;; (backward-char (when (and to-lim (not done) (eq (point) lim)) 2))
4924 (backward-char (if (and to-lim (not done) (eq (point) lim)) 2 1))
4925 (point)))) 4927 (point))))
4926 4928
4927(defun todos-item-string () 4929(defun todos-item-string ()