;;; todo-mode.el --- major mode for editing TODO list files
-;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
;; Free Software Foundation, Inc.
;; Author: Oliver Seidel <os10000@seidel-space.de>
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
:group 'calendar)
(defcustom todo-prefix "*/*"
- "*TODO mode prefix for entries.
+ "TODO mode prefix for entries.
This is useful in conjunction with `calendar' and `diary' if you use
:type 'string
:group 'todo)
(defcustom todo-file-do "~/.todo-do"
- "*TODO mode list file."
+ "TODO mode list file."
:type 'file
:group 'todo)
(defcustom todo-file-done "~/.todo-done"
- "*TODO mode archive file."
+ "TODO mode archive file."
:type 'file
:group 'todo)
(defcustom todo-mode-hook nil
- "*TODO mode hooks."
+ "TODO mode hooks."
:type 'hook
:group 'todo)
(defcustom todo-edit-mode-hook nil
- "*TODO Edit mode hooks."
+ "TODO Edit mode hooks."
:type 'hook
:group 'todo)
(defcustom todo-insert-threshold 0
- "*TODO mode insertion accuracy.
+ "TODO mode insertion accuracy.
If you have 8 items in your TODO list, then you may get asked 4
questions by the binary insertion algorithm. However, you may not
(defvar todo-edit-buffer " *TODO Edit*"
"TODO Edit buffer name.")
(defcustom todo-file-top "~/.todo-top"
- "*TODO mode top priorities file.
+ "TODO mode top priorities file.
Not in TODO format, but diary compatible.
Automatically generated when `todo-save-top-priorities' is non-nil."
:group 'todo)
(defcustom todo-print-function 'ps-print-buffer-with-faces
- "*Function to print the current buffer."
+ "Function to print the current buffer."
:type 'symbol
:group 'todo)
(defcustom todo-show-priorities 1
- "*Default number of priorities to show by \\[todo-top-priorities].
+ "Default number of priorities to show by \\[todo-top-priorities].
0 means show all entries."
:type 'integer
:group 'todo)
(defcustom todo-print-priorities 0
- "*Default number of priorities to print by \\[todo-print].
+ "Default number of priorities to print by \\[todo-print].
0 means print all entries."
:type 'integer
:group 'todo)
(defcustom todo-remove-separator t
- "*Non-nil to remove category separators in\
+ "Non-nil to remove category separators in\
\\[todo-top-priorities] and \\[todo-print]."
:type 'boolean
:group 'todo)
(defcustom todo-save-top-priorities-too t
- "*Non-nil makes `todo-save' automatically save top-priorities in `todo-file-top'."
+ "Non-nil makes `todo-save' automatically save top-priorities in `todo-file-top'."
:type 'boolean
:group 'todo)
;;
(defcustom todo-time-string-format
"%:y-%02m-%02d %02H:%02M"
- "*TODO mode time string format for done entries.
+ "TODO mode time string format for done entries.
For details see the variable `time-stamp-format'."
:type 'string
:group 'todo)
(defcustom todo-entry-prefix-function 'todo-entry-timestamp-initials
- "*Function producing text to insert at start of todo entry."
+ "Function producing text to insert at start of todo entry."
:type 'symbol
:group 'todo)
(defcustom todo-initials (or (getenv "INITIALS") (user-login-name))
- "*Initials of todo item author."
+ "Initials of todo item author."
:type 'string
:group 'todo)
category."
(interactive "P")
(save-excursion
- (if (not (string-equal mode-name "TODO")) (todo-show))
+ (if (not (derived-mode-p 'todo-mode)) (todo-show))
(let* ((new-item (concat todo-prefix " "
(read-from-minibuffer
"New TODO entry: "
"Insert new TODO list entry under the cursor."
(interactive "")
(save-excursion
- (if (not (string-equal mode-name "TODO")) (todo-show))
+ (if (not (derived-mode-p 'todo-mode)) (todo-show))
(let* ((new-item (concat todo-prefix " "
(read-from-minibuffer
"New TODO entry: "
(easy-menu-add todo-menu)
(run-mode-hooks 'todo-mode-hook))
-(eval-when-compile
- (defvar date)
- (defvar entry))
+(defvar date)
+(defvar entry)
+
+;; t-c should be used from diary code, which requires calendar.
+(declare-function calendar-current-date "calendar" nil)
;; Read about this function in the setup instructions above!
;;;###autoload
(provide 'todo-mode)
-;;; arch-tag: 6fd91be5-776e-4464-a109-da4ea0e4e497
+;; arch-tag: 6fd91be5-776e-4464-a109-da4ea0e4e497
;;; todo-mode.el ends here