Mercurial > emacs
annotate lisp/calendar/todo-mode.el @ 19179:dce72c66de1e
Fixed insertion routine with help from Trey Jackson
<tjackson@ichips.intel.com>; added todo-ins-thresh;
fixed keyboard layout to remove unwanted keys.
author | Oliver Seidel <os10000@seidel-space.de> |
---|---|
date | Tue, 05 Aug 1997 22:34:14 +0000 |
parents | 8af428cb3906 |
children | 5de82ccd80eb |
rev | line source |
---|---|
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
1 ; todomode.el -- major mode for editing TODO list files |
19100 | 2 |
3 ;; --------------------------------------------------------------------------- | |
4 | |
5 ;; Note: You may copy this file freely for non-commercial use; otherwise, | |
6 ;; please contact (address) O Seidel, Lessingstr 8, Eschborn, FRG | |
7 ;; (e-mail ) Oliver.Seidel@cl.cam.ac.uk (2 Aug 1997) | |
8 | |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
9 ;; $Id: todomode.el,v 1.6 1997/08/05 16:47:01 os10000 Exp os10000 $ |
19100 | 10 ;; |
19101
31ba6200863a
It appears to work.
Oliver Seidel <os10000@seidel-space.de>
parents:
19100
diff
changeset
|
11 ;; $Log: todomode.el,v $ |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
12 ;; 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
|
13 ;; 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
|
14 ;; 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
|
15 ;; |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
16 ;; 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
|
17 ;; 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
|
18 ;; 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
|
19 ;; |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
20 ;; 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
|
21 ;; Added Raise/Lower item. |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
22 ;; |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
23 ;; 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
|
24 ;; Cleaned up variables, prefix and cursor position. |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
25 ;; |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
26 ;; 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
|
27 ;; It appears to work. |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
28 ;; |
19101
31ba6200863a
It appears to work.
Oliver Seidel <os10000@seidel-space.de>
parents:
19100
diff
changeset
|
29 ;; 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
|
30 ;; Initial revision |
19100 | 31 ;; |
32 | |
33 ;; --------------------------------------------------------------------------- | |
34 | |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
35 ;; Description: |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
36 ;; |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
37 ;; To get this to work, make emacs execute the line "(require 'todomode)" |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
38 ;; and maybe initialise the variables below on startup. |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
39 ;; |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
40 ;; Just for the case that you are wondering about the ugly name of this |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
41 ;; package: I am one of those unfortunate people who have DOS, LINUX and |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
42 ;; OS/2 on one of their computers, so part of my home-filespace is shared |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
43 ;; and stored on a DOS partition, which is accessible to all systems. If |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
44 ;; you wish, you can of course rename the name of the file (and the last |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
45 ;; command) to something more aisthetically (please don't argue about |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
46 ;; this spelling ...) pleasing, like i.e. todo-mode. |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
47 ;; |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
48 ;; You will have the following facilities available: |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
49 ;; |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
50 ;; M-x todo-mode will enter the todo list screen, here type |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
51 ;; + to go to next category |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
52 ;; - to go to previous category |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
53 ;; e to edit the current entry |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
54 ;; f to file the current entry, including a |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
55 ;; comment and timestamp |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
56 ;; i to insert a new entry |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
57 ;; k to kill the current entry |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
58 ;; l lower the current entry's priority |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
59 ;; n for the next entry |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
60 ;; p for the previous entry |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
61 ;; q to save the list and exit the buffer |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
62 ;; r raise current entryk's priority |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
63 ;; s to save the list |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
64 ;; |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
65 ;; When you add a new entry, you are asked for the text and then for the |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
66 ;; category. I for example have categories for things that I want to do |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
67 ;; in the office (like mail my mum), that I want to do in town (like buy |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
68 ;; cornflakes) and things I want to do at home (move my suitcases). The |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
69 ;; categories can be selected with the cursor keys and if you type in the |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
70 ;; name of a category which didn't exist before, an empty category of the |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
71 ;; desired name will be added. |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
72 ;; |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
73 ;; I would recommend to add the following bindings to your global keymap: |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
74 ;; |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
75 ;; (global-set-key "\C-ct" 'todo-show) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
76 ;; (global-set-key "\C-ci" 'todo-cmd-inst) |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
77 ;; |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
78 ;; This will enable you to quickly find the todo-list, or to simply add an |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
79 ;; entry, without changing to it and getting sidetracked from your current |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
80 ;; project. |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
81 ;; |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
82 ;; I would also recommend that use the prefix "*/*" (by leaving the |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
83 ;; variable 'todo-prefix' untouched) so that the diary displays |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
84 ;; each entry every day. |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
85 ;; |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
86 ;; For this, please read the documentation that goes with the calendar |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
87 ;; since that will tell you how you can set up the fancy diary display |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
88 ;; and use the #include command to include your todo list file as part |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
89 ;; of your diary. |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
90 ;; |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
91 ;; Another nifty feature is the insertion accuracy. If you have 8 items |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
92 ;; in your TODO list, then you may get asked 4 questions by the binary |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
93 ;; insertion algorithm. However, you may not really have a need for such |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
94 ;; accurate priorities amongst your TODO items. If you now think about |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
95 ;; the binary insertion halfing the size of the window each time, then |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
96 ;; the threshhold is the window size at which it will stop. If you set |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
97 ;; the threshhold to zero, the upper and lower bound will coincide at the |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
98 ;; end of the loop and you will insert your item just before that point. |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
99 ;; If you set the threshhold to i.e. 8, it will stop as soon as the window |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
100 ;; size drops below that amount and will insert the item in the approximate |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
101 ;; centre of that window. I got the idea for this feature after reading |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
102 ;; a very helpful e-mail reply from Trey Jackson <tjackson@ichips.intel.com> |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
103 ;; who corrected some of my awful coding and pointed me towards some good |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
104 ;; reading. Thanks Trey! |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
105 ;; |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
106 ;; Enjoy this package and express your gratitude by sending valuables |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
107 ;; to my parents' address as listed above!!! |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
108 ;; |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
109 ;; Oliver Seidel |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
110 |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
111 ;; --------------------------------------------------------------------------- |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
112 |
19100 | 113 ;; User-configurable variables: |
114 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
115 (defvar todo-prefix "*/*" "TODO mode prefix when creating entries") |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
116 (defvar todo-file-do "~/.todo-do" "TODO mode filename of list file") |
19100 | 117 (defvar todo-file-done "~/.todo-done" "TODO mode filename of archive file") |
118 (defvar todo-mode-hook nil "Hooks invoked when the *TODO* buffer is created.") | |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
119 (defvar todo-ins-thresh 0 "TODO mode insertion accuracy.") |
19100 | 120 |
121 ;; --------------------------------------------------------------------------- | |
122 | |
123 (require 'time-stamp) | |
124 | |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
125 (defvar todo-mode-map nil "TODO mode keymap. See `todo-mode'") |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
126 (if todo-mode-map |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
127 nil |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
128 (let ((map (make-keymap))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
129 (suppress-keymap map t) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
130 (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
|
131 (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
|
132 (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
|
133 (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
|
134 (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
|
135 (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
|
136 (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
|
137 (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
|
138 (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
|
139 (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
|
140 (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
|
141 (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
|
142 (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
|
143 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
144 (defun todo-cat-slct () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
145 (let ((todo-category-name (nth todo-category-number todo-cats))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
146 (setq mode-line-buffer-identification (concat "Category: " todo-category-name)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
147 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
148 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
149 (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
|
150 (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
|
151 (search-forward "--- End") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
152 (narrow-to-region begin (point-at-bol)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
153 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
154 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
155 ) |
19100 | 156 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
157 (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
|
158 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
159 (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
|
160 (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
|
161 (+ todo-category-number 1) 0)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
162 (todo-cat-slct) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
163 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
164 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
165 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
166 (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
|
167 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
168 (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
|
169 (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
|
170 (- todo-category-number 1) todo-cat-cnt)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
171 (todo-cat-slct) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
172 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
173 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
174 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
175 (defun todo-cmd-prev () "Select previous entry of TODO list." |
19100 | 176 (interactive) |
177 (forward-line -1) | |
178 (beginning-of-line nil) | |
179 (message "") | |
180 ) | |
181 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
182 (defun todo-cmd-next () "Select next entry of TODO list." |
19100 | 183 (interactive) |
184 (forward-line 1) | |
185 (beginning-of-line nil) | |
186 (message "") | |
187 ) | |
188 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
189 (defun todo-cmd-save () "Save the TODO list." |
19100 | 190 (interactive) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
191 (save-buffer) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
192 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
193 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
194 (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
|
195 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
196 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
197 (save-buffer) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
198 (beginning-of-line nil) |
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
199 (message "") |
19100 | 200 (bury-buffer) |
201 ) | |
202 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
203 (defun todo-line () "Find current line in buffer." (buffer-substring (point-at-bol) (point-at-eol))) |
19100 | 204 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
205 (defun todo-cmd-edit () "Edit current TODO list entry." |
19100 | 206 (interactive) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
207 (let ((todo-entry (todo-line))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
208 (delete-region (point-at-bol) (point-at-eol)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
209 (insert (read-from-minibuffer "Edit: " todo-entry)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
210 (beginning-of-line nil) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
211 (message "") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
212 ) |
19100 | 213 ) |
214 | |
215 (defvar todo-prv-lne 0 "previous line that I asked about.") | |
216 (defvar todo-prv-ans 0 "previous answer that I got.") | |
217 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
218 (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
|
219 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
220 (save-window-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
221 (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
|
222 (find-file todo-file-do) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
223 (widen) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
224 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
225 (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
|
226 (if (not (null posn)) (goto-char posn)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
227 (if (equal posn nil) (progn (insert "-*- mode: todo; \n") (forward-char -1)) (kill-line)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
228 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
229 (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
|
230 (forward-char 1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
231 (insert (format "%s --- %s\n--- End\n%s %s\n" todo-prefix cat todo-prefix (make-string 75 ?-))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
232 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
233 0 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
234 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
235 |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
236 (defun todo-cmd-inst () |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
237 "Insert new TODO list entry." |
19100 | 238 (interactive) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
239 (beginning-of-line nil) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
240 (let* ((todo-entry (concat todo-prefix " " (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
|
241 (temp-catgs todo-cats) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
242 (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
|
243 (save-window-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
244 (setq todo-category |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
245 (read-from-minibuffer "Category: " |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
246 (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
|
247 nil nil todo-hstry)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
248 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
249 (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
|
250 (setq todo-category-number |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
251 (if cat-exists |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
252 (- (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
|
253 (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
|
254 (todo-show) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
255 (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
|
256 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
257 (let ((todo-fst 1) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
258 (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
|
259 (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
|
260 (let* ((todo-cur (/ (+ todo-fst todo-lst) 2)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
261 (todo-ans (if (< todo-cur todo-lst) (todo-ask todo-cur) nil))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
262 (if todo-ans |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
263 (setq todo-lst todo-cur) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
264 (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
|
265 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
266 (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
|
267 ;; 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
|
268 (goto-char (point-min)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
269 (message (format "todo-fst=%d" todo-fst)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
270 (forward-line (- todo-fst 1))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
271 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
272 (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
|
273 (forward-line -1)) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
274 (beginning-of-line nil) |
19179
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
275 (message ""))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
276 |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
277 (defun todo-ask (lne) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
278 "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
|
279 (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
|
280 (progn |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
281 (setq todo-prv-lne lne) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
282 (goto-char (point-min)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
283 (forward-line (- todo-prv-lne 1)) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
284 (setq todo-prv-ans (y-or-n-p (concat "More important than '" (todo-line) "'? "))))) |
dce72c66de1e
Fixed insertion routine with help from Trey Jackson
Oliver Seidel <os10000@seidel-space.de>
parents:
19166
diff
changeset
|
285 todo-prv-ans) |
19100 | 286 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
287 (defun todo-cmd-kill () "Delete current TODO list entry." |
19100 | 288 (interactive) |
289 (if (> (count-lines (point-min) (point-max)) 0) | |
290 (progn | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
291 (let* ((todo-entry (todo-line)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
292 (todo-answer (y-or-n-p (concat "Permanently remove '" todo-entry "'? ")))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
293 (if todo-answer |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
294 (progn |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
295 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
296 (forward-line -1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
297 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
298 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
299 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
300 (message "") |
19100 | 301 ) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
302 (message "No TODO list entry to delete.") |
19100 | 303 ) |
304 (beginning-of-line nil) | |
305 ) | |
306 | |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
307 (defun todo-cmd-rais () "Raise priority of current entry." |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
308 (interactive) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
309 (if (> (count-lines (point-min) (point-max)) 0) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
310 (progn |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
311 (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
|
312 (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
|
313 (forward-line -1) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
314 (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
|
315 (forward-line -1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
316 (message "") |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
317 ) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
318 (message "No TODO list entry to raise.") |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
319 ) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
320 (beginning-of-line nil) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
321 ) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
322 |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
323 (defun todo-cmd-lowr () "Lower priority of current entry." |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
324 (interactive) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
325 (if (> (count-lines (point-min) (point-max)) 0) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
326 (progn |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
327 (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
|
328 (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
|
329 (forward-line 1) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
330 (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
|
331 (forward-line -1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
332 (message "") |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
333 ) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
334 (message "No TODO list entry to raise.") |
19143
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
335 ) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
336 (beginning-of-line nil) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
337 ) |
96a5705f73d5
Added Raise/Lower item.
Oliver Seidel <os10000@seidel-space.de>
parents:
19102
diff
changeset
|
338 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
339 (defun todo-cmd-file () "File away the current TODO list entry." |
19100 | 340 (interactive) |
341 (if (> (count-lines (point-min) (point-max)) 0) | |
342 (progn | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
343 (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
|
344 (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
|
345 (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
|
346 (insert (time-stamp-string)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
347 (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
|
348 (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
|
349 (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
|
350 (delete-region (point-at-bol) (+ 1 (point-at-eol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
351 (forward-line -1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
352 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
353 (message "") |
19100 | 354 ) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
355 (message "No TODO list entry to delete.") |
19100 | 356 ) |
357 (beginning-of-line nil) | |
358 ) | |
359 | |
360 ;; --------------------------------------------------------------------------- | |
361 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
362 ;; 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
|
363 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
364 (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
|
365 (defun point-at-bol () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
366 (save-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
367 (beginning-of-line) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
368 (point)))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
369 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
370 (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
|
371 (defun point-at-eol () |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
372 (save-excursion |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
373 (end-of-line) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
374 (point)))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
375 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
376 ;; --------------------------------------------------------------------------- |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
377 |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
378 (defvar todo-mode-popup-menu |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
379 (purecopy '("Todo Mode Menu" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
380 ["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
|
381 ["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
|
382 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
383 ["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
|
384 ["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
|
385 ["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
|
386 ["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
|
387 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
388 ["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
|
389 ["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
|
390 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
391 ["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
|
392 ["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
|
393 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
394 ["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
|
395 "---" |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
396 ["Quit" todo-cmd-done t] |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
397 ) |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
398 ) |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
399 ) |
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
400 |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
401 (defvar todo-cats nil "TODO categories.") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
402 (defvar todo-category-number 0 "TODO category number.") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
403 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
404 (defun todo-mode () "Major mode for editing TODO lists.\n\n\\{todo-mode-map}" |
19100 | 405 (interactive) |
406 (setq major-mode 'todo-mode) | |
407 (setq mode-name "TODO") | |
408 (use-local-map todo-mode-map) | |
19166
8af428cb3906
Incorporated menus for XEmacs from Allan.Cochrane@soton.sc.philips.com,
Oliver Seidel <os10000@seidel-space.de>
parents:
19165
diff
changeset
|
409 (setq mode-popup-menu todo-mode-popup-menu) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
410 (run-hooks 'todo-mode-hook) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
411 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
412 |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
413 (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
|
414 (interactive) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
415 (find-file todo-file-do) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
416 (if (null todo-cats) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
417 (progn |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
418 (todo-add-category "Todo") |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
419 (goto-char (point-min)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
420 (goto-char (search-forward "--- End")) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
421 (let ((bol (point-at-bol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
422 (forward-line 1) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
423 (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
|
424 (mrkr (buffer-substring bol eol))) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
425 (delete-region bol eol) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
426 (goto-char (point-max)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
427 (insert mrkr) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
428 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
429 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
430 (save-buffer) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
431 (kill-buffer (current-buffer)) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
432 (find-file todo-file-do) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
433 ) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
434 ) |
19102
b605b8dbb880
Cleaned up variables, prefix and cursor position.
Oliver Seidel <os10000@seidel-space.de>
parents:
19101
diff
changeset
|
435 (beginning-of-line nil) |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
436 (todo-cat-slct) |
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
437 ) |
19100 | 438 |
439 (provide 'todomode) | |
440 | |
441 ;; --------------------------------------------------------------------------- | |
442 | |
19165
9bf7fc374b58
Added improvements from Ron Gut <rgut@aware.com>.
Oliver Seidel <os10000@seidel-space.de>
parents:
19143
diff
changeset
|
443 ;; todomode.el ends here |
19100 | 444 |
445 ;; --------------------------------------------------------------------------- |