Mercurial > emacs
annotate lisp/calendar/todo-mode.el @ 19394:619697797214
(setup-latin1-environment): Don't set special-microsoft-code-table here.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 16 Aug 1997 21:57:47 +0000 |
parents | 1519cf07cfab |
children | 38aa295db414 |
rev | line source |
---|---|
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
1 ;;; todomode.el -- Major mode for editing TODO list files |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
2 ;;; Copyright (C) 1997 by Oliver Seidel |
19100 | 3 |
4 ;; --------------------------------------------------------------------------- | |
5 | |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
6 ;; |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
7 ;; Author: Oliver.Seidel@cl.cam.ac.uk (was valid on Aug 2, 1997) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
8 ;; Created: August 2, 1997 |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
9 ;; Version: $Id: todomode.el,v 1.11 1997/08/06 09:14:25 os10000 Exp os10000 $ |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
10 ;; Keywords: Categorised TODO list editor, todo-mode |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
11 ;; Availability: newsgroup "gnu.emacs.sources" and archives thereof |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
12 ;; |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
13 |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
14 ;; --------------------------------------------------------------------------- |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
15 |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
16 ;; |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
17 ;; This program is intended for use with GNU Emacs. |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
18 ;; |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
19 ;; This program is free software; you can redistribute it and/or modify |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
20 ;; it under the terms of the GNU General Public License as published by |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
21 ;; the Free Software Foundation; either version 2, or (at your option) |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
22 ;; any later version. |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
23 ;; |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
24 ;; This program is distributed in the hope that it will be useful, |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
25 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
26 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
27 ;; GNU General Public License for more details. |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
28 ;; |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
29 ;; You should have received a copy of the GNU General Public License |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
30 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
31 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
32 ;; Boston, MA 02111-1307, USA. |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
33 ;; |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
34 |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
35 ;; --------------------------------------------------------------------------- |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
36 |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
37 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
38 ;; Quickstart Installation: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
39 ;; ======================== |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
40 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
41 ;; To get this to work, make emacs execute the line |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
42 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
43 ;; (require 'todomode) ;; load the TODO package |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
44 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
45 ;; I would also recommend executing the following commands |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
46 ;; so as to extend the bindings in your global keymap: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
47 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
48 ;; (global-set-key "\C-ct" 'todo-show) ;; switch to TODO buffer |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
49 ;; (global-set-key "\C-ci" 'todo-cmd-inst) ;; insert new item |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
50 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
51 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
52 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
53 ;; Description: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
54 ;; ============ |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
55 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
56 ;; TODO is a major mode for EMACS which offers functionality to treat |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
57 ;; most lines in one buffer as a list of items one has to do. There |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
58 ;; are facilities to add new items, which are categorised, to edit or |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
59 ;; even delete items from the buffer. The buffer contents are currently |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
60 ;; compatible with the diary, so that the list of todo-items will show |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
61 ;; up in the FANCY diary mode. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
62 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
63 ;; Notice: Besides the major mode, this file also exports the function |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
64 ;; "todo-show" which will change to the one specific TODO file that has |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
65 ;; been specified in the todo-file-do variable. If this file does not |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
66 ;; conform to the TODO mode conventions, the todo-show function will add |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
67 ;; the appropriate header and footer. I don't anticipate this to cause |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
68 ;; much grief, but be warned, in case you attempt to read a plain text file. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
69 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
70 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
71 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
72 ;; Operation: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
73 ;; ========== |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
74 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
75 ;; You will have the following facilities available: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
76 ;; |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
77 ;; M-x todo-show will enter the todo list screen, here type |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
78 ;; |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
79 ;; + to go to next category |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
80 ;; - to go to previous category |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
81 ;; e to edit the current entry |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
82 ;; f to file the current entry, including a |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
83 ;; comment and timestamp |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
84 ;; i to insert a new entry |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
85 ;; k to kill the current entry |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
86 ;; l to lower the current entry's priority |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
87 ;; n for the next entry |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
88 ;; p for the previous entry |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
89 ;; q to save the list and exit the buffer |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
90 ;; r to raise the current entry's priority |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
91 ;; s to save the list |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
92 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
93 ;; When you add a new entry, you are asked for the text and then for the |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
94 ;; category. I for example have categories for things that I want to do |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
95 ;; in the office (like mail my mum), that I want to do in town (like buy |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
96 ;; cornflakes) and things I want to do at home (move my suitcases). The |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
97 ;; categories can be selected with the cursor keys and if you type in the |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
98 ;; name of a category which didn't exist before, an empty category of the |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
99 ;; desired name will be added and filled with the new entry. |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
100 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
101 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
102 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
103 ;; Configuration: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
104 ;; ============== |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
105 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
106 ;; --- todo-prefix |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
107 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
108 ;; I would like to recommend that you use the prefix "*/*" (by |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
109 ;; leaving the variable 'todo-prefix' untouched) so that the diary |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
110 ;; displays each entry every day. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
111 ;; |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
112 ;; To understand what I mean, please read the documentation that goes |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
113 ;; with the calendar since that will tell you how you can set up the |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
114 ;; fancy diary display and use the #include command to include your |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
115 ;; todo list file as part of your diary. |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
116 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
117 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
118 ;; --- todo-file-do |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
119 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
120 ;; This variable is fairly self-explanatory. You have to store your TODO |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
121 ;; list somewhere. This variable tells the package where to go and find |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
122 ;; this file. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
123 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
124 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
125 ;; --- todo-file-done |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
126 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
127 ;; Even when you're done, you may wish to retain the entries. Given |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
128 ;; that they're timestamped and you are offered to add a comment, this |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
129 ;; can make a useful diary of past events. It will even blend in with |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
130 ;; the EMACS diary package. So anyway, this variable holds the name |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
131 ;; of the file for the filed todo-items. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
132 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
133 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
134 ;; --- todo-mode-hook |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
135 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
136 ;; Just like other modes, too, this mode offers to call your functions |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
137 ;; before it goes about its business. This variable will be inspected |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
138 ;; for any functions you may wish to have called once the other TODO |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
139 ;; mode preparations have been completed. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
140 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
141 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
142 ;; --- todo-ins-thresh |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
143 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
144 ;; Another nifty feature is the insertion accuracy. If you have 8 items |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
145 ;; in your TODO list, then you may get asked 4 questions by the binary |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
146 ;; insertion algorithm. However, you may not really have a need for such |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
147 ;; accurate priorities amongst your TODO items. If you now think about |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
148 ;; the binary insertion halfing the size of the window each time, then |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
149 ;; the threshhold is the window size at which it will stop. If you set |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
150 ;; the threshhold to zero, the upper and lower bound will coincide at the |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
151 ;; end of the loop and you will insert your item just before that point. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
152 ;; If you set the threshhold to i.e. 8, it will stop as soon as the window |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
153 ;; size drops below that amount and will insert the item in the approximate |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
154 ;; centre of that window. I got the idea for this feature after reading |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
155 ;; a very helpful e-mail reply from Trey Jackson <tjackson@ichips.intel.com> |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
156 ;; who corrected some of my awful coding and pointed me towards some good |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
157 ;; reading. Thanks Trey! |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
158 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
159 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
160 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
161 ;; History and Gossip: |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
162 ;; =================== |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
163 ;; |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
164 ;; Many thanks to all the ones who have contributed to the evolution of this |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
165 ;; package! I hope I have listed all of you somewhere in the documentation |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
166 ;; or at least in the RCS history! |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
167 ;; |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
168 ;; Just for the case that you are wondering about the ugly name of this |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
169 ;; package: I am one of those unfortunate people who have DOS, LINUX and |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
170 ;; OS/2 on one of their computers, so part of my home-filespace is shared |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
171 ;; and stored on a DOS partition, which is accessible to all systems. If |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
172 ;; you wish, you can of course rename the name of the file (and the "provide" |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
173 ;; command near the end of this package) to something more aisthetically |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
174 ;; (please don't argue about this spelling ...) pleasing, like i.e. todo-mode. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
175 ;; |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
176 ;; Enjoy this package and express your gratitude by sending nice things |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
177 ;; to my parents' address! |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
178 ;; |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
179 ;; Oliver Seidel |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
180 ;; |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
181 ;; (O Seidel, Lessingstr. 8, 65760 Eschborn, Federal Republic of Germany) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
182 ;; |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
183 |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
184 ;; --------------------------------------------------------------------------- |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
185 |
19100 | 186 ;; |
19101
31ba6200863a
It appears to work.
Oliver Seidel <os10000@seidel-space.de>
parents:
19100
diff
changeset
|
187 ;; $Log: todomode.el,v $ |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
188 ;; Revision 1.11 1997/08/06 09:14:25 os10000 |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
189 ;; Applied patch from Istvan Marko <istvan@cmdmail.amd.com> |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
190 ;; to make menus work anywhere. |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
191 ;; |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
192 ;; Revision 1.10 1997/08/06 08:56:03 os10000 |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
193 ;; Acted upon suggestion from Shane Holder <holder@rsn.hp.com>: |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
194 ;; Cancelling the editing of an entry will not delete it any more. |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
195 ;; |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
196 ;; Revision 1.9 1997/08/06 08:12:03 os10000 |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
197 ;; Improved documentation. Broke some lines to comply with |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
198 ;; Richard Stallman's email to please keep in sync with the |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
199 ;; rest of the Emacs distribution files. |
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
200 ;; |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
201 ;; Revision 1.8 1997/08/05 22:39:04 os10000 |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
202 ;; Made todomode.el available under GPL. |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
203 ;; |
19180
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
204 ;; Revision 1.7 1997/08/05 22:34:14 os10000 |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
205 ;; Fixed insertion routine with help from Trey Jackson |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
206 ;; <tjackson@ichips.intel.com>; added todo-ins-thresh; |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
207 ;; fixed keyboard layout to remove unwanted keys. |
5de82ccd80eb
Made todomode.el available under GPL.
Oliver Seidel <os10000@seidel-space.de>
parents:
19179
diff
changeset
|
208 ;; |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
209 ;; Revision 1.6 1997/08/05 16:47:01 os10000 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
210 ;; Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com, |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
211 ;; fixed TYPO, fixed todo-file-cmd, cleaned up rcs history. |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
212 ;; |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
213 ;; Revision 1.5 1997/08/05 14:43:39 os10000 |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
214 ;; Added improvements from Ron Gut <rgut@aware.com>. |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
215 ;; Added category management. |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
216 ;; |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
217 ;; Revision 1.4 1997/08/04 16:18:45 os10000 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
218 ;; Added Raise/Lower item. |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
219 ;; |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
220 ;; Revision 1.3 1997/08/03 12:47:26 os10000 |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
221 ;; Cleaned up variables, prefix and cursor position. |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
222 ;; |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
223 ;; Revision 1.2 1997/08/03 12:15:28 os10000 |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
224 ;; It appears to work. |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
225 ;; |
19101
31ba6200863a
It appears to work.
Oliver Seidel <os10000@seidel-space.de>
parents:
19100
diff
changeset
|
226 ;; Revision 1.1 1997/08/03 12:15:13 os10000 |
31ba6200863a
It appears to work.
Oliver Seidel <os10000@seidel-space.de>
parents:
19100
diff
changeset
|
227 ;; Initial revision |
19100 | 228 ;; |
229 | |
230 ;; --------------------------------------------------------------------------- | |
231 | |
232 ;; User-configurable variables: | |
233 | |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
234 (defvar todo-prefix "*/*" "TODO mode prefix for entries.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
235 (defvar todo-file-do "~/.todo-do" "TODO mode list file.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
236 (defvar todo-file-done "~/.todo-done" "TODO mode archive file.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
237 (defvar todo-mode-hook nil "TODO mode hooks.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
238 (defvar todo-ins-thresh 0 "TODO mode insertion accuracy.") |
19100 | 239 |
240 ;; --------------------------------------------------------------------------- | |
241 | |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
242 ;; Get some outside help ... |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
243 |
19100 | 244 (require 'time-stamp) |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
245 (require 'easymenu) |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
246 |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
247 ;; --------------------------------------------------------------------------- |
19100 | 248 |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
249 ;; Set up some helpful context ... |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
250 |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
251 (defvar todo-cats nil "TODO categories.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
252 (defvar todo-prv-lne 0 "previous line that I asked about.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
253 (defvar todo-prv-ans 0 "previous answer that I got.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
254 (defvar todo-mode-map nil "TODO mode keymap.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
255 (defvar todo-category-number 0 "TODO category number.") |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
256 |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
257 ;; --------------------------------------------------------------------------- |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
258 |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
259 (if todo-mode-map |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
260 nil |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
261 (let ((map (make-keymap))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
262 (suppress-keymap map t) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
263 (define-key map "+" 'todo-cmd-forw) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
264 (define-key map "-" 'todo-cmd-back) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
265 (define-key map "e" 'todo-cmd-edit) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
266 (define-key map "f" 'todo-cmd-file) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
267 (define-key map "i" 'todo-cmd-inst) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
268 (define-key map "k" 'todo-cmd-kill) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
269 (define-key map "l" 'todo-cmd-lowr) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
270 (define-key map "n" 'todo-cmd-next) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
271 (define-key map "p" 'todo-cmd-prev) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
272 (define-key map "q" 'todo-cmd-done) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
273 (define-key map "r" 'todo-cmd-rais) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
274 (define-key map "s" 'todo-cmd-save) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
275 (setq todo-mode-map map))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
276 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
277 (defun todo-cat-slct () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
278 (let ((todo-category-name (nth todo-category-number todo-cats))) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
279 (setq mode-line-buffer-identification |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
280 (concat "Category: " todo-category-name)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
281 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
282 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
283 (search-forward (concat "--- " todo-category-name)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
284 (setq begin (+ (point-at-eol) 1)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
285 (search-forward "--- End") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
286 (narrow-to-region begin (point-at-bol)) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
287 (goto-char (point-min)))) |
19100 | 288 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
289 (defun todo-cmd-forw () "Go forward to TODO list of next category." |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
290 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
291 (let ((todo-cat-cnt (- (length todo-cats) 1))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
292 (setq todo-category-number (if (< todo-category-number todo-cat-cnt) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
293 (+ todo-category-number 1) 0)) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
294 (todo-cat-slct))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
295 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
296 (defun todo-cmd-back () "Go back to TODO list of previous category." |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
297 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
298 (let ((todo-cat-cnt (- (length todo-cats) 1))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
299 (setq todo-category-number (if (> todo-category-number 0) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
300 (- todo-category-number 1) todo-cat-cnt)) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
301 (todo-cat-slct))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
302 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
303 (defun todo-cmd-prev () "Select previous entry of TODO list." |
19100 | 304 (interactive) |
305 (forward-line -1) | |
306 (beginning-of-line nil) | |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
307 (message "")) |
19100 | 308 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
309 (defun todo-cmd-next () "Select next entry of TODO list." |
19100 | 310 (interactive) |
311 (forward-line 1) | |
312 (beginning-of-line nil) | |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
313 (message "")) |
19100 | 314 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
315 (defun todo-cmd-save () "Save the TODO list." |
19100 | 316 (interactive) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
317 (save-buffer)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
318 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
319 (defun todo-cmd-done () "Done with TODO list for now." |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
320 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
321 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
322 (save-buffer) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
323 (beginning-of-line nil) |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
324 (message "") |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
325 (bury-buffer)) |
19100 | 326 |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
327 (defun todo-line () "Find current line in buffer." |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
328 (buffer-substring (point-at-bol) (point-at-eol))) |
19100 | 329 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
330 (defun todo-cmd-edit () "Edit current TODO list entry." |
19100 | 331 (interactive) |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
332 (let ((todo-entry (read-from-minibuffer "Edit: " (todo-line)))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
333 (delete-region (point-at-bol) (point-at-eol)) |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
334 (insert todo-entry) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
335 (beginning-of-line nil) |
19187
9d37b4ab16b5
Acted upon suggestion from Shane Holder <holder@rsn.hp.com>:
Oliver Seidel <os10000@seidel-space.de>
parents:
19186
diff
changeset
|
336 (message ""))) |
19100 | 337 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
338 (defun todo-add-category (cat) "Add a new category to the TODO list." |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
339 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
340 (save-window-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
341 (setq todo-cats (cons cat todo-cats)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
342 (find-file todo-file-do) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
343 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
344 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
345 (let ((posn (search-forward "-*- mode: todo; " 17 t))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
346 (if (not (null posn)) (goto-char posn)) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
347 (if (equal posn nil) |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
348 (progn |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
349 (insert "-*- mode: todo; \n") |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
350 (forward-char -1)) |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
351 (kill-line))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
352 (insert (format "todo-cats: %S; -*-" todo-cats)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
353 (forward-char 1) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
354 (insert (format "%s --- %s\n--- End\n%s %s\n" |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
355 todo-prefix cat todo-prefix (make-string 75 ?-)))) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
356 0) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
357 |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
358 (defun todo-cmd-inst () |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
359 "Insert new TODO list entry." |
19100 | 360 (interactive) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
361 (beginning-of-line nil) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
362 (let* ((todo-entry (concat todo-prefix " " |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
363 (read-from-minibuffer "New TODO entry: "))) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
364 (temp-catgs todo-cats) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
365 (todo-hstry (cons 'temp-catgs (+ todo-category-number 1)))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
366 (save-window-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
367 (setq todo-category |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
368 (read-from-minibuffer "Category: " |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
369 (nth todo-category-number todo-cats) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
370 nil nil todo-hstry)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
371 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
372 (let ((cat-exists (member todo-category todo-cats))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
373 (setq todo-category-number |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
374 (if cat-exists |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
375 (- (length todo-cats) (length cat-exists)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
376 (todo-add-category todo-category)))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
377 (todo-show) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
378 (setq todo-prv-lne 0) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
379 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
380 (let ((todo-fst 1) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
381 (todo-lst (+ 1 (count-lines (point-min) (point-max))))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
382 (while (> (- todo-lst todo-fst) todo-ins-thresh) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
383 (let* ((todo-cur (/ (+ todo-fst todo-lst) 2)) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
384 (todo-ans (if (< todo-cur todo-lst) |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
385 (todo-ask todo-cur) nil))) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
386 (if todo-ans |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
387 (setq todo-lst todo-cur) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
388 (setq todo-fst (+ todo-cur 1))))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
389 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
390 (setq todo-fst (/ (+ todo-fst todo-lst) 2)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
391 ;; goto-line doesn't have the desired behavior in a narrowed buffer |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
392 (goto-char (point-min)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
393 (forward-line (- todo-fst 1))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
394 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
395 (insert (concat todo-entry "\n")) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
396 (forward-line -1)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
397 (beginning-of-line nil) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
398 (message ""))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
399 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
400 (defun todo-ask (lne) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
401 "Ask whether entry is more important than at LNE." |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
402 (if (not (equal todo-prv-lne lne)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
403 (progn |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
404 (setq todo-prv-lne lne) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
405 (goto-char (point-min)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
406 (forward-line (- todo-prv-lne 1)) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
407 (setq todo-prv-ans (y-or-n-p |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
408 (concat "More important than '" |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
409 (todo-line) "'? "))))) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
410 todo-prv-ans) |
19100 | 411 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
412 (defun todo-cmd-kill () "Delete current TODO list entry." |
19100 | 413 (interactive) |
414 (if (> (count-lines (point-min) (point-max)) 0) | |
415 (progn | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
416 (let* ((todo-entry (todo-line)) |
19186
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
417 (todo-answer (y-or-n-p (concat "Permanently remove '" |
023404dbc696
Improved documentation. Broke some lines to comply with
Oliver Seidel <os10000@seidel-space.de>
parents:
19180
diff
changeset
|
418 todo-entry "'? ")))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
419 (if todo-answer |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
420 (progn |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
421 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
422 (forward-line -1)))) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
423 (message "")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
424 (message "No TODO list entry to delete.")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
425 (beginning-of-line nil)) |
19100 | 426 |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
427 (defun todo-cmd-rais () "Raise priority of current entry." |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
428 (interactive) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
429 (if (> (count-lines (point-min) (point-max)) 0) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
430 (progn |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
431 (setq todo-entry (todo-line)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
432 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
433 (forward-line -1) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
434 (insert (concat todo-entry "\n")) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
435 (forward-line -1) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
436 (message "")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
437 (message "No TODO list entry to raise.")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
438 (beginning-of-line nil)) |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
439 |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
440 (defun todo-cmd-lowr () "Lower priority of current entry." |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
441 (interactive) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
442 (if (> (count-lines (point-min) (point-max)) 0) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
443 (progn |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
444 (setq todo-entry (todo-line)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
445 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
446 (forward-line 1) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
447 (insert (concat todo-entry "\n")) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
448 (forward-line -1) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
449 (message "")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
450 (message "No TODO list entry to raise.")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
451 (beginning-of-line nil)) |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
452 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
453 (defun todo-cmd-file () "File away the current TODO list entry." |
19100 | 454 (interactive) |
455 (if (> (count-lines (point-min) (point-max)) 0) | |
456 (progn | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
457 (let ((time-stamp-format "%3b %2d, %y, %02I:%02M%p")) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
458 (beginning-of-line nil) |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
459 (delete-region (point-at-bol) (search-forward todo-prefix)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
460 (insert (time-stamp-string)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
461 (end-of-line nil) |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
462 (insert (concat " (" (read-from-minibuffer "Comment: ") ")")) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
463 (append-to-file (point-at-bol) (+ 1 (point-at-eol)) todo-file-done) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
464 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
465 (forward-line -1)) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
466 (message "")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
467 (message "No TODO list entry to delete.")) |
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
468 (beginning-of-line nil)) |
19100 | 469 |
470 ;; --------------------------------------------------------------------------- | |
471 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
472 ;; utility functions: These are available in XEmacs, but not in Emacs 19.34 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
473 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
474 (if (not (fboundp 'point-at-bol)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
475 (defun point-at-bol () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
476 (save-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
477 (beginning-of-line) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
478 (point)))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
479 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
480 (if (not (fboundp 'point-at-eol)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
481 (defun point-at-eol () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
482 (save-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
483 (end-of-line) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
484 (point)))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
485 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
486 ;; --------------------------------------------------------------------------- |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
487 |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
488 (easy-menu-define todo-menu todo-mode-map "Todo Menu" |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
489 '("Todo" |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
490 ["Forward item" todo-cmd-forw t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
491 ["Backward item" todo-cmd-back t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
492 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
493 ["Edit item" todo-cmd-edit t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
494 ["File item" todo-cmd-file t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
495 ["Insert new item" todo-cmd-inst t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
496 ["Kill item" todo-cmd-kill t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
497 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
498 ["Lower item priority" todo-cmd-lowr t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
499 ["Raise item priority" todo-cmd-rais t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
500 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
501 ["Next item" todo-cmd-next t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
502 ["Previous item" todo-cmd-prev t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
503 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
504 ["Save" todo-cmd-save t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
505 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
506 ["Quit" todo-cmd-done t] |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
507 )) |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
508 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
509 (defun todo-mode () "Major mode for editing TODO lists.\n\n\\{todo-mode-map}" |
19100 | 510 (interactive) |
511 (setq major-mode 'todo-mode) | |
512 (setq mode-name "TODO") | |
513 (use-local-map todo-mode-map) | |
19188
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
514 (easy-menu-add todo-menu) |
56e1d94a7083
Applied patch from Istvan Marko <istvan@cmdmail.amd.com>
Oliver Seidel <os10000@seidel-space.de>
parents:
19187
diff
changeset
|
515 (run-hooks 'todo-mode-hook)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
516 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
517 (defun todo-show () "Show TODO list." |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
518 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
519 (find-file todo-file-do) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
520 (if (null todo-cats) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
521 (progn |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
522 (todo-add-category "Todo") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
523 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
524 (goto-char (search-forward "--- End")) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
525 (let ((bol (point-at-bol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
526 (forward-line 1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
527 (let* ((eol (+ (point-at-eol) 1)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
528 (mrkr (buffer-substring bol eol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
529 (delete-region bol eol) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
530 (goto-char (point-max)) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
531 (insert mrkr))) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
532 (save-buffer) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
533 (kill-buffer (current-buffer)) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
534 (find-file todo-file-do))) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
535 (beginning-of-line nil) |
19189
1519cf07cfab
Fixed header, typos, layout, documentation.
Oliver Seidel <os10000@seidel-space.de>
parents:
19188
diff
changeset
|
536 (todo-cat-slct)) |
19100 | 537 |
538 (provide 'todomode) | |
539 | |
540 ;; --------------------------------------------------------------------------- | |
541 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
542 ;; todomode.el ends here |
19100 | 543 |
544 ;; --------------------------------------------------------------------------- |