%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /usr/share/emacs/25.2/lisp/calendar/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //usr/share/emacs/25.2/lisp/calendar/todo-mode.elc
;ELC
;;; Compiled
;;; in Emacs version 25.2.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\207" [require diary-lib cl-lib custom-declare-variable todo-directory (locate-user-emacs-file "todo/") "Directory where user's todo files are saved." :type directory :group todo] 8)
#@269 Default value of `todo-files-function'.
This returns the case-insensitive alphabetically sorted list of
file truenames in `todo-directory' with the extension
".todo".  With non-nil ARCHIVES return the list of archive file
truenames (those with the extension ".toda").
(defalias 'todo-files #[(&optional archives) "\303!\205\304\305\306\307	\203\310\202\311\307$\"\312\n\313\")\207" [todo-directory archives files file-exists-p mapcar file-truename directory-files t "\\.toda$" "\\.todo$" sort #[(s1 s2) "\226	\226\211\n\231*\207" [s1 s2 cis2 cis1] 3]] 7 (#$ . 666)])
#@184 Function returning the value of the variable `todo-files'.
This function should take an optional argument that, if non-nil,
makes it return the value of the variable `todo-archives'.
(custom-declare-variable 'todo-files-function ''todo-files '(#$ . 1252) :type 'function :group 'todo)
#@41 List of truenames of user's todo files.
(defvar todo-files (funcall todo-files-function) (#$ . 1543))
#@44 List of truenames of user's todo archives.
(defvar todo-archives (funcall todo-files-function t) (#$ . 1651))
#@139 List of todo files visited in this session by `todo-show'.
Used to determine initial display according to the value of
`todo-show-first'.
(defvar todo-visited nil (#$ . 1768))
#@47 List of file names of live Todo mode buffers.
(defvar todo-file-buffers nil (#$ . 1950))
#@223 Variable holding name of current todo file.
Used by functions called from outside of Todo mode to visit the
current todo file rather than the default todo file (i.e. when
users option `todo-show-current-file' is non-nil).
(defvar todo-global-current-todo-file nil (#$ . 2046))
#@62 Variable holding the name of the currently active todo file.
(defvar todo-current-todo-file nil (#$ . 2329))
#@284 Alist of categories in the current todo file.
The elements are cons cells whose car is a category name and
whose cdr is a vector of the category's item counts.  These are,
in order, the numbers of todo items, of todo items included in
the Diary, of done items and of archived items.
(defvar todo-categories nil (#$ . 2445))
#@105 Variable holding the number of the current todo category.
Todo categories are numbered starting from 1.
(defvar todo-category-number 1 (#$ . 2776))
#@62 Alist of categories and number of marked items they contain.
(defvar todo-categories-with-marks nil (#$ . 2930))
#@64 String marking beginning of category (inserted with its name).
(defconst todo-category-beg "--==-- " (#$ . 3049))
#@52 String marking beginning of category's done items.
(defconst todo-category-done "==--== DONE " (#$ . 3169))
#@399 String determining the value of variable `todo-done-separator'.
If the string consists of a single character,
`todo-done-separator' will be the string made by repeating this
character for the width of the window, and the length is
automatically recalculated when the window width changes.  If the
string consists of more (or less) than one character, it will be
the value of `todo-done-separator'.
(custom-declare-variable 'todo-done-separator-string "=" '(#$ . 3284) :type 'string :initialize 'custom-initialize-default :set 'todo-reset-done-separator-string :group 'todo-display)
#@64 Return string used as value of variable `todo-done-separator'.
(defalias 'todo-done-separator #[nil "\302	G\303U\203\304\305 \306	!\"\202\307\310#)\207" [todo-done-separator-string sep propertize 1 make-string window-width string-to-char face todo-done-sep] 5 (#$ . 3872)])
#@213 String used to visually separate done from not done items.
Displayed as an overlay instead of `todo-category-done' when
done items are shown.  Its value is determined by user option
`todo-done-separator-string'.
(defvar todo-done-separator (todo-done-separator) (#$ . 4160))
#@141 If non-nil display only done items in current category.
Set by the command `todo-toggle-view-done-only' and used by
`todo-category-select'.
(defvar todo-show-done-only nil (#$ . 4442))
#@270 List of strings surrounding item date to block diary inclusion.
The first string is inserted before the item date and must be a
non-empty string that does not match a diary date in order to
have its intended effect.  The second string is inserted after
the diary date.
(custom-declare-variable 'todo-nondiary-marker ''("[" "]") '(#$ . 4634) :type '(list string string) :group 'todo-edit :initialize 'custom-initialize-default :set 'todo-reset-nondiary-marker)
#@60 String inserted before item date to block diary inclusion.
(defconst todo-nondiary-start (car todo-nondiary-marker) (#$ . 5100))
#@65 String inserted after item date matching `todo-nondiary-start'.
(defconst todo-nondiary-end (byte-code "A@\207" [todo-nondiary-marker] 1) (#$ . 5235))
#@92 Array of month names, in order.
The final element is "*", indicating an unspecified month.
(defconst todo-month-name-array (byte-code "\301\302\303!\"\207" [calendar-month-name-array vconcat vector "*"] 4) (#$ . 5393))
#@104 Array of abbreviated month names, in order.
The final element is "*", indicating an unspecified month.
(defconst todo-month-abbrev-array (byte-code "\301\302\303!\"\207" [calendar-month-abbrev-array vconcat vector "*"] 4) (#$ . 5620))
#@54 Regular expression matching a todo item date header.
(defconst todo-date-pattern (byte-code "\306\307\310#\311	\312\307\313\314\306\n\"\"\315\316\317\320\321\322#-\323\260)\207" [calendar-day-name-array dayname todo-month-name-array todo-month-abbrev-array year day diary-name-pattern nil t "\\(?4:\\(?5:" "\\)\\|" format "\\(?6:%s\\)" "\\(?7:[0-9]+\\|\\*\\)" "\\(?8:[0-9]+\\|\\*\\)" "-?\\(?9:[0-9]+\\|\\*\\)" mapconcat eval "" "\\)" month monthname calendar-date-display-form] 9) (#$ . 5862))
#@66 Regular expression matching part of item header before the date.
(defconst todo-date-string-start (byte-code "\302\303!\304\303	!\305\260\207" [todo-nondiary-start diary-nonmarking-symbol "^\\(" regexp-quote "\\|" "\\)?"] 5) (#$ . 6375))
#@62 Identifying string appended to the front of done todo items.
(custom-declare-variable 'todo-done-string "DONE " '(#$ . 6621) :type 'string :initialize 'custom-initialize-default :set 'todo-reset-done-string :group 'todo-edit)
#@49 Regular expression matching start of done item.
(defconst todo-done-string-start (byte-code "\301\302!P\207" [todo-done-string "^\\[" regexp-quote] 3) (#$ . 6853))
#@42 String identifying start of a todo item.
(defconst todo-item-start (concat "\\(" todo-date-string-start "\\|" todo-done-string-start "\\)" todo-date-pattern) (#$ . 7024))
(byte-code "\300\301\302\303\304\305\306\307\310\311\312\313&\210\300\314\315\316\304\317\306\307\310\311\312\313&\207" [custom-declare-variable todo-prefix "" "String prefixed to todo items for visual distinction." :type (string :validate (lambda (widget) (when (string= (widget-value widget) todo-item-mark) (widget-put widget :error (format-message "Invalid value: must be distinct from `todo-item-mark'")) widget))) :initialize custom-initialize-default :set todo-reset-prefix :group todo-display todo-number-prefix t "Non-nil to prefix items with consecutively increasing integers.\nThese reflect the priorities of the items in each category." boolean] 12)
#@192 Return a mode line control for todo or archive file buffers.
Argument CAT is the name of the current todo category.
This function is the value of the user variable
`todo-mode-line-function'.
(defalias 'todo-mode-line-control #[(cat) "\304!\305\306	\n$)\207" [todo-current-todo-file file todo-category-number cat todo-short-file-name format "%s category %d: %s"] 5 (#$ . 7866)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\314\315\316\317\306\307&\210\300\320\321\322\304\313\306\307&\210\300\323\324\325\304\326\306\307&\207" [custom-declare-variable todo-mode-line-function 'todo-mode-line-control "Function that returns a mode line control for Todo mode buffers.\nThe function expects one argument holding the name of the current\ntodo category.  The resulting control becomes the local value of\n`mode-line-buffer-identification' in each Todo mode buffer." :type function :group todo-display todo-highlight-item nil "Non-nil means highlight items at point." boolean :initialize custom-initialize-default :set todo-reset-highlight-item todo-wrap-lines t "Non-nil to activate Visual Line mode and use wrap prefix." todo-indent-to-here 3 "Number of spaces to indent continuation lines of items.\nThis must be a positive number to ensure such items are fully\nshown in the Fancy Diary display." (integer :validate (lambda (widget) (unless (> (widget-value widget) 0) (widget-put widget :error "Invalid value: must be a positive integer") widget)))] 12)
#@45 Indent from point to `todo-indent-to-here'.
(defalias 'todo-indent #[nil "\301\211\"\207" [todo-indent-to-here indent-to] 3 (#$ . 9361)])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\306\314%\210\310\315\316\317\306\314%\210\310\320\321\322\306\314%\210\310\323\324\325\306\314%\210\310\326\327\330\306\314%\210\310\331\332\333\306\314%\210\310\334\335\336\306\314%\210\310\337\340\341\306\314%\210\310\342\343\344\306\314%\210\310\345\346\347\306\314%\210\310\350\351\352\306\314%\210\310\353\354\355\306\314%\210\310\356\357\360\306\314%\210\310\361\362\363\306\314%\210\310\364\365\366\306\314%\210\310\367\370\371\306\314%\207" [custom-declare-variable todo-show-with-done nil "Non-nil to display done items in all categories." :type boolean :group todo-display custom-declare-face todo-key-prompt ((t (:weight bold))) "Face for making keys in item insertion prompt stand out." todo-faces todo-mark ((((class color) (min-colors 88) (background light)) (:weight bold :foreground "Red1")) (((class color) (min-colors 88) (background dark)) (:weight bold :foreground "Pink")) (((class color) (min-colors 16) (background light)) (:weight bold :foreground "Red1")) (((class color) (min-colors 16) (background dark)) (:weight bold :foreground "Pink")) (((class color) (min-colors 8)) (:foreground "red")) (t (:weight bold :inverse-video t))) "Face for marks on marked items." todo-prefix-string ((((class grayscale) (background light)) (:foreground "LightGray" :weight bold :underline t)) (((class grayscale) (background dark)) (:foreground "Gray50" :weight bold :underline t)) (((class color) (min-colors 88) (background light)) (:foreground "dark cyan")) (((class color) (min-colors 88) (background dark)) (:foreground "Aquamarine")) (((class color) (min-colors 16) (background light)) (:foreground "CadetBlue")) (((class color) (min-colors 16) (background dark)) (:foreground "Aquamarine")) (((class color) (min-colors 8)) (:foreground "magenta")) (t (:weight bold :underline t))) "Face for todo item prefix or numerical priority string." todo-top-priority ((default :weight bold) (((class grayscale) (background light)) :foreground "DimGray" :slant italic) (((class grayscale) (background dark)) :foreground "LightGray" :slant italic) (((class color) (min-colors 88) (background light)) :foreground "Firebrick") (((class color) (min-colors 88) (background dark)) :foreground "chocolate1") (((class color) (min-colors 16) (background light)) :foreground "red") (((class color) (min-colors 16) (background dark)) :foreground "red1") (((class color) (min-colors 8) (background light)) :foreground "red") (((class color) (min-colors 8) (background dark)) :foreground "yellow") (t :slant italic)) "Face for top priority todo item numerical priority string.\nThe item's priority number string has this face if the number is\nless than or equal the category's top priority setting." todo-nondiary ((((class grayscale) (background light)) :foreground "Gray90" :weight bold) (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) (((class color) (min-colors 88) (background light)) :foreground "ForestGreen") (((class color) (min-colors 88) (background dark)) :foreground "PaleGreen") (((class color) (min-colors 16) (background light)) :foreground "ForestGreen") (((class color) (min-colors 16) (background dark)) :foreground "PaleGreen") (((class color) (min-colors 8)) :foreground "green") (t :weight bold :underline t)) "Face for non-diary markers around todo item date/time header." todo-date ((t :inherit diary)) "Face for the date string of a todo item." todo-time ((t :inherit diary-time)) "Face for the time string of a todo item." todo-diary-expired ((default :weight bold) (((class color) (min-colors 88) (background light)) :foreground "Blue1") (((class color) (min-colors 88) (background dark)) :foreground "LightSkyBlue") (((class color) (min-colors 16) (background light)) :foreground "Blue") (((class color) (min-colors 16) (background dark)) :foreground "LightSkyBlue") (((class color) (min-colors 8)) :foreground "blue") (t :inverse-video t)) "Face for expired dates of diary items." todo-done-sep ((((class grayscale) (background light)) :foreground "LightGray" :weight bold) (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) (((class color) (min-colors 88) (background light)) :foreground "dark slate blue") (((class color) (min-colors 88) (background dark)) :foreground "LightSteelBlue") (((class color) (min-colors 16) (background light)) :foreground "Orchid") (((class color) (min-colors 16) (background dark)) :foreground "LightSteelBlue") (((class color) (min-colors 8)) :foreground "blue" :weight bold) (t :weight bold)) "Face for separator string between done and not done todo items." todo-done ((((class grayscale) (background light)) :foreground "LightGray" :weight bold) (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) (((class color) (min-colors 88) (background light)) :foreground "Purple") (((class color) (min-colors 88) (background dark)) :foreground "Cyan1") (((class color) (min-colors 16) (background light)) :foreground "Purple") (((class color) (min-colors 16) (background dark)) :foreground "Cyan") (((class color) (min-colors 8)) :foreground "cyan" :weight bold) (t :weight bold)) "Face for done todo item header string." todo-comment ((((class grayscale) (background light)) :foreground "DimGray" :weight bold :slant italic) (((class grayscale) (background dark)) :foreground "LightGray" :weight bold :slant italic) (((class color) (min-colors 88) (background light)) :foreground "Firebrick") (((class color) (min-colors 88) (background dark)) :foreground "chocolate1") (((class color) (min-colors 16) (background light)) :foreground "red") (((class color) (min-colors 16) (background dark)) :foreground "red1") (((class color) (min-colors 8) (background light)) :foreground "red") (((class color) (min-colors 8) (background dark)) :foreground "yellow") (t :weight bold :slant italic)) "Face for comments appended to done todo items." todo-search ((((class color) (min-colors 88) (background light)) (:background "yellow1")) (((class color) (min-colors 88) (background dark)) (:background "RoyalBlue3")) (((class color) (min-colors 8) (background light)) (:foreground "black" :background "yellow")) (((class color) (min-colors 8) (background dark)) (:foreground "white" :background "blue")) (((type tty) (class mono)) (:inverse-video t)) (t (:background "gray"))) "Face for matches found by `todo-search'." todo-button ((((type tty)) (:foreground "black" :background "yellow3")) (((class grayscale color) (background light)) (:background "gray85")) (((class grayscale color) (background dark)) (:background "dim gray")) (t (:slant italic))) "Face for buttons in table of categories." todo-sorted-column ((((type tty)) (:inverse-video t)) (((class color) (background light)) (:background "grey85")) (((class color) (background dark)) (:background "grey85" :foreground "grey10")) (t (:background "gray"))) "Face for sorted column in table of categories." todo-archived-only ((((class color) (background light)) (:foreground "grey50")) (((class color) (background dark)) (:foreground "grey70")) (t (:foreground "gray"))) "Face for archived-only category names in table of categories." todo-category-string ((((class grayscale) (background light)) :foreground "Gray90" :weight bold) (((class grayscale) (background dark)) :foreground "DimGray" :weight bold) (((class color) (min-colors 88) (background light)) :foreground "ForestGreen") (((class color) (min-colors 88) (background dark)) :foreground "PaleGreen") (((class color) (min-colors 16) (background light)) :foreground "ForestGreen") (((class color) (min-colors 16) (background dark)) :foreground "PaleGreen") (((class color) (min-colors 8)) :foreground "green") (t :weight bold :underline t)) "Face for category-file header in Todo Filtered Items mode."] 8)
#@100 Return the short form of todo file FILE's name.
This lacks the extension and directory components.
(defalias 'todo-short-file-name #[(file) ";\205\n\301\302!!\207" [file file-name-sans-extension file-name-nondirectory] 3 (#$ . 17313)])
(byte-code "\302\303\304\305\306\205\307\310\311\310\312	 \"\"B\313\314&\210\302\315\316\317\306\320\321\322\323\324\313\314&\210\302\325\326\327\306\330\313\314&\210\302\331\316\332\306\320\313\333&\210\302\334\335\336\306\337\313\314&\210\302\340\335\341\306\337\313\314&\210\302\342\343\344\306\345\310\346\310\312	 \"\"B\313\314&\210\302\347\343\350\306\320\313\314&\207" [todo-files todo-files-function custom-declare-variable todo-default-todo-file (todo-short-file-name (car (funcall todo-files-function))) "Todo file visited by first session invocation of `todo-show'." :type radio mapcar #[(f) "\301D\207" [f const] 2] todo-short-file-name :group todo todo-show-current-file t "Non-nil to make `todo-show' visit the current todo file.\nOtherwise, `todo-show' always visits `todo-default-todo-file'." boolean :initialize custom-initialize-default :set todo-set-show-current-file todo-show-first 'first "What action to take on first use of `todo-show' on a file." (choice (const :tag "Show first category" first) (const :tag "Show table of categories" table) (const :tag "Show top priorities" top) (const :tag "Show diary items" diary) (const :tag "Show regexp items" regexp)) todo-add-item-if-new-category "Non-nil to prompt for an item after adding a new category." todo-edit todo-initial-file "Todo" "Default file name offered on adding first todo file." string todo-initial-category "Default category name offered on initializing a new todo file." todo-category-completions-files nil "List of files for building `todo-read-category' completions." set #[(f) "\301D\207" [f const] 2] todo-completion-ignore-case "Non-nil means case is ignored by `todo-read-*' functions."] 12)
#@1796 Visit a todo file and display one of its categories.

When invoked in Todo mode, Todo Archive mode or Todo Filtered
Items mode, or when invoked anywhere else with a prefix argument,
prompt for which todo file to visit.  When invoked outside of a
Todo mode buffer without a prefix argument, visit
`todo-default-todo-file'.  Subsequent invocations from outside of
Todo mode revisit this file or, with option
`todo-show-current-file' non-nil (the default), whichever todo
file was last visited.

If you call this command before you have created any todo file in
the current format, and you have an todo file in old format, it
will ask you whether to convert that file and show it.
Otherwise, calling this command before any todo file exists
prompts for a file name and an initial category (defaulting to
`todo-initial-file' and `todo-initial-category'), creates both of
these, visits the file and displays the category, and if option
`todo-add-item-if-new-category' is non-nil (the default), prompts
for the first item.

The first invocation of this command on an existing todo file
interacts with the option `todo-show-first': if its value is
`first' (the default), show the first category in the file; if
its value is `table', show the table of categories in the file;
if its value is one of `top', `diary' or `regexp', show the
corresponding saved top priorities, diary items, or regexp items
file, if any.  Subsequent invocations always show the file's
current (i.e., last displayed) category.

In Todo mode just the category's unfinished todo items are shown
by default.  The done items are hidden, but typing
`\[todo-toggle-view-done-items]' displays them below the todo
items.  With non-nil user option `todo-show-with-done' both todo
and done items are always shown on visiting a category.
(defalias 'todo-show #[(&optional solicit-file interactive) "\203\n\306\307!!\210\3102\2048\311\301!\203	\202 \312\313\314\"\315\n!\2037\316\317!\2037\320 \2037\321\310\322\"\210)\3232\322\f@\204QA\203eB\324>\203eC \203_\325\326\322\327#\202\224\330\331!\202\224B\332=\203}A\204}\333 \334D!\335P\202\224D\206\224E\203\214F\206\224\307!\206\224\336 G\322\211HI\204\253\337G!\327I\340 \210GJ\235\204GGD\f\341=\203\303\342 \210\202F\f\343>\203F\337G!K\307K\f\"L\f\344=\203\345M\327\346\327$\211N\203NG\347V\203\350\337N\"O\307\351\352O\"\344\"L))\315L!\203\"\353\354 \355L\356\"q\"\210\357\360!\204E\360 \210\202E\361\362\f\363=\203.\364\202?\f\365=\2038\366\202?\f\344=\205?\367K#\210\370*)GJ\235\204U\f\370=\203\350\306G!\204a\321\323\322\"\210\353\371 \203l\372 \202n\354 \355G\356\"q\"\210\373\374 !\375\232\203\213\357\332!\204\224\332 \210\202\224\357\376!\204\224\376 \210\377P\"\203\243\201Q!Q\201T \201UU\203\327\201V \203\275\201W\201X!\210\322R\201Y\216\201ZD\201[\"QSH\327R*\212\201\\ \210)H\203\350\201] \210
GJ\235\203\367J\202\377GJB\211J-00\207" [todo-default-todo-file todo-file-do legacy-todo-file cat todo-show-first show-first todo-check-file todo-absolute-file-name shown boundp locate-user-emacs-file "todo-do" ".todo-do" file-exists-p y-or-n-p "Do you want to convert a copy of your old todo file to the new format? " todo-convert-legacy-files throw nil end (todo-mode todo-archive-mode todo-filtered-items-mode) todo-read-file-name "Choose a todo file to visit: " t user-error "There are no todo files" todo-archive-mode todo-current-category file-name-sans-extension ".todo" todo-add-file todo-short-file-name todo-reevaluate-default-file-defcustom table todo-show-categories-table (top diary regexp) regexp directory-files ".*\\.todr$" 1 mapcar completing-read "Choose a regexp items file: " set-window-buffer selected-window find-file-noselect nowarn derived-mode-p todo-filtered-items-mode message "There is no %s file for %s" top "top priorities" diary "diary items" "regexp items" first minibufferp minibuffer-selected-window file-name-extension buffer-file-name "toda" todo-mode assoc solicit-file interactive major-mode todo-files-function todo-current-todo-file todo-show-current-file todo-global-current-todo-file file add-item first-file todo-visited shortf fi-file todo-directory rxfiles rxf todo-categories todo-category-number cat-added todo-add-item-if-new-category buffer-size 0 buffer-modified-p error "Buffer is empty but modified, please report a bug" #[nil "\203\306\307!\207\310	!\210\311	\n\"\203\312\211\313 \210\314 \210\315 \207" [cat-added file todo-files first-file todo-default-todo-file todo-current-todo-file save-buffer 0 delete-file delete nil todo-reevaluate-default-file-defcustom kill-buffer keyboard-quit] 4] todo-add-category "" todo-category-select todo-insert-item--basic] 6 (#$ . 19259) "P\np"])
#@29 Save the current todo file.
(defalias 'todo-save #[nil "\301=\203\f\302 \210\303 \207\304 \207" [major-mode todo-filtered-items-mode todo-check-filtered-items-file todo-save-filtered-items-buffer save-buffer] 2 (#$ . 24062) nil])
#@143 Exit the current Todo-related buffer.
Depending on the specific mode, this either kills the buffer or
buries it and restores state as needed.
(defalias 'todo-quit #[nil "p	\306=\203(\307\310=\203\f
\235\203
\210\202\f
B\311 \210\312!\202\201	\313=\203=\312 \210	\314=?\205\201\311 \202\201	\315=\203m\316 \210\317\f!\320Q\321!\203\\\311 \210\202`\322\323!\210)\324!\205\201\325!\202\201	\314=\205\201\316 \210\326\327 \330 q\"\210\325!)\207" [buf major-mode todo-descending-counts todo-show-first todo-current-todo-file todo-visited todo-categories-mode nil table todo-show kill-buffer todo-filtered-items-mode todo-mode todo-archive-mode todo-save todo-short-file-name ".todo" todo-check-file message "There is no todo file for this archive" buffer-live-p bury-buffer set-window-buffer selected-window other-buffer todo-directory todo-file] 3 (#$ . 24301) nil])
#@461 Non-nil to handle categories with only archived items specially.

Sequential category navigation using \[todo-forward-category]
or \[todo-backward-category] skips categories that contain only
archived items.  Other commands still recognize these categories.
In Todo Categories mode (\[todo-show-categories-table]) these
categories shown in `todo-archived-only' face and pressing the
category button visits the category in the archive instead of the
todo file.
(custom-declare-variable 'todo-skip-archived-categories nil '(#$ . 25202) :type 'boolean :group 'todo-display)
#@266 Visit the numerically next category in this todo file.
If the current category is the highest numbered, visit the first
category.  With non-nil argument BACK, visit the numerically
previous category (the highest numbered one, if the current
category is the first).
(defalias 'todo-forward-category #[(&optional back) "\304	\203\n\305\202\306Z\nG\"T\203>\307\310!\306U\203>\307\311!\306U\203>\307\312!\306U\204>\313	\2036\314\2027\315C\"\202\316 \210eb\207" [todo-category-number back todo-categories todo-skip-archived-categories mod 2 0 todo-get-count todo done archived apply 1- 1+ todo-category-select] 3 (#$ . 25780) nil])
#@135 Visit the numerically previous category in this todo file.
If the current category is the highest numbered, visit the first
category.
(defalias 'todo-backward-category #[nil "\300\301!\207" [todo-forward-category t] 2 (#$ . 26430) nil])
#@960 Prompt for a category in a todo file and jump to it.

With non-nil FILE (interactively a prefix argument), prompt for a
specific todo file and choose (with TAB completion) a category
in it to jump to; otherwise, choose and jump to any category in
either the current todo file or a file in
`todo-category-completions-files'.

Also accept a non-existing category name and ask whether to add a
new category by that name; on confirmation, add it and jump to
that category, and if option `todo-add-item-if-new-category' is
non-nil (the default), then prompt for the first item.

In noninteractive calls non-nil WHERE specifies either the goal
category or its file.  If its value is `archive', the choice of
categories is restricted to the current archive file or the
archive you were prompted to choose; this is used by
`todo-jump-to-archive-category'.  If its value is the name of a
category, jump directly to that category; this is used in Todo
Categories mode.
(defalias 'todo-jump-to-category #[(&optional file where) " \204\306 \207	\302=\211?\205	\211\2054\f\2054\307\310\"\311U\2054\307\312\"\311U\2054\307\313\"\311U?\205H
\203F\314!\315P\202HG?\205^\316\317\n\205[\302#\205kGV \206t@!\204Ar\320\321\"q\210
\203\216\322 \210\323\324 \325!q\"\210\"\204\241\"\326!!\210\327 \210eb\210 \205\263\330 .	\207" [todo-files-function where archive cat todo-skip-archived-categories goto-archive todo-show todo-get-count todo 0 done archived file-name-sans-extension ".toda" todo-read-category "Jump to category: " find-file-noselect nowarn todo-archive-mode set-window-buffer selected-window find-buffer-visiting todo-category-number todo-category-select todo-insert-item--basic todo-current-todo-file file0 todo-categories len file cat+file todo-add-item-if-new-category add-item category todo-global-current-todo-file] 5 (#$ . 26674) "P"])
#@694 Move point down to the beginning of the next item.
With positive numerical prefix COUNT, move point COUNT items
downward.

If the category's done items are hidden, this command also moves
point to the empty line below the last todo item from any higher
item in the category, i.e., when invoked with or without a prefix
argument.  If the category's done items are visible, this command
called with a prefix argument only moves point to a lower item,
e.g., with point on the last todo item and called with prefix 1,
it moves point to the first done item; but if called with point
on the last todo item without a prefix argument, it moves point
the the empty line above the done items separator.
(defalias 'todo-next-item #[(&optional count) "\203	\302W\203\303\304!\207\203\305	!\207\305 \207" [current-prefix-arg count 1 user-error "The prefix argument must be a positive number" todo-forward-item] 2 (#$ . 28586) "p"])
#@488 Move point up to start of item with next higher priority.
With positive numerical prefix COUNT, move point COUNT items
upward.

If the category's done items are visible, this command called
with a prefix argument only moves point to a higher item, e.g.,
with point on the first done item and called with prefix 1, it
moves to the last todo item; but if called with point on the
first done item without a prefix argument, it moves point the the
empty line above the done items separator.
(defalias 'todo-previous-item #[(&optional count) "\302 \303V\205\203	\303W\203\304\305!\207\203\306	!\207\306 \207" [current-prefix-arg count line-number-at-pos 1 user-error "The prefix argument must be a positive number" todo-backward-item] 2 (#$ . 29520) "p"])
#@47 Hide item numbering if shown, show if hidden.
(defalias 'todo-toggle-prefix-numbers #[nil "\212\214eb\210\306\307!\310	\311\312#\211\313\314\"\315\232?
\316=\203$\317 \202&\320 .\207" [ov todo-done-string-start show-done todo-show-with-done todo-number-prefix major-mode todo-get-overlay prefix re-search-forward nil t overlay-get before-string "1 " todo-filtered-items-mode todo-prefix-overlays todo-category-select] 5 (#$ . 30287) nil])
#@61 Show hidden or hide visible done items in current category.
(defalias 'todo-toggle-view-done-items #[nil "\304\305\306 \"\307U\203\310\311!\207`eb\210\312	\313\314#\211?\315 \210b\210\n?\205=eb\210\312	\313\314#\316\n!\204;\317 \202=b+\207" [opoint todo-done-string-start shown todo-show-with-done todo-get-count done todo-current-category 0 message "There are no done items in this category." re-search-forward nil t todo-category-select pos-visible-in-window-p recenter] 5 (#$ . 30740) nil])
#@57 Switch between displaying only done or only todo items.
(defalias 'todo-toggle-view-done-only #[nil "?\301 \207" [todo-show-done-only todo-category-select] 1 (#$ . 31251) nil])
#@58 Highlight or unhighlight the todo item the cursor is on.
(defalias 'todo-toggle-item-highlighting #[nil "\302\303!\210\304>\205	\203\301\305!\207\301\306!\207" [major-mode hl-line-mode require hl-line (todo-mode todo-archive-mode todo-filtered-items-mode) -1 1] 2 (#$ . 31436) nil])
#@157 Hide or show item date-time headers in the current file.
With done items, this hides only the done date-time string, not
the the original date-time string.
(defalias 'todo-toggle-item-header #[nil "\212\214eb\210\304\305!\211\203\306\307\310 T\311\305$\202N~\210eb\210m?\205N\312	\313\n\314\315!\316\260\317\320#\203H\321\322\224\322\225\317\320$\323\311\305#\210\323\324\325#\210\326 \210\202+\207" [ov todo-item-start diary-time-regexp todo-nondiary-end todo-get-overlay header remove-overlays 1 buffer-size todo re-search-forward "\\( " "\\)?" regexp-quote "? " nil t make-overlay 0 overlay-put display "" todo-forward-item] 8 (#$ . 31731) nil])
#@241 Name and initialize a new todo file.
Interactively, prompt for a category and display it, and if
option `todo-add-item-if-new-category' is non-nil (the default),
prompt for the first item.
Noninteractively, return the name of the new file.
(defalias 'todo-add-file #[nil "\305\306!\307\310\311	!\301\"!r\312	!q\210\313 \210\314ed	\315\316\315\317&\210\320	!\210)\n \321 \210\322\323!\203D\324\325 \326	!q\"\210	\327 \202E	*\207" [prompt file todo-files-function todo-files todo-current-todo-file "Enter name of new todo file (TAB or SPC to see current names): " todo-read-file-name todo-absolute-file-name todo-validate-name todo-short-file-name get-buffer-create erase-buffer write-region nil nomessage t kill-buffer todo-reevaluate-filelist-defcustoms called-interactively-p any set-window-buffer selected-window find-file-noselect todo-show] 8 (#$ . 32400) nil])
#@251 Rename the current todo file.
With prefix ARG, prompt for a todo file and rename it.
If there are corresponding archive or filtered items files,
rename these accordingly.  If there are live buffers visiting
these files, also rename them accordingly.
(defalias 'todo-rename-file #[(&optional arg) "\203\f\306\307\310\311#\206\312 \313	!\306\314!\313!\315
\311\316\317\n!\320Q\311$\211\310\211\203\257@\313! \321\311\"!\322!\"\323\"!#\324\317\n! \"\203\245\325\f\311\211 $$
$!Q%\326%\"\210\"\203\244r\"q\210\327%\311\211#\210!\330\235\203\230\312 &'\331 !(\202\243\332\333\317\n!\f##!\210)*,A\211\2042*) *)\311!+,\n\230\203\305\f,-	\230\203\317-\334 -\207" [arg oname soname nname snname todo-directory todo-read-file-name "Choose a file to rename: " nil t buffer-file-name todo-short-file-name "New name for this file: " directory-files ".*" regexp-quote ".*\\.tod[aorty]$" file-name-extension find-buffer-visiting buffer-name string-match replace-match rename-file set-visited-file-name (".todo" ".toda") todo-current-category rename-buffer replace-regexp-in-string todo-reevaluate-filelist-defcustoms files f --dolist-tail-- sfname fext fbuf fbname snfname nfname todo-current-todo-file todo-mode-line-function mode-line-buffer-identification todo-files-function todo-files todo-archives todo-default-todo-file todo-global-current-todo-file] 7 (#$ . 33282) "P"])
#@214 Delete the current todo, archive or filtered items file.
If the todo file has a corresponding archive file, or vice versa,
prompt whether to delete that as well.  Also kill the buffers
visiting the deleted files.
(defalias 'todo-delete-file #[nil "\306 	\307=	\310=	\311=\312!/
\n\203\313\202#\205#\314Q0p10\2052\3150!2\316\n\203=\317\202J\203E\320\202J\f\205J\321\322Q3\323\n\203W\320\202\\\205\\\317\3242\205c\325R4\326\3273
\"!\2115\205\203\3300!\2042\205\203\3264!65\205u\330!\203\224\331!\210\3327\"7\3331!\2106\203\306\3300!\203\261\3310!\210\33207\"72\203\3332!\210\202\3340!\317\232\203r2\206\331\3350!q\210\212\214~\210eb\210\336\337\340 \341 \"!\34289\343\3449\"\210\340 \341 |\210\3459p\"\210,\346 \2102\204
\333 \210): ;:\347!<
=\230\204,6\2033
=\230\2033\312;@!=>\230\204G6\203J0>\230\203J\342>\350 \210\351\n\203V\352\202[\205[\353\3546\205q\355\n\203j\320\202o\205o\317\324Q\356R
\".\f\207" [file1 major-mode todo archive filtered file1-sn buffer-file-name todo-mode todo-archive-mode todo-filtered-items-mode todo-short-file-name ".toda" ".todo" find-buffer-visiting "Delete " "todo" "archive" "filtered items" " file \"%s\"? " "Also delete the corresponding " " file " "and kill the buffer visiting it? " yes-or-no-p format file-exists-p delete-file delete kill-buffer file-name-extension find-file-noselect read buffer-substring-no-properties line-beginning-position line-end-position nil mapc #[(x) "A\301\302I\207" [x 3 0] 3] prin1 todo-set-categories t todo-reevaluate-filelist-defcustoms message "Todo" "Archive" " file \"%s\" " "and its " "deleted" todo-directory file2 buf1 buf2 prompt1 prompt2 delete1 delete2 todo-visited buffer-read-only sexp todo-files-function todo-files todo-archives todo-default-todo-file todo-global-current-todo-file] 7 (#$ . 34721) nil])
#@43 Name of current buffer in Todo Edit mode.
(defvar todo-edit-buffer "*Todo Edit*" (#$ . 36626))
#@519 Put current buffer in `todo-edit-mode'.
This makes the entire file visible and the buffer writable and
you can use the self-insertion keys and standard Emacs editing
commands to make changes.  To return to Todo mode, type
\[todo-edit-quit].  This runs a file format check, signaling
an error if the format has become invalid.  However, this check
cannot tell if the number of items changed, which could result in
the file containing inconsistent information.  For this reason
this command should be used with caution.
(defalias 'todo-edit-file #[nil "~\210\300 \210\301 \210\302\303\304\305\306\307!\"\"\207" [todo-edit-mode remove-overlays display-warning todo format "\nType %s to return to Todo mode.\n\nThis also runs a file format check and signals an error if\nthe format has become invalid.  However, this check cannot\ntell if the number of items or categories changed, which\ncould result in the file containing inconsistent information.\nYou can repair this inconsistency by invoking the command\n`todo-repair-categories-sexp', but this will revert any\nrenumbering of the categories you have made, so you will\nhave to renumber them again (see `(todo-mode) Reordering\nCategories')." substitute-command-keys "\\[todo-edit-quit]"] 6 (#$ . 36728) nil])
#@532 Add a new category to a todo file.

Called interactively with prefix argument FILE, prompt for a file
and then for a new category to add to that file, otherwise prompt
just for a category to add to the current todo file.  After
adding the category, visit it in Todo mode and if option
`todo-add-item-if-new-category' is non-nil (the default), prompt
for the first item.

Non-interactively, add category CAT to file FILE; if FILE is nil,
add CAT to the current todo file.  After adding the category,
return the new category number.
(defalias 'todo-add-category #[(&optional file cat) "\306\211\n\203\nG\307V\203;\203\206\f\2029\310\311\312\313\314!\205'#\211@\313\314!\2037	A\2028\315!\210\316\317\307\"
GT\306\320
\nBC\"~\210db\210\212\n\321\322\261\210)\323 \210\313\314!\203\201\324 \210\205\203\325 \202\203-\207" [file0 catfil cat file todo-current-todo-file todo-categories nil 0 todo-read-category "Enter a new category name: " add called-interactively-p any find-file make-vector 4 append "\n\n" "\n" todo-update-categories-sexp todo-category-select todo-insert-item--basic buffer-read-only num counts todo-category-beg todo-category-done todo-category-number todo-add-item-if-new-category] 6 (#$ . 37997) "P"])
#@120 Rename current todo category.
If this file has an archive containing this category, rename the
category there as well.
(defalias 'todo-rename-category #[nil "\306 \307\310\311\"!\312	\313\"\n\314!\315P\316C\317\320\"\321U?\205&\fC\"\211\322 \211!\203x!@ r\323 !q\210\322\"\324 #\212\214\325#\"	\240\210~\210eb\210\326 \210\327\330$!\331\330!\332R\322\333#\210\334	\333\211\322\335%\210,!A\211!\2042-\336 \210*\212\337 )\207" [cat new todo-current-todo-file ofile archive buffers todo-current-category read-from-minibuffer format "Rename category \"%s\" to: " todo-validate-name category file-name-sans-extension ".toda" append todo-get-count archived 0 nil find-file-noselect todo-set-categories assoc todo-update-categories-sexp re-search-forward regexp-quote "\\(" "\\)\n" t replace-match 1 force-mode-line-update todo-category-select buf --dolist-tail-- buffer-read-only todo-categories todo-category-beg] 7 (#$ . 39273) nil])
#@141 Delete current todo category provided it contains no items.
With prefix ARG delete the category even if it does contain
todo or done items.
(defalias 'todo-delete-category #[(&optional arg) "\306 \307\303\n\"\307\304\n\"\307\305\n\"+\204.\310V\204%\f\310V\203.\311\312\313\314!\"\202\322,G\315U\203<\316\317!\202X
\310V\203J\316\320\321!!\202X\316\322\n\323+\205T\324\325\260!\205\322~\210\326\327\330\331-\nP!\332Q\326\333#\334\335\331-!\336Q\326\333#\203~\315\224\202d./0\337/.\"\210/.|\210,G\315U\203\257\340 \210\341\326!\210\342	!\210\343 \210\311\344	\"\202\321\345\346\n,\",\",\347 \210\3501,G\"T1\351 \210eb\210\311\352\n\"+-\207" [todo-current-todo-file file cat todo done archived todo-current-category todo-get-count 0 message "%s" substitute-command-keys "To delete a non-empty category, type C-u \\[todo-delete-category]." 1 todo-y-or-n-p "This is the only category in this file; deleting it will also delete the file.\nDo you want to proceed? " format-message "This category has archived items; the archived category will remain\nafter deleting the todo category.  Do you still want to delete it\n(see `todo-skip-archived-categories' for another option)? " "Permanently remove category \"" "\"" " and all its entries" "? " nil re-search-backward "^" regexp-quote "\n" t re-search-forward "\n\\(" ".*\n\\)" remove-overlays todo-reevaluate-filelist-defcustoms set-buffer-modified-p delete-file kill-buffer "Deleted todo file %s." delete assoc todo-update-categories-sexp mod todo-category-select "Deleted category %s." arg todo-categories todo-category-beg end beg buffer-read-only todo-category-number] 6 (#$ . 40236) "P"])
#@235 Move current category to a different todo file.
If the todo file chosen does not exist, it is created.
If the current category has archived items, also move those to
the archive of the file moved to, creating it if it does not exist.
(defalias 'todo-move-category #[nil "G\306V\204
\307\310!\205	\311 \312\313!\314\n!\315P\316\nC\317\320\"\321U?\205+
C\"@\322A\f\323\n!\232\203A\312\324!\211\2022\fB\235\204ir\325\f!q\210\326 \210\327ed\f\322\330\322\331&\210\332\f!\210)C B\333 \210@\322D\211E\203E@Dr\334D!q\210\335\336 !\337\232\203\222\340\341!\204\222\341 \210~\210db\210\342\343\344FP!\345Q\322\331#G\346\343\344F!P\322\331\347$\203\271\321\224\202\272dH\350GH\"I\351\"AJ\322Kr\334DC\331!\235\203\342\314\f!\315P\202\343\f!q\210\335\336 !\337\232\203\373\340\341!\204\341 \210\202\340\352!\204\352 \210\353\f!L\354\355L\"\354\356\"\357QM\322K~\210db\210Ic\210\351\"\203B\323\336 !C\331!\235\204B\360M!A\361A\362\"AA\203ddb\210\342\343\344F!\363\344!\364\260\322\331#\210\365A\322\211\211\306%\210\316A\206lJBC\"eb\210\366\367!\203\204\370 \371 |\210\202\212\372c\210eb\210\373p\"\210+\374\336 !\204\232\375 \210\376A\206\241!\210\377 \210)\201NGH\"\210GH|\210eb\210\322y\210m\203\334\201O\322!\210\201P	!\210\332 \210	B\235\203\371\333 \210\202\371\201Q\351\"\"\201R \210>GV\203\366\306>\377 \210.EA\211E\204t*\201S\201T \334\f!q\".\207" [todo-categories todo-current-todo-file ofile cat nfile archive 1 todo-y-or-n-p "This is the only category in this file; moving it will also delete the file.\nDo you want to proceed? " todo-current-category todo-read-file-name "Todo file to move this category to: " file-name-sans-extension ".toda" append todo-get-count archived 0 nil file-truename "Choose a file distinct from this file: " get-buffer-create erase-buffer write-region nomessage t kill-buffer todo-reevaluate-filelist-defcustoms find-file-noselect file-name-extension buffer-file-name "toda" derived-mode-p todo-archive-mode re-search-backward "^" regexp-quote "$" re-search-forward 2 buffer-substring-no-properties assoc todo-mode todo-short-file-name format "Todo file \"%s\" already has " "the category \"%s\";\n" "enter a new category name: " read-from-minibuffer todo-validate-name category "\\(" "\\)$" replace-match looking-at "((\"" line-beginning-position line-end-position "\n" prin1 file-exists-p save-buffer todo-category-number todo-category-select buffers new todo-files todo-files-function buf --dolist-tail-- todo-category-beg beg end content counts buffer-read-only nfile-short prompt remove-overlays set-buffer-modified-p delete-file delete todo-update-categories-sexp set-window-buffer selected-window] 9 (#$ . 41922) nil])
#@764 Merge current category into another existing category.

With prefix argument FILE, prompt for a specific todo file and
choose (with TAB completion) a category in it to merge into;
otherwise, choose and merge into a category in either the
current todo file or a file in `todo-category-completions-files'.

After merging, the source category's todo and done items are
appended to the chosen goal category's todo and done items,
respectively.  The goal category becomes the current category,
and the source category is deleted.

If both the source and goal categories also have archived items,
they are also merged.  If only the source category has archived
items, the goal category is added as a new category to the
archive file and the source category is deleted.
(defalias 'todo-merge-category #[(&optional file) "\306 \307\310\311#\211@\fA/\312	!\313P0\312/!\313P1\314\315!2\3163r\317\320	!!q\210~\210\3164\321\322\3235!P\316\324#\210\325 6\316y\210\325 7\326\322\3238!P\316\324#\210\316y\210\325 9\327y\210\325 :\326\322\3235!P\316\324#\203{\330\224b\210\325 \202}\331 ;\3327:\"	\3329;\"\314\311\n\"<\314\333\n\"=r\317\320/!!q\210\334\335!\204\255\335 \210~\210eb\210\3164	G\330U\204\350\326\322\3235
P!\336Q\316\324#\210\326\322\3238!P\316\324#\210\337y\210\325 3	c\210\340\311<
#\210G\330U\204\326\322\3235!P\316\324#\203\330\224\202db\210	G\330U\203\325 3c\210\340\333=
#\210)\341 \210)\3426;\"\2106;|\210\343\344\n>\">\">\341 \210.>GV\203H\345.\346 \210\347\350679:;\257\"\210.2\330V\203r\317\3200!!q\210~\210eb\210\3164\326\322\3235\nP!\336Q\316\324#\205\213\330\224b\210\325 6\326\322\3235!P\316\324#\203\237\330\224\202\240d;6b\210\316y\210\332`;\"?r\317\3201!!q\210\326\322\3235
P!\336Q\316\324#\205\317\330\224b\210\325 \211@\203\347\326\322\3235!P\316\324#\203\347\330\224\202\350db\210@\204\364\351\316
\"\210?c\210\341 \210*\3426;\"\2106;|\210\352\324!>\341 \210-\353\354 \355/!q\"\2102\330U\204-\340\3152
#\210\341 \210\356
!\210\314\311
\"\330UA\346 \2103b\210)3\316\211\223.	\207" [todo-current-todo-file tfile cat file cat+file goal todo-current-category todo-read-category "Merge into category: " todo file-name-sans-extension ".toda" todo-get-count archived nil get-buffer find-file-noselect re-search-backward "^" regexp-quote t point-marker re-search-forward -2 0 point-max-marker buffer-substring-no-properties done derived-mode-p todo-mode "$" -1 todo-update-count todo-update-categories-sexp remove-overlays delete assoc 1 todo-category-select mapc #[(m) "\301\211\223\207" [m nil] 3] todo-add-category todo-make-categories-list set-window-buffer selected-window get-file-buffer todo-category-number gfile tarchive garchive archived-count here buffer-read-only todo-category-beg cbeg tbeg todo-category-done dbeg tend cend todo-count done-count todo-categories carch gbeg todo-show-with-done] 8 (#$ . 44700) "P"])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\307&\210\300\312\302\313\304\305\306\307&\210\300\314\315\316\304\305\306\307&\210\300\317\320\321\304\322\306\307&\210\300\323\324\325\304\326\327\330\306\307&	\210\300\331\332\333\304\334\335\336\327\337\306\307&\210\300\340\341\342\304\343\306\307&\207" [custom-declare-variable todo-include-in-diary nil "Non-nil to allow new todo items to be included in the diary." :type boolean :group todo-edit todo-diary-nonmarking "Non-nil to insert new todo diary items as nonmarking by default.\nThis appends `diary-nonmarking-symbol' to the front of an item on\ninsertion provided it doesn't begin with `todo-nondiary-marker'." todo-always-add-time-string "Non-nil adds current time to a new item's date header by default.\nWhen the todo insertion commands have a non-nil \"maybe-notime\"\nargument, this reverses the effect of\n`todo-always-add-time-string': if t, these commands omit the\ncurrent time, if nil, they include it." todo-use-only-highlighted-region t "Non-nil to enable inserting only highlighted region as new item." todo-default-priority 'first "Default priority of new and moved items." (choice (const :tag "Highest priority" first) (const :tag "Lowest priority" last)) todo-item-mark "*" "String used to mark items.\nTo ensure item marking works, change the value of this option\nonly when no items are marked." (string :validate (lambda (widget) (when (string= (widget-value widget) todo-prefix) (widget-put widget :error (format-message "Invalid value: must be distinct from `todo-prefix'")) widget))) :set #[(symbol value) "\302\303	\304\305#\"\207" [symbol value custom-set-default propertize face todo-mark] 6] todo-comment-string "COMMENT" "String inserted before optional comment appended to done item." string :initialize custom-initialize-default todo-reset-comment-string todo-undo-item-omit-comment 'ask "Whether to omit done item comment on undoing the item.\nNil means never omit the comment, t means always omit it, `ask'\nmeans prompt user and omit comment only on confirmation." (choice (const :tag "Never" nil) (const :tag "Always" t) (const :tag "Ask" ask))] 12)
#@318 Mark item with `todo-item-mark' if unmarked, otherwise unmark it.
With positive numerical prefix argument N, change the marking of
the next N items in the current category.  If both the todo and
done items sections are visible, the sequence of N items can
consist of the the last todo items and the first done items.
(defalias 'todo-toggle-mark-item #[(&optional n) "\306 \205\241\307V\204
\307\3102\241\311	\nW\205\237\312 \313\f\"\314
!\204-\315 \210\316\317!\320\321\"\322 \203a\323\321\307\324O#\210
A\307U\203X\325\f\"\202
\211AS\241\210\202\323\321P#\210
\203y
\211AT\241\210\202\307B\fB,\326 \210\314\327!\203\230m\203\225\330\310\324\"\210\202\230\326 \210	T\211\202*0\207" [n i --dotimes-limit-- cat todo-categories-with-marks marks todo-item-string 1 end 0 todo-current-category assoc looking-at todo-item-start todo-get-overlay prefix overlay-get before-string todo-marked-item-p overlay-put nil assq-delete-all todo-forward-item "^$" throw ov pref todo-item-mark] 7 (#$ . 49843) "p"])
#@64 Mark all visible items in this category with `todo-item-mark'.
(defalias 'todo-mark-category #[nil "\306 \307	\"\212eb\210m?\205N\310\311!\312\313\"\314 \204:\315\313
\fP#\210\n\2034\n\211AT\241\210\202:\316B	B*\317 \210\320\321!\203\fm\204\f\317 \210\202\f+\207" [cat todo-categories-with-marks marks ov pref todo-item-mark todo-current-category assoc todo-get-overlay prefix overlay-get before-string todo-marked-item-p overlay-put 1 todo-forward-item looking-at "^$"] 5 (#$ . 50895) nil])
#@66 Remove `todo-item-mark' from all visible items in this category.
(defalias 'todo-unmark-category #[nil "\305 \306	\"\212eb\210m\2042\307\310!\211\205\311\312\"\313 \203+\314\312\f\315\316O#\210\317 \210*\202\f)\320\n	\"\211*\207" [cat todo-categories-with-marks marks ov pref todo-current-category assoc todo-get-overlay prefix overlay-get before-string todo-marked-item-p overlay-put 1 nil todo-forward-item delq] 7 (#$ . 51409) nil])
#@64 Helper variable for setting item date from the Emacs Calendar.
(defvar todo-date-from-calendar nil (#$ . 51864))
#@853 Choose an item insertion operation and carry it out.
This inserts a new todo item into a category.

With no prefix argument ARG, add the item to the current
category; with one prefix argument (`C-u'), prompt for a category
from the current todo file; with two prefix arguments (`C-u
C-u'), first prompt for a todo file, then a category in that
file.  If a non-existing category is entered, ask whether to add
it to the todo file; if answered affirmatively, add the category
and insert the item there.

There are a number of item insertion parameters which can be
combined by entering specific keys to produce different insertion
commands.  After entering each key, a message shows which have
already been entered and which remain available.  See
`(todo-mode) Inserting New Items' for details of the parameters,
their associated keys and their effects.
(defalias 'todo-insert-item #[(&optional arg) "\303\304\305	C\n#\207" [todo-insert-item--keys-so-far arg todo-insert-item--parameters "i" todo-insert-item--next-param nil] 4 (#$ . 51984) "P"])
#@55 Function implementing the core of `todo-insert-item'.
(defalias 'todo-insert-item--basic #[(&optional arg diary-type date-type time where) " \204\306 \207	\305=	\304=	\303=\307\211\203A@\310=\204(\311\312!\210\202>\313 \2034\311\314!\210\202>\315\316!\203>\311\317!\210\320 \f\203W\307AB\203R\321 \204V\311\322!\210)pC\323 D`E@\310=FG\324\232\203t\325\326!\202\231G\327\232\203\203\325\326\307\330#\202\231\323 H\206\230I\203\224J\206\230\331K!B\211L@MLA
\203\255\332 \202\275\f\203\272\333\334 \335 \"\202\275\336\337!NO\340=\203\313\341 \202	O\342=\203\327\343 \202	O\344=\203\353\345P\346 \206	\347 \202	O;\203\350QO\"\203OP\346 \202	\351\352 \345\211#RS\203\353 \206T\205\354 \355\356OU\307P\357\360\"\210\361\362 \363!q\"\210M\204=\323 MHJ\204JHJ\307F\205UMD\232?\307\211VWXY
\204\267Z\203n[\203s\\\202\202Z\364=\205\202]?\205\202^RU\205\226UG\365U?\205\226\366UPZ\205\236[??\205\244_\366N\260N\367\370\371N\307\211\372&N\373\216deZ\374 U\204\313\203\323X\203\323\375M!\210\376 \210\212eb\210\315`!)\203\345\345W\377 \210\203\201a \204\372X\204\372W\203\375eb\210\201bN!\210\202\201cNM\345#\210\345V)\201d\201e\372\"\210\n\204,Z\204,[\2035\201d\201f\372\"\210\201g .\207" [todo-files-function where diary-item here region copy todo-show nil todo-mode user-error "You must be in Todo mode to copy a todo item" todo-done-item-p "You cannot copy a done item as a new todo item" looking-at "^$" "Point must be on a todo item to copy it" todo-diary-item-p use-region-p "There is no active region" todo-current-category (4) todo-read-category "Insert in category: " (16) file todo-absolute-file-name todo-item-string buffer-substring-no-properties region-beginning region-end read-from-minibuffer "Todo item: " date todo-read-date dayname todo-read-dayname calendar t todo-set-date-from-calendar keyboard-quit string-match calendar-date-string calendar-current-date todo-read-time current-time-string 11 16 find-file-noselect nowarn set-window-buffer selected-window find-buffer-visiting nonmarking 0 " " replace-regexp-in-string "\\(\n\\)[^[:blank:]]" "\n	" 1 #[nil "\204&\306\307 	q\"\210\n\203#\n\232\204\310\n!\210\311 \210\f\203#\312 \210
b\210\205,\313 \207" [item-added obuf ocat cat done-only opoint set-window-buffer selected-window todo-category-number todo-category-select todo-toggle-view-done-only recenter] 3] buffer-size todo-category-number todo-category-select todo-toggle-view-done-only major-mode use-empty-active-region todo-use-only-highlighted-region obuf ocat opoint todo-mm arg todo-current-todo-file todo-show-current-file todo-global-current-todo-file todo-default-todo-file cat+file cat new-item date-type todo-date-from-calendar todo-date-pattern date-string time todo-always-add-time-string time-string item-added done-only called-from-outside buffer-read-only diary-type todo-include-in-diary todo-nondiary-start todo-diary-nonmarking diary-nonmarking-symbol todo-nondiary-end todo-done-string-start todo-done-item-section-p todo-insert-with-overlays todo-set-item-priority todo-update-count todo diary todo-update-categories-sexp] 8 (#$ . 53036)])
#@45 Return string of date chosen from Calendar.
(defalias 'todo-set-date-from-calendar #[nil ";\203\305	\"\203\207\205A\306\307 \210)\310\311\312#\210\310\313\314#\210\315\316!\210\317 \210\320\216\321 \f\232\205@\322\323\324!\324\211#\325 \210)\207" [todo-date-from-calendar todo-date-pattern calendar-view-diary-initially-flag calendar-mode-map calendar-buffer string-match nil calendar define-key [remap newline] exit-recursive-edit [remap calendar-exit] #[nil "\300 \210\301 \207" [calendar-exit exit-recursive-edit] 1 nil nil] message "Put cursor on a date and type <return> to set it." recursive-edit #[nil "\302\303\304#\210\302\305\304#\210\306 \307U\204\310 \210	;\205	\207" [calendar-mode-map todo-date-from-calendar define-key [remap newline] nil [remap calendar-exit] recursion-depth 0 exit-recursive-edit] 4] buffer-name calendar-date-string calendar-cursor-to-date t calendar-exit] 4 (#$ . 56297)])
#@366 Prompt for and insert a new item with date selected from calendar.
Invoked without prefix argument ARG, insert the item into the
current category, without one prefix argument, prompt for the
category from the current todo file or from one listed in
`todo-category-completions-files'; with two prefix arguments,
prompt for a todo file and then for a category in it.
(defalias 'todo-insert-item-from-calendar #[(&optional arg) "\302\303\304!\304\211#\305 \210\306	\307#\207" [todo-date-from-calendar arg calendar-date-string calendar-cursor-to-date t calendar-exit todo-insert-item--basic nil] 4 (#$ . 57234) "P"])
(define-key calendar-mode-map "it" 'todo-insert-item-from-calendar)
#@129 Delete at least one item in this category.
If there are marked items, delete all of these; otherwise, delete
the item at point.
(defalias 'todo-delete-item #[nil "\306\307\216\310 \311	\n\"\211?\205\312 \203\313\314!\2026\f\2056\315\212\316 )\212\317 )\"\320\321\322#\210\313\323!\306$
\205\274\203Eeb\210\3242\255m?\205\254\203W\325 \204[\f\203\246\326 \203h\327\324\330\"\210\202x\327\331\330	#\210\332 \203x\327\333\330\"\210\203\200\334!\210\335 \210\f\203\230n\203\230l\203\230edW\203\230\336 \210\f\203I\337\324\306\211\"\210\202I\340 \210\202I0\210\203\267\341	\n\"\342 \210\343 .\207" [ov cat todo-categories-with-marks marked item answer nil #[nil "\205\301!\207" [ov delete-overlay] 2] todo-current-category assoc todo-item-string todo-y-or-n-p "Permanently delete all marked items? " make-overlay todo-item-start todo-item-end overlay-put face todo-search "Permanently delete this item? " done todo-marked-item-p todo-done-item-p todo-update-count -1 todo todo-diary-item-p diary delete-overlay todo-remove-item todo-backward-item throw todo-forward-item assq-delete-all todo-update-categories-sexp todo-prefix-overlays buffer-read-only] 5 (#$ . 57924) nil])
#@68 Choose an editing operation for the current item and carry it out.
(defalias 'todo-edit-item #[(&optional arg) "\305\306 \"\307 \203	\204\310\n!\202\"	\204\311 \205\"\310\f\")\207" [todo-categories-with-marks marked todo-edit-done-item--param-key-alist todo-edit-item--param-key-alist arg assoc todo-current-category todo-done-item-p todo-edit-item--next-key todo-item-string] 3 (#$ . 59146) "P"])
#@69 Function providing the text editing facilities of `todo-edit-item'.
(defalias 'todo-edit-item--text #[(&optional arg) "\306 \211\205\224`\307 \212\310 )\311\f
\312<\313\314=!\315\260\316 \317#\210`\nZT>?\320=?\321=?\322=\323>O@\204R\204R\203V\202[>\324OA?\325=\206l\326A\327\"G\330V\212\307 \210\311\331\314B!\332Q\317#)\211C\203\210\333\202\211\334D\324E\335 \203\235\204\262\204\262\335 ?\205\222?\203\262\204\262\205\222\204\274\203\212\307 \210\311\331\314B!\332Q\317#\203\363\203\341\336\337!\205\323\224\323\225|\202\340\341D\342\330!\330B\"\324\211\211\330%\202\203\376\343\344!\202\345B\346\341D!	b\210\310 \210\347\261)\202\222\203;FG\350\351 \352\353 G\"q\"\210\307 \310 }\210\354 \210\355\356\357\360!\")\202\222\203D\361\202F@\341\362\203UA>B\202YA\323B\"PH\203v\363\f
PH\"\204v\364\365H\"H\202b\366\367\370H\324\211\330&H	b\210\371 \210\372H!\210\373>!).
)\207" [full-item opoint start end todo-date-string-start todo-date-pattern todo-item-string todo-item-start todo-item-end re-search-forward "\\( " "\\)?" regexp-quote "?" line-end-position t include-header comment-edit comment-delete 0 nil multiline split-string "\n" 1 " \\[" ": \\([^]]+\\)\\]" "Edit comment: " "Enter a comment: " todo-done-item-p todo-y-or-n-p "Delete comment? " replace-match read-string match-string user-error "There is no comment to delete" " [" ": " "]" set-window-buffer selected-window make-indirect-buffer buffer-name todo-edit-mode message "%s" substitute-command-keys "Type \\[todo-edit-quit] to return to Todo mode.\n" "" "Edit: " string-match read-from-minibuffer "Item must start with a date: " replace-regexp-in-string "\\(\n\\)[^[:blank:]]" "\n	" todo-remove-item todo-insert-with-overlays move-to-column diary-time-regexp todo-nondiary-end item-beg arg header-string item todo-comment-string comment prompt buffer-read-only todo-edit-buffer buf new] 9 (#$ . 59561)])
#@411 Return from Todo Edit mode to Todo mode.
If the item contains hard line breaks, make sure the following
lines are indented by `todo-indent-to-here' to conform to diary
format.

If the whole file was in Todo Edit mode, check before returning
whether the file is still a valid todo file and if so, also
recalculate the todo file's categories sexp, in case changes were
made in the number or names of categories.
(defalias 'todo-edit-quit #[nil "\306 deZV\203M\307 \310\311 \312\fP\n\"\204\"\313\314\n\"\202\312	\307 \"\203;\315	\316\n\317\211\320&ed|\210\nc\210\321 \210p=?\205K\322\323 q\"+\207\324 \205\230\325 \210\326\327
!\330Q\"\331\332 \333 \"#\312\"#\"\203v\334\320#\"\202\213\335\"\317\336#\204\210\337\"\317\336#\205\213\334\320!$\340$!\210\341 \210eb+\207" [buf regex item todo-date-string-start todo-date-pattern todo-category-beg buffer-size buffer-string "\\(\n\\)[^[:blank:]]" buffer-base-buffer string-match read-from-minibuffer "Item must start with a date: " replace-regexp-in-string "\n	" nil 1 kill-buffer set-window-buffer selected-window todo-check-format todo-mode "^" regexp-quote "\\(.*\\)$" buffer-substring-no-properties line-beginning-position line-end-position match-string-no-properties re-search-backward t re-search-forward todo-category-number todo-category-select cat-beg curline cat] 7 (#$ . 61565) nil])
#@67 Function providing header editing facilities of `todo-edit-item'.
(defalias 'todo-edit-item--header #[(what &optional inc) "\306\307 \"\310\211\311	!\312\211\211\211\211\211\211\2114@ABCD\211E\203,\313 \210\212E\2037eb\204:\314 \210\3152m?\205\377E\203\\\316 \204\\\317 \210m\203H\320\315\312\"\210\202H\321F\322G\323H\324\325I!\326\260\327 \310#\210\330\331!J\330\332!K\330\333!L\330\334!M\330\335!N\330\336!O\330\337!PQR\340R\312\"STU\340U\312\"VP\205\264\341P!WN\203\315N\342\230\203\306\343\202\340\341N!\206\340SGMS\235\206\335MV\235GZTXO\205\363O\342\230?\205\363\341O!YD\203\232Z\344=\203\345 A\202\232Z\346=\203\347 [\350\216\351 *A\202\232Z\352=\203/\353\354 \310\211#A\202\232Z\302=\203=\355 A\202\232Z\356=\203_\347 [\357\216\360 *\211@G\361V\203\232\362@P@\202\232L\203kZ\363>\204\232Z\364=\203\236OMN\\\204\206\345\364!\202\231P\342\230\203\223\365\366!\202\231\367W	\\!4\202\232Z\304=\2034OP4\304]>\2038\\\204\276\345\304!\2024N\342\230\204\314X\343U\203\322\365\366!\2024X	\\\211^\370\246\211X\361U\203\347\370\202\353\371X!X^\370V\203\376W^\370\245\\\202^\331W\203\372W^\370\245\331#\202W\203\367W!\206P4)N\203.\367X!\2024UXSH\202\272\\\204C\345\304!\202\271N\342\230\204QX\343U\203W\365\366!\202\271X	\\\211^\370\246\211X\361U\203l\370\202p\371X!X^\370V\203\203W^\370\245\\\202\230^\331W\203\226\372W^\370\245\331#\202\230W\203\242\367W!\206\244P4)N\203\263\367X!\202\271UXSHX\343U\203\305\331\202\307XX\341!XW4\211\332U\2034\2114\361W\203\352\3714!S44\373\246\361U\2054\374\246\361U?\2064\375\246\361U)\203\376\202\377\fSH*V\2030\365\201bRXSHX\332U\203*W\202-\201c$\210)\202\232Z\303=\203\232P4NM\\\204T\345\303XW#\202\231O\342\230\203a\365\366!\202\231N\342\230\204oM\342\230\203\214Y	\\\211Y\201dV\203\205\365\201e!\202\231\367Y!\202\231W\206\232\354 $\332$8)W\201fXYWE\211$$\332$8)\312_\2114\361U\203\303\365\201g!\202f4\361V\203^4S_\201h$\211$\211$@)$\211$A@)$$\332$8)4\fS\201d_\\`\f\332V\203D`\201i\f\373_\\\201j\245Z`4\2114\361W\203\"\3714!S44\373\246\361U\205;4\374\246\361U?\206;4\375\246\361U)\203D`T``-_\201k__\373\245_\374\245[_\375\245%\202f\3714T!_\372$\211$\211$@)$\211$A@)$$\332$8)4\fS\201d_\\`\f\332V\203\330`\201i\f\373_\\\201j\245Z`4\2114\361W\203\266\3714!S44\373\246\361U\205\3174\374\246\361U?\206\3174\375\246\361U)\203\330`T``-_\201k__\373\245_\374\245[_\375\245\201l\211$\211$@)$\211$A@)$$\332$8)4\fS\201d_\\`\f\332V\203a`\201i\f\373_\\\201j\245Z`4\2114\361W\203?\3714!S44\373\246\361U\205X4\374\246\361U?\206X4\375\246\361U)\203a`T``-&+	\\!\211$@a4\342\230\204\367\332$8!4\f\203\213\367a!\202\222UaSH\367$A@!+L\204\266Z\201m>\203\266\201n\201o]\201c#AA\203\306\201pA\312\211\211\331%\210@\203\346K\203\336\201p@\312\211\211\332%\210\202\346\331\225b\210@c\210\312\211CD.E\203\371\317 \210\202>db\210\202>0.
\207" [todo-categories-with-marks inc dayname day month monthname assoc todo-current-category t prefix-numeric-value nil todo--user-error-if-marked-done-item todo-item-start end todo-marked-item-p todo-forward-item throw re-search-forward "\\(?1:" "\\)\\(?2: " "\\)?" regexp-quote "?" line-end-position match-string-no-properties 1 2 5 6 7 8 9 append string-to-number "*" 13 date todo-read-date calendar match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] todo-set-date-from-calendar today calendar-date-string calendar-current-date todo-read-dayname time #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] todo-read-time 0 " " (year month day) year user-error "Cannot increment *" number-to-string 12 abs - 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] ntime ndate buffer-read-only todo-date-from-calendar first marked todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end odate otime odayname omonthname omonth oday oyear todo-month-name-array tmn-array mlist todo-month-abbrev-array tma-array mablist yy mm dd what save-match-data-internal current-prefix-arg calendar-date-display-form mminc offset-years day-of-year adjmm "%s %s does not have %s days" "" 31 "A month cannot have more than 31 days" calendar-gregorian-from-absolute "There was no year zero" + 23 10 365 (12 31 -1) (year month day) mapconcat eval replace-match] 13 (#$ . 62938)])
#@66 Function providing diary marking facilities of `todo-edit-item'.
(defalias 'todo-edit-item--diary-inclusion #[(&optional nonmarking) "\306\307\310 \"	\203\311 \210\3122\321\212	\203eb\210m?\205\317	\203)\313 \203\300\314 \212\315 )\212\316\f!\206;\317\f!)\203y\320\321!!\203R\322\323!\210\202\277\320\321!!\203r\212\322\323!\210\324 
T\325#\210\322\323!\210\326\327\330\"\210)c\210\202\277\320\321!!\203\232\322\323!\210\324 
T\325#\210\322\323!\210\326\327\330\"\210\202\277
\203\277\320\321!!\203\256\322\323!\210
Sc\210
Tb\210 c\210\326\327\331\"\210+	\204\311\332\312\306\"\210\333 \210\202)0\210*\334 \207" [todo-categories-with-marks marked buffer-read-only beg lim end nil assoc todo-current-category todo--user-error-if-marked-done-item stop todo-marked-item-p todo-item-start todo-item-end todo-time-string-matcher todo-date-string-matcher looking-at regexp-quote replace-match "" search-forward t todo-update-count diary 1 -1 throw todo-forward-item todo-update-categories-sexp nonmarking diary-nonmarking-symbol todo-nondiary-start todo-nondiary-end] 4 (#$ . 67592)])
#@112 Make all items in this category diary items.
With prefix ARG, make all items in this category non-diary
items.
(defalias 'todo-edit-category-diary-inclusion #[(arg) "\212eb\210\306\307!\306\310!\311\3122\251m\204\204\313 \203#\314\312\311\"\210\202~\315 \212\316 )\212\317\f!\2065\320\f!)\203d\321\322!!\204}\321\322!!\203U\323\324!\210
Sc\210
Tb\210c\210\202}\321\322!!\203}\323\324!\210\325
T\326#\210\323\324!\210+\327 \210\202\203\217	\330U\202\222	\nU\204\246\331\310\203\241	[\202\244\n	Z\"\210\332 0,\207" [buffer-read-only diary-count todo-count beg lim end todo-get-count todo diary nil stop todo-done-item-p throw todo-item-start todo-item-end todo-time-string-matcher todo-date-string-matcher looking-at regexp-quote replace-match "" search-forward t todo-forward-item 0 todo-update-count todo-update-categories-sexp arg todo-nondiary-start diary-nonmarking-symbol todo-nondiary-end] 4 (#$ . 68723) "P"])
#@157 Add `diary-nonmarking-symbol' to all diary items in this category.
With prefix ARG, remove `diary-nonmarking-symbol' from all diary
items in this category.
(defalias 'todo-edit-category-diary-nonmarking #[(arg) "\212eb\210\304\3052Im?\205H\306 \203\307\305\304\"\210\202\n\310\311	!!\204B\n\2037\310\311!!\203B\312\313!\210\202B\310\311!!\204Bc\210\314 \210\202\n0*\207" [buffer-read-only todo-nondiary-start arg diary-nonmarking-symbol nil stop todo-done-item-p throw looking-at regexp-quote replace-match "" todo-forward-item] 3 (#$ . 69688) "P"])
#@575 Prompt for and set ITEM's priority in CATegory.

Interactively, ITEM is the todo item at point, CAT is the current
category, and the priority is a number between 1 and the number
of items in the category.  Non-interactively, non-nil NEW means
ITEM is a new item and the lowest priority is one more than the
number of items in CAT.

The new priority is set either interactively by prompt or by a
numerical prefix argument, or noninteractively by argument ARG,
whose value can be either of the symbols `raise' or `lower',
meaning to raise or lower the item's priority by one.
(defalias 'todo-set-item-priority #[(&optional item cat new arg) "\306\307!\205\310 \206\311\312!?\205^\206\313 \314 \n\206L\315=\203+\316 \202L\317=\205L\f
\320:\321\322;!\323\260<\212\324<\325\326#\210\327\330!*\325=>\331=\204d>\332=\204d\317=\203\222\212\333 \334?@eb\210\311!\203\214?T?`@U\203\206?=\335 \210\202o?+\202\234\315=\205\234\336\337\n\"A\203\251T\202\253B\340\341B\"C>\204\304D\247\203\304D\202\352>\331=\203\330=\330Y\203\330=S\202\352>\332=\205\352=BX\205\352=TE\325\211FGE\205>\331=\203E\334U\206>\332=\205EBV?\205\\>\204G\306\307!\204G\342\n!\210HI\343 deZV\203>\212eb\210\324J\325\326#I)IH\212\344 \210+B\330V\203\207E\204\207\345CK\346=\203a\330\202cB\"\211F\330W\204tFBV\205y\340\347B\"\211C\204NF\211E\203S\317=\203\f
\320:\321\322;!\350\322\n!\351\260	L=EW\203\257\212\352 )\202\273=EV\205\273\212\333 )M\212=EW\203\337\335E=ZT!\210\353LM\326#\205\374\327\330!\202\374=EV\205\374\354=EZ!\210\324LM\326#\205\374\327\330!)\211N\203\355\356!\210+>\204\306\307!\203\357 \210eb\210E\203=E\330U\204=\335ES!\210\360\361\322O!\362Q\363\334!\"\203=\354 \210\364!\210	\205\\\365\366!P\367P\370\"Q\371P\370RQP#*.\n\207" [item marked cat major-mode todo-date-string-start todo-date-pattern called-interactively-p any todo-done-item-p looking-at "^$" todo-item-string todo-marked-item-p todo-mode todo-current-category todo-filtered-items-mode "\\( " "\\)?" regexp-quote "?\\(?1: \\[\\(.+:\\)?.+\\]\\)" re-search-forward nil t match-string-no-properties 1 raise lower todo-item-start 0 todo-forward-item todo-get-count todo format "Set item priority (1-%d): " todo-category-number buffer-size todo-category-select read-number first "Priority must be an integer between 1 and %d.\n" "?\\(?1:" "\\)" todo-item-end re-search-backward todo-backward-item user-error "Cannot reprioritize items from the same category in this mode, only in Todo mode" todo-remove-item looking-back "^" "\n" line-beginning-position todo-insert-with-overlays todo-get-overlay prefix overlay-get before-string overlay-put diary-time-regexp todo-nondiary-end regexp1 curnum arg count curstart new maxnum prompt current-prefix-arg priority candidate buffer-read-only todo-show-with-done done todo-done-string-start todo-default-priority regexp2 end match todo-category-done ov pref todo-item-mark] 10 (#$ . 70260) nil])
#@61 Raise priority of current item by moving it up by one item.
(defalias 'todo-raise-item-priority #[nil "\300\301\211\211\302$\207" [todo-set-item-priority nil raise] 5 (#$ . 73320) nil])
#@63 Lower priority of current item by moving it down by one item.
(defalias 'todo-lower-item-priority #[nil "\300\301\211\211\302$\207" [todo-set-item-priority nil lower] 5 (#$ . 73512) nil])
#@910 Move at least one todo or done item to another category.
If there are marked items, move all of these; otherwise, move
the item at point.

With prefix argument FILE, prompt for a specific todo file and
choose (with TAB completion) a category in it to move the item or
items to; otherwise, choose and move to any category in either
the current todo file or one of the files in
`todo-category-completions-files'.  If the chosen category is
not an existing categories, then it is created and the item(s)
become(s) the first entry/entries in that category.

With moved todo items, prompt to set the priority in the category
moved to (with multiple todo items, the one that had the highest
priority in the category moved from gets the new priority and the
rest of the moved todo items are inserted in sequence below it).
Moved done items are appended to the top of the done items
section in the category moved to.
(defalias 'todo-move-item #[(&optional file) "\306 \307	\"\310\311!\205\n??\205\205\312\f*/\313 0\314 1\315 \205-0\316P2\212\317 \210\320 )3\321\21145\3216\312\21178\312\2119:\312\211;<\312=\322\216\n\204o\323\212\317 )\212\324 )\"7\3257\326\327#\210\n\203~\nA\330V\203~\331\202\332>\333\334>\335Q\312?#\211@@\232\203\245@A
\232\203\245\333\336!\211@\202\216@@8@A9+\337
!q\210\n\203eb\210m\204\367\340 \203\361\315 \203\332=\313 \316Q=6T6\202\361<\313 \316Q<4T4\314 \203\3615T5\341 \210\202\274<\203<\321\342O<\202\315 \203\3306\202\3304\314 \203\3305\343\344 \3459\346\"q\"\210\347\216<\20480\203E2\204E\350<\206@08\351#\210=\204O2\203\3528!\210~\210eb\210\353\354\355A8P!\356Q\312\351#\210\353\354\355B!P\312\351#\210\312y\210=\206}2c\210\351\211:.*\207" [cat1 todo-categories-with-marks marked buffer-read-only todo-current-todo-file file1 todo-current-category assoc looking-at "^$" nil todo-item-string todo-diary-item-p todo-done-item-p "\n" todo-item-start point-marker 0 #[nil "\205\301!\207" [ov delete-overlay] 2] make-overlay todo-item-end overlay-put face todo-search 1 "s" "" todo-read-category "Move item" " to category: " "Choose a different category: " find-buffer-visiting todo-marked-item-p todo-forward-item -1 set-window-buffer selected-window find-file-noselect nowarn #[nil "\203\351\306 \n\203\307\302\n\"\210\203\307\303\"\210\f\203\"\307\304\f\"\210\310 \210r\311
!q\210\212\214~\210b\210\203\217\312\211 \312!\313\314\315\"!P\312\316#\210\312y\210` \317\314\315\"!P\312\316#\203d\320\224\202ed b\210`W\203\203\321 \203}\322 \210\202k\323 \210\202k\324#$\"$*\202\234%\203\231\325%!\210\322 \210*\n\203\251\307\302\n[##\210\203\265\307\303[##\210\f\203\301\307\304\f[##\210\310 \210)\326\327 \330&\331\"q\"\210\332'!(\206\335)*\333 \210)	b\210\334 \207\326\327 \330
\331\"q\"\210\332#!\210\333 \210b\207" [moved nmark todo diary done file1 point-marker todo-update-count todo-update-categories-sexp find-buffer-visiting nil re-search-backward "^" regexp-quote t re-search-forward 0 todo-marked-item-p todo-remove-item todo-forward-item assq-delete-all delete-overlay set-window-buffer selected-window find-file-noselect nowarn todo-category-number todo-category-select recenter omark marked end beg item todo-category-beg cat1 todo-categories-with-marks ov file2 cat2 done-items done-item todo-show-with-done] 5] todo-set-item-priority t todo-category-number re-search-forward "^" regexp-quote "$" num item diary-item done-item omark todo diary done ov cat2 file2 moved nmark todo-items done-items pl file cat+file todo-category-beg todo-category-done] 6 (#$ . 73707) "P"])
#@550 Tag a todo item in this category as done and relocate it.

With prefix argument ARG prompt for a comment and append it to
the done item; this is only possible if there are no marked
items.  If there are marked items, tag all of these with
`todo-done-string' plus the current date and, if
`todo-always-add-time-string' is non-nil, the current time;
otherwise, just tag the item at point.  Items tagged as done are
relocated to the category's (by default hidden) done section.  If
done items are visible on invoking this command, they remain
visible.
(defalias 'todo-item-done #[(&optional arg) "\306 \307	\"\211\203\310 \210\n?\205\311 \206\312\313!?\2050\314\315 \316\211#\f\2035\317\320 \321\322OP\2026\323\324/
\325\26001\205I\326\327!2\330\21134\212eb\210\3315\332\316#)6\332\21178\3329`:2G\330U?\205|\333;\3342\335\2602\n\203\205eb\210\3362\327\312\313!?\205\326\n\203\235\n\203\320\337 \203\320\340 89082\n\205\256\341\26093T3\342 \203\3014T4\343 \210\n\204\211\344\336\332\"\210\202\211\345 \210\202\2110\210\n\203\3509\330\346O9\347	\"\212~\210\331\350\351<!P\332\316#\210\332u\2106\203`:9\341\261\210)\352\3533[\"\210\352\3363\"\210\352\3544[\"\210\355 \2106=\356 \210:\205.:b.\f*\207" [cat todo-categories-with-marks marked date-string todo-always-add-time-string time-string todo-current-category assoc todo--user-error-if-marked-done-item todo-done-item-p looking-at "^$" calendar-date-string calendar-current-date t " " current-time-string 11 16 "" "[" "] " read-string "Enter a comment: " 0 re-search-forward nil " [" ": " "]" done todo-marked-item-p todo-item-string "\n" todo-diary-item-p todo-remove-item throw todo-forward-item -1 assq-delete-all "^" regexp-quote todo-update-count todo diary todo-update-categories-sexp todo-category-select todo-done-string done-prefix arg comment item-count diary-count todo-done-string-start show-done buffer-read-only item done-item opoint todo-comment-string todo-category-done todo-show-with-done] 6 (#$ . 77390) "P"])
#@482 Restore at least one done item to this category's todo section.
Prompt for the new priority.  If there are marked items, undo all
of these, giving the first undone item the new priority and the
rest following directly in sequence; otherwise, undo just the
item at point.

If the done item has a comment, ask whether to omit the comment
from the restored item.  With multiple marked done items with
comments, only ask once, and if affirmed, omit subsequent
comments without asking.
(defalias 'todo-item-undone #[nil "\306 \307	\"\211\203\nA\310V\203\311\202\312\n\204\"\313 \205.\314`\315 \316\317\211\314\211\211\211\211\211012345678\n\203Leb\210\3202
m?\205\f\n\203b\n\203\321 \203\313 \204r7b\210\322\323!\210\202\324 \210\n\204\214\325\212\324 )\212\326 )\"0\3270\330\331#\210\332\333!35T5\334\3359!!\204\2444T4\212\326 )2\336\337\335:!\340Q2\341#\203\355\342\216\316=\203\341;\343=\203\331\344\345\346\347\260!\205\337\350\202\337;\205\337\350)\350=\203\355\317\22421\35132\"\n\205\372\352Q1\n\204\353\320\314\"\210\354 \210\202P0\210\355\216\n\2031\317\356O1\3571\341#\210`\341)6\314\211\223.\f+\207" [cat todo-categories-with-marks marked pl undone npoint todo-current-category assoc 1 "s" "" todo-done-item-p nil point-marker first 0 done todo-marked-item-p user-error "Only done items can be undone" todo-item-start make-overlay todo-item-end overlay-put face todo-search search-forward "] " looking-at regexp-quote re-search-forward " \\[" ": [^]]+\\]" t #[nil "\300=\205
	\205
\302	!\207" [first ov delete-overlay] 2] ask todo-y-or-n-p "Omit comment" " from restored item" "? " omit buffer-substring-no-properties "\n" throw todo-forward-item #[nil "\203\306!\210	\204\nb\207\203?\307\310\311\312
!P\307\313#\210m\2044\314 \203.\315 \210\202\316 \210\202\317\"\202Fb\210\315 \210\320\321\"\210\320\322[\"\210\203^\320\323\"\210\324 \210\325\322!\326V\327 \210)b\207" [ov undone opoint marked item todo-category-done delete-overlay nil re-search-forward "^" regexp-quote t todo-marked-item-p todo-remove-item todo-forward-item assq-delete-all todo-update-count todo done diary todo-update-categories-sexp todo-get-count 0 todo-category-select cat todo-categories-with-marks omark item-count diary-count todo-show-with-done npoint] 4] -1 todo-set-item-priority ov item end start diary-count item-count omark opoint buffer-read-only todo-nondiary-start todo-comment-string todo-undo-item-omit-comment] 13 (#$ . 79450) nil])
#@427 Visit the archive of the current todo category, if it exists.
If the category has no archived items, prompt to visit the
archive anyway.  If there is no archive for this file or with
non-nil argument ASK, prompt to visit another archive.

The buffer showing the archive is in Todo Archive mode.  The
first visit in a session displays the first category in the
archive, subsequent visits return to the last category
displayed.
(defalias 'todo-find-archive #[(&optional ask) "\306!\204\n\307\310!\207\311 \312\313	\"\314!\315P
\203 \316\2021\317\f!\203*\320\2021\321\322!\2051\316\211!\316=\203?\323\324\306\211#!\320=\203U\n\325U\203U\321\326!\205S\327!!\205\330\331 \332\f!q\"\210\333\334!\204l\334 \210!\335\235\203y\336\202}\337	!\210\340 ,\207" [todo-files-function cat count todo-current-todo-file archive ask t message "There are no archive files" todo-current-category todo-get-count archived file-name-sans-extension ".toda" other-archive file-exists-p this-archive todo-y-or-n-p "This file has no archive; visit another archive? " todo-read-file-name "Choose a todo archive: " 0 "This category has no archived items; visit archive anyway? " other-cat set-window-buffer selected-window find-file-noselect derived-mode-p todo-archive-mode (other-archive other-cat) 1 todo-category-number todo-category-select place] 5 (#$ . 82014) nil])
#@33 Choose an archive and visit it.
(defalias 'todo-choose-archive #[nil "\300\301!\207" [todo-find-archive t] 2 (#$ . 83391) nil])
#@428 Archive at least one done item in this category.

With prefix argument ALL, prompt whether to archive all done
items in this category and on confirmation archive them.
Otherwise, if there are marked done items (and no marked todo
items), archive all of these; otherwise, archive the done item at
point.

If the archive of this file does not exist, it is created.  If
this category does not exist in the archive, it is created.
(defalias 'todo-archive-done-item #[(&optional all) "\306=\205J	\203\307\310!\311U\203\312\313!\207\3142J\315 p\316\n\f\"\3179!\320P:\321:\322\";
?\205A\323 \205A\324 \325P<\311=\323 ?\205M`>\326\211?@\326\211\fA\326B	\203\261\327\330!\203\251\212\214eb\210~\210\331C\326\322#\210\311\224@\331\332\333D!P\326\322#\203\214\311\224\202\215d\f\334@\f\"A\307\310!=>\203\245>b\210*\202\345\335\314\326\"\210\202\345
\203\345\212eb\210m\204\344\336 \203\336\323 \204\321\335\314\312\337!\"\210\202\336?\324 \325Q?=T=\340 \210\202\271)
\204\374	\204\374<\204\374\335\314\312\337!\"\210\202'r;q\210\341\342!\204\n\342 \210\326B~\210eb\210\331\332\333D\nP!\343Q\326\322#\2033\331\333E!\326\322#\2033\326u\210\202;\344\326\n\"\210db\210
\203D?\202O	\203MA\202O<c\210\345\310
\204[	\203`=\202a\346\n#\210\347 \210\350\351:!8\204\202\352\326\211:\322\211%\210F\322!G\342 \210*rq\210	\203\255\212\214~\210\353@\f\"\210@\f|\210\345\310=[\"\210\345\354=\"\210*\202
\204\272<\203	\204
\203\301eb\210\3102m?\205
\203\323\336 \204\330<\203\355 \210\345\310\356\"\210\345\354\346\"\210
\204\356<\203\377n\203\377l\203\377edW\203\377\357 \210<\203\305\335\310\326\211<\"\210\202\305\340 \210\202\3050\210
\203 \360\n\f\"\347 \210\361 \210)\362:!\210\363\n!\210\364 \210\365 \210\366\367 \"\210\362\370!!\210\326H\364 .0\207" [major-mode all cat tbuf todo-categories-with-marks marked todo-mode todo-get-count done 0 message "No done items in this category" end todo-current-category assoc file-name-sans-extension ".toda" find-file-noselect t todo-done-item-p todo-item-string "\n" nil todo-y-or-n-p "Archive all done items in this category? " re-search-forward "^" regexp-quote buffer-substring-no-properties throw todo-marked-item-p "Only done items can be archived" todo-forward-item derived-mode-p todo-archive-mode "$" todo-add-category todo-update-count 1 todo-update-categories-sexp 7 file-attributes write-region remove-overlays archived todo-remove-item -1 todo-backward-item assq-delete-all todo-prefix-overlays find-file todo-category-number todo-category-select split-window-below set-window-buffer selected-window buffer-file-name todo-current-todo-file afile archive item count opoint marked-items beg all-done buffer-read-only todo-done-string-start todo-category-beg todo-category-done todo-files-function todo-archives todo-show-with-done] 7 (#$ . 83526) "P"])
#@458 Unarchive at least one item in this archive category.
If there are marked items, unarchive all of these; otherwise,
unarchive the item at point.

Unarchived items are restored as done items to the corresponding
category in the todo file, inserted at the top of done items
section.  If all items in the archive category have been
restored, the category is deleted from the archive.  If this was
the only category in the archive, the archive file is deleted.
(defalias 'todo-unarchive-items #[nil "\306=\205~\307 \310\311\n!\312P\313\"\314	\f\"\315 \316P/\3170\320\21112
\203K\212eb\210m\204J\321 \203D1\315 \316Q10T0\322 \210\202.)rq\210\320\21132~\210eb\210\323\324\3254	P!\326Q\320\313#\204r\327\320	\"\210\3133\323\324\3255!P\320\313#\210\320y\210
\203\2371c\210\330\3310	#\2103\204\264\330\3320[	#\210\202\264/c\210\330\331\333	#\2103\204\264\330\332\334	#\210\335 \210+
\203\302\320/eb\210\3312\357m?\205\356\321 \204\325/\203\350\336 \210/\203\306\337\331\320\211/\"\210\202\306\322 \210\202\3060\210\330\331
\203\3740[\202\375\334	#\210\340\331!\317U\203]6G\333U\203\341\n!\210\342\320!\210\343 \210\202]~\210\344\324\3254!	\326R\320\313#\323\324\3254!P\320\313\345$\203?\317\224\202@d78\34687\"\21087|\210\347\314	6\"6\"6*\335 \210\350!\3139:\351\352 \310:!q\"\210\353	!\210\354 \210\355\356!.	\207" [major-mode cat todo-current-todo-file tbuf todo-categories-with-marks marked todo-archive-mode todo-current-category find-file-noselect file-name-sans-extension ".todo" t assoc todo-item-string "\n" 0 nil todo-marked-item-p todo-forward-item re-search-forward "^" regexp-quote "$" todo-add-category todo-update-count done archived 1 -1 todo-update-categories-sexp todo-remove-item throw todo-get-count delete-file set-buffer-modified-p kill-buffer re-search-backward 2 remove-overlays delete buffer-file-name set-window-buffer selected-window todo-category-number todo-category-select message "Items unarchived." item marked-count marked-items buffer-read-only newcat todo-category-beg todo-category-done todo-categories end beg todo-show-with-done tfile] 7 (#$ . 86443) nil])
#@235 Prompt for a category in a todo archive and jump to it.
With prefix argument FILE, prompt for an archive and choose (with
TAB completion) a category in it to jump to; otherwise, choose
and jump to any category in the current archive.
(defalias 'todo-jump-to-archive-category #[(&optional file) "\301\302\"\207" [file todo-jump-to-category archive] 3 (#$ . 88606) "P"])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\210\300\313\314\315\304\305\306\307&\210\300\316\317\320\304\305\306\307&\210\300\321\322\323\304\305\306\307&\210\300\324\325\326\304\305\306\307&\210\300\327\330\331\304\305\306\307&\210\300\332\333\334\304\335\306\307&\207" [custom-declare-variable todo-categories-category-label "Category" "Category button label in Todo Categories mode." :type string :group todo-categories todo-categories-todo-label "Todo" "Todo button label in Todo Categories mode." todo-categories-diary-label "Diary" "Diary button label in Todo Categories mode." todo-categories-done-label "Done" "Done button label in Todo Categories mode." todo-categories-archived-label "Archived" "Archived button label in Todo Categories mode." todo-categories-totals-label "Totals" "String to label total item counts in Todo Categories mode." todo-categories-number-separator " | " "String between number and category in Todo Categories mode.\nThis separates the number from the category name in the default\ncategories display according to priority." todo-categories-align 'center "Alignment of category names in Todo Categories mode." (radio (const left) (const center) (const right))] 8)
#@1496 Display a table of the current file's categories and item counts.

In the initial display the lines of the table are numbered,
indicating the current order of the categories when sequentially
navigating through the todo file with `\[todo-forward-category]'
and `\[todo-backward-category]'.  You can reorder the lines, and
hence the category sequence, by typing `\[todo-raise-category]'
or `\[todo-lower-category]' to raise or lower the category at
point, or by typing `\[todo-set-category-number]' and entering a
number at the prompt or by typing `\[todo-set-category-number]'
with a numeric prefix.  If you save the todo file after
reordering the categories, the new order persists in subsequent
Emacs sessions.

The labels above the category names and item counts are buttons,
and clicking these changes the display: sorted by category name
or by the respective item counts (alternately descending or
ascending).  In these displays the categories are not numbered
and `\[todo-set-category-number]', `\[todo-raise-category]' and
`\[todo-lower-category]' are disabled.  (Programmatically, the
sorting is triggered by passing a non-nil SORTKEY argument.)

In addition, the lines with the category names and item counts
are buttonized, and pressing one of these button jumps to the
category in Todo mode (or Todo Archive mode, for categories
containing only archived items, provided user option
`todo-skip-archived-categories' is non-nil.  These categories
are shown in `todo-archived-only' face.
(defalias 'todo-show-categories-table #[nil "\301 \210\302\303!)\207" [sortkey todo-display-categories nil todo-update-categories-display] 2 (#$ . 90232) nil])
#@63 Move point to the Nth next button in the table of categories.
(defalias 'todo-next-button #[(n) "\302\303\304#\210n\205\305`!\205\306	G\\u\207" [n todo-categories-number-separator forward-button wrap display-message button-at 4] 4 (#$ . 91895) "p"])
#@67 Move point to the Nth previous button in the table of categories.
(defalias 'todo-previous-button #[(n) "\302\303\304#\210n\205\305`!\205\306	G\\u\207" [n todo-categories-number-separator backward-button wrap display-message button-at 4] 4 (#$ . 92156) "p"])
#@351 Change number of category at point in the table of categories.

With ARG nil, prompt for the new number.  Alternatively, the
enter the new number with numerical prefix ARG.  Otherwise, if
ARG is either of the symbols `raise' or `lower', raise or lower
the category line in the table by one, respectively, thereby
decreasing or increasing its number.
(defalias 'todo-set-category-number #[(&optional arg) "\212\306y\210\307\310w\210\311 )\211\205\364	G\312\313\n\"i\310\314=\203.\315V\203.S\202=\316=\205=\nW\205=T\310\204~\206O\317!\310\315W\204b\nV\203i\312\320\n\"\202qU\205q\321\211\204B\211\203GW\322	\323\203\220\324\202\221\325\nZC\"\"\323\203\244\324\202\245\326C\"	\233 S	8!!C\244 \244\310\"\203\310	\237\327	!\203\324	\237	\"\330 \210r\331#!q\210\"\332 \210)\333 \210Ty\210\fu.\f)\207" [curnum todo-categories maxnum prompt col buffer-read-only 0 " " nil number-at-point format "Set category priority (1-%d): " raise 1 lower read-number "Priority must be an integer between 1 and %d: " "Choose a different priority than the current one: " butlast apply identity 1+ 1- delete-dups kill-buffer find-buffer-visiting todo-update-categories-sexp todo-show-categories-table arg priority candidate head tail catcons newcats todo-current-todo-file] 7 (#$ . 92427) "P"])
#@65 Raise priority of category at point in the table of categories.
(defalias 'todo-raise-category #[nil "\300\301!\207" [todo-set-category-number raise] 2 (#$ . 93799) nil])
#@65 Lower priority of category at point in the table of categories.
(defalias 'todo-lower-category #[nil "\300\301!\207" [todo-set-category-number lower] 2 (#$ . 93976) nil])
#@57 Sort table of categories alphabetically or numerically.
(defalias 'todo-sort-categories-alphabetically-or-numerically #[nil "\212eb\210\301y\210\302\235\203\303\304!\210\305\302\"\211\202\303\302!)\207" [todo-descending-counts 2 alpha todo-update-categories-display nil delete] 3 (#$ . 94153) nil])
#@51 Sort table of categories by number of todo items.
(defalias 'todo-sort-categories-by-todo #[nil "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display todo] 2 (#$ . 94465) nil])
#@52 Sort table of categories by number of diary items.
(defalias 'todo-sort-categories-by-diary #[nil "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display diary] 2 (#$ . 94664) nil])
#@64 Sort table of categories by number of non-archived done items.
(defalias 'todo-sort-categories-by-done #[nil "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display done] 2 (#$ . 94866) nil])
#@55 Sort table of categories by number of archived items.
(defalias 'todo-sort-categories-by-archived #[nil "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display archived] 2 (#$ . 95078) nil])
#@41 Name of buffer in Todo Categories mode.
(defvar todo-categories-buffer "*Todo Categories*" (#$ . 95289))
#@59 Return the length of the longest name in list CATEGORIES.
(defalias 'todo-longest-category-name-length #[(categories) "\304	\305\211\203@\nG]A\211\204\n\305+\207" [longest categories c --dolist-tail-- 0 nil] 3 (#$ . 95400)])
#@123 Return adjusted length of category label button.
The adjustment ensures proper tabular alignment in Todo
Categories mode.
(defalias 'todo-adjusted-category-label-length #[nil "\306\307\"\310	!G\n\fZ\311
!\203!\312
!\203!\nT\202$\n\f],\207" [todo-categories categories longest todo-categories-category-label catlablen lc-diff mapcar car todo-longest-category-name-length natnump cl-oddp] 3 (#$ . 95646)])
#@158 Return category name or label string STR padded with spaces.
The placement of the padding is determined by the value of user
option `todo-categories-align'.
(defalias 'todo-padded-string #[(str) "\306 	G\307\n\310\"\310=\311\nZ\312\245]
\313=\203\311\202=
\314=\203)\f\202=
\315=\205=\203:\f\312_T\202=\f\312_
\313=\203V\203P\f\312_T\202p\f\312_\202p
\314=\203i\203e\fT\202p\f\202p
\315=\205p\311\316\317\"	\316\317\"Q.\207" [len str strlen strlen-odd padding todo-categories-align todo-adjusted-category-label-length logand 1 0 2 left center right make-string 32 padding-left padding-right] 5 (#$ . 96066)])
#@62 List of keys for category counts sorted in descending order.
(defvar todo-descending-counts nil (#$ . 96715))
#@58 Return a copy of LIST, possibly sorted according to KEY.
(defalias 'todo-sort #[(list &optional key) "\306!\n\307=\203\310\202\311\n\f\235\n\307=\203\312\202'
\203&\313\202'\314\315\n\203F\316	\"
\203B\317\n\f\"\202F\n\fB	-\207" [list l key fn todo-descending-counts descending copy-sequence alpha #[(x) "\226\207" [x] 1] #[(x) "\302	\"\207" [key x todo-get-count] 3] string< < > #[(s1 s2) "	@!\n@!
\f\"*\207" [fn s1 s2 t2 t1 cmp] 3] sort delete cmp pred] 3 (#$ . 96831)])
#@59 Keep point on the TYPE count sorting button just clicked.
(defalias 'todo-display-sorted #[(type) "`\302	!\210b)\207" [opoint type todo-update-categories-display] 2 (#$ . 97342)])
#@51 Return symbol for sort key associated with LABEL.
(defalias 'todo-label-to-key #[(label) "\306	\n\230\203
\307\2027	\230\203\310\2027	\f\230\203#\311\2027	
\230\203.\312\2027	\f\230\2037\313)\207" [key label todo-categories-category-label todo-categories-todo-label todo-categories-diary-label todo-categories-done-label nil alpha todo diary done archived todo-categories-archived-label] 2 (#$ . 97530)])
#@112 Insert button for displaying categories sorted by item counts.
LABEL determines which type of count is sorted.
(defalias 'todo-insert-sort-button #[(label) "	\230\203\f\306!\202
`\211\nG\\\307\310\n\311\307\312\313\314\315\316\317DDC\320BBE%\210\321\f\"\322
\311\323#,\207" [label todo-categories-category-label str beg end ov todo-padded-string nil insert-button face action lambda (button) let key todo-label-to-key ((if (and (member key todo-descending-counts) (eq key 'alpha)) (progn (todo-display-sorted nil) (setq todo-descending-counts (delete key todo-descending-counts))) (todo-display-sorted key))) make-overlay overlay-put todo-button] 12 (#$ . 97961)])
#@58 Return a list of total item counts for the current file.
(defalias 'todo-total-item-counts #[nil "\300\301\302\303\304\305F\"\207" [mapcar #[(i) "\301\302\303\304\303\305\"\"\"\207" [todo-categories apply + mapcar #[(l) "	H\207" [l i] 2] cdr] 7] 0 1 2 3] 6 (#$ . 98644)])
#@60 Variable for numbering categories in Todo Categories mode.
(defvar todo-categories-category-number 0 (#$ . 98924))
#@323 Insert button with category CAT's name and item counts.
With non-nil argument NONUM show only these; otherwise, insert a
number in front of the button indicating the category's priority.
The number and the category name are separated by the string
which is the value of the user option
`todo-categories-number-separator'.
(defalias 'todo-insert-category-line #[(cat &optional nonum) "	\235\n\306!`)*)T\211)\307+\203&\310\311,G\\\312\"\202-\313\314),#
\315\316*\203=-\317BC\202N.\320B/\321B-\317B0\322BF\323#\324R\3251\205u\326\320\"\327U\205u\326\317\"\327U\205u\326\322\"\327U?\205u\330\331\332\333\334\335\336\337E\340BBBE%\210\341\f\342
G#2\337\21134+\320=\203\251\3412\343.G\344\245#2\202+\321=\203\303\3412\343.G\344/G\344\245%2\202+\317=\203\342\3412\343.G\344/G\344-G\344\245&2\202+\322=\203\3412\343.G\344/G\344-G\3440G\344\245&	22\341\f\342
G#U\204#2\311\\3\34523\"4\3464\325\347#\210+\350 ,\207" [todo-current-todo-file todo-archives todo-categories-category-number cat opoint str todo-padded-string insert-button make-string 4 32 format " %3d%s" mapconcat #[(elt) "\302@G\303\245T\304\"\305\306\307A	\"\"\310@G!\205\311Q\207" [elt cat make-string 2 32 format "%3d" todo-get-count cl-oddp " "] 6] done todo diary archived "" " " face todo-get-count 0 todo-archived-only action lambda (button) let ((buf (current-buffer))) todo-jump-to-category nil ((kill-buffer buf)) + 7 1 2 make-overlay overlay-put todo-sorted-column newline num archive nonum todo-categories-number-separator todo-categories-done-label todo-categories-todo-label todo-categories-diary-label todo-categories-archived-label todo-skip-archived-categories beg end ovl] 13 (#$ . 99046)])
#@68 Prepare buffer for displaying table of categories and item counts.
(defalias 'todo-display-categories #[nil "\306=?\205\223	\206\307\n!\310\311 \312\f!q\"\210\313 \210\306 \210	
\235\314\315 \210\316\317\2034\320\2025\321\322Q\323	!\"c\210\324\325!\210\326\327G\\\330\"c\210\331!\210\203c\326\332\330\"c\210\331!\210\202\217\326\332\330\"c\210\331 !\210\326\325\330\"c\210\331!!\210\326\325\330\"c\210\331!\210\326\325\330\"c\210\331\"!\210\324\325!*\207" [major-mode todo-current-todo-file todo-default-todo-file todo-global-current-todo-file todo-categories-buffer todo-archives todo-categories-mode todo-absolute-file-name set-window-buffer selected-window get-buffer-create kill-all-local-variables nil erase-buffer format "Category counts for todo " "archive" "file" " \"%s\"." todo-short-file-name newline 2 make-string 4 32 todo-insert-sort-button 3 buffer-read-only archive todo-categories-number-separator todo-categories-category-label todo-categories-done-label todo-categories-todo-label todo-categories-diary-label todo-categories-archived-label] 4 (#$ . 100797)])
#@51 Populate table of categories and sort by SORTKEY.
(defalias 'todo-update-categories-display #[(sortkey) "\306	\n\"\f
\235\307`d=\205\"\212\310y\210\311`\312\313\314 $b)\313 \315y\210`d|\210\316\317\320\321\"\"\210\322 \210\323\324!G\\\325\"\326\"!\327\330\203T#\315BC\202e$\307B%\331B#\315B&\332BF\333#\261\210\203sb\210\334\211 .\207" [todo-categories cats0 sortkey cats todo-current-todo-file todo-archives todo-sort 0 -2 next-single-char-property-change face nil line-end-position 2 mapc #[(cat) "\302	\"\207" [cat sortkey todo-insert-category-line] 3] mapcar car newline make-string 4 32 todo-padded-string mapconcat #[(elt) "\301@G\302\245T\303\"\304\305A\306 8\"\307@G!\205\310Q\207" [elt make-string 2 32 format "%3d" todo-total-item-counts cl-oddp " "] 5] 1 3 "" t archive todo-categories-category-number pt buffer-read-only todo-categories-number-separator todo-categories-totals-label todo-categories-done-label todo-categories-todo-label todo-categories-diary-label todo-categories-archived-label] 9 (#$ . 101909)])
#@246 Search for a regular expression in this todo file.
The search runs through the whole file and encompasses all and
only todo and done items; it excludes category names.  Multiple
matches are shown sequentially, highlighted in `todo-search'
face.
(defalias 'todo-search #[nil "\306\307!`\310\211\211\211\211\211\211,-.~\210eb\210m\204L\311.\310\312#\313 b\210`\314\232\204F\315\316\317/!P!\204F
\203F
,B,\310y\210\202\320,!\211,\203\353\3212\347,\203\343,\211A,\242\211b\210\322 \210\3150!\203v\312\323\316\317/!\324Q\310\312#\210\325\314!\326\f!\210\327 \210\203\2311\204\231\330 \210
b\210\331`.GZ`\"\332\n\333\334#\210,\203Z,G\335	\314V\203\302\336\337	\"\202\303\340!\203\314~\210\202Z\341\321	\314V\203\333\336\342	\"\202\334\343\211\"\210\202Z\344\2110\210\202\370\327 \210-b\210\345\346.\"\210\205\335\347P!\203	\350 \202\345\351\352\353\350!@!\".	\207" [msg mlen ov in-done cat match read-from-minibuffer "Enter a search string (regexp): " nil re-search-forward t line-beginning-position 1 looking-at "^" regexp-quote reverse stop todo-item-start re-search-backward "\\(.*\\)\n" match-string-no-properties todo-category-number todo-category-select todo-toggle-view-done-items make-overlay overlay-put face todo-search todo-y-or-n-p format "There are %d more matches; go to next match? " "There is one more match; go to it? " throw "There are %d more matches." "There is one more match." "There are no more matches." message "No match for \"%s\"" "\nUnhighlight matches? " todo-clear-matches "You can unhighlight the matches later by typing %s" key-description where-is-internal matches opoint regex todo-category-beg todo-done-string-start todo-show-with-done] 10 (#$ . 102980) nil])
#@54 Remove highlighting on matches found by todo-search.
(defalias 'todo-clear-matches #[nil "\300\301\302 T\303\304$\207" [remove-overlays 1 buffer-size face todo-search] 5 (#$ . 104739) nil])
(byte-code "\301\302\303\304\305\306\307\310&\210\301\311\312\313\305\314\307\310&\210\301\315\303\316\305\317\320\321\320\322 \"\"B\307\310&\210\301\323\303\324\305\325\307\310&\207" [todo-files-function custom-declare-variable todo-top-priorities-overrides nil "List of rules specifying number of top priority items to show.\nThese rules override `todo-top-priorities' on invocations of\n`\\[todo-filter-top-priorities]' and\n`\\[todo-filter-top-priorities-multifile]'.  Each rule is a list\nof the form (FILE NUM ALIST), where FILE is a member of\n`todo-files', NUM is a number specifying the default number of\ntop priority items for each category in that file, and ALIST,\nwhen non-nil, consists of conses of a category name in FILE and a\nnumber specifying the default number of top priority items in\nthat category, which overrides NUM.\n\nThis variable should be set interactively by\n`\\[todo-set-top-priorities-in-file]' or\n`\\[todo-set-top-priorities-in-category]'." :type sexp :group todo-filtered todo-top-priorities 1 "Default number of top priorities shown by `todo-filter-top-priorities'." integer todo-filter-files "List of default files for multifile item filtering." set mapcar #[(f) "\301D\207" [f const] 2] todo-short-file-name todo-filter-done-items "Non-nil to include done items when processing regexp filters.\nDone items from corresponding archive files are also included." boolean] 11)
#@93 Set number of top priorities for this file.
See `todo-set-top-priorities' for more details.
(defalias 'todo-set-top-priorities-in-file #[nil "\300 \207" [todo-set-top-priorities] 1 (#$ . 106355) nil])
#@97 Set number of top priorities for this category.
See `todo-set-top-priorities' for more details.
(defalias 'todo-set-top-priorities-in-category #[nil "\300\301!\207" [todo-set-top-priorities t] 2 (#$ . 106562) nil])
#@780 Display a list of top priority items from different categories.
The categories can be any of those in the current todo file.

With numerical prefix ARG show at most ARG top priority items
from each category.  With `C-u' as prefix argument show the
numbers of top priority items specified by category in
`todo-top-priorities-overrides', if this has an entry for the file(s);
otherwise show `todo-top-priorities' items per category in the
file(s).  With no prefix argument, if a top priorities file for
the current todo file has previously been saved (see
`todo-save-filtered-items-buffer'), visit this file; if there is
no such file, build the list as with prefix argument `C-u'.

  The prefix ARG regulates how many top priorities from
each category to show, as described above.
(defalias 'todo-filter-top-priorities #[(&optional arg) "\301\302\"\207" [arg todo-filter-items top] 3 (#$ . 106784) "P"])
#@747 Display a list of top priority items from different categories.
The categories are a subset of the categories in the files listed
in `todo-filter-files', or if this nil, in the files chosen from
a file selection dialog that pops up in this case.

With numerical prefix ARG show at most ARG top priority items
from each category in each file.  With `C-u' as prefix argument
show the numbers of top priority items specified in
`todo-top-priorities-overrides', if this is non-nil; otherwise show
`todo-top-priorities' items per category.  With no prefix
argument, if a top priorities file for the chosen todo files
exists (see `todo-save-filtered-items-buffer'), visit this file;
if there is no such file, do the same as with prefix argument
`C-u'.
(defalias 'todo-filter-top-priorities-multifile #[(&optional arg) "\301\302\303#\207" [arg todo-filter-items top t] 4 (#$ . 107694) "P"])
#@434 Display a list of todo diary items from different categories.
The categories can be any of those in the current todo file.

Called with no prefix ARG, if a diary items file for the current
todo file has previously been saved (see
`todo-save-filtered-items-buffer'), visit this file; if there is
no such file, build the list of diary items.  Called with a
prefix argument, build the list even if there is a saved file of
diary items.
(defalias 'todo-filter-diary-items #[(&optional arg) "\301\302\"\207" [arg todo-filter-items diary] 3 (#$ . 108586) "P"])
#@555 Display a list of todo diary items from different categories.
The categories are a subset of the categories in the files listed
in `todo-filter-files', or if this nil, in the files chosen from
a file selection dialog that pops up in this case.

Called with no prefix ARG, if a diary items file for the chosen
todo files has previously been saved (see
`todo-save-filtered-items-buffer'), visit this file; if there is
no such file, build the list of diary items.  Called with a
prefix argument, build the list even if there is a saved file of
diary items.
(defalias 'todo-filter-diary-items-multifile #[(&optional arg) "\301\302\303#\207" [arg todo-filter-items diary t] 4 (#$ . 109149) "P"])
#@580 Prompt for a regular expression and display items that match it.
The matches can be from any categories in the current todo file
and with non-nil option `todo-filter-done-items', can include
not only todo items but also done items, including those in
Archive files.

Called with no prefix ARG, if a regexp items file for the current
todo file has previously been saved (see
`todo-save-filtered-items-buffer'), visit this file; if there is
no such file, build the list of regexp items.  Called with a
prefix argument, build the list even if there is a saved file of
regexp items.
(defalias 'todo-filter-regexp-items #[(&optional arg) "\301\302\"\207" [arg todo-filter-items regexp] 3 (#$ . 109848) "P"])
#@700 Prompt for a regular expression and display items that match it.
The matches can be from any categories in the files listed in
`todo-filter-files', or if this nil, in the files chosen from a
file selection dialog that pops up in this case.  With non-nil
option `todo-filter-done-items', the matches can include not
only todo items but also done items, including those in Archive
files.

Called with no prefix ARG, if a regexp items file for the current
todo file has previously been saved (see
`todo-save-filtered-items-buffer'), visit this file; if there is
no such file, build the list of regexp items.  Called with a
prefix argument, build the list even if there is a saved file of
regexp items.
(defalias 'todo-filter-regexp-items-multifile #[(&optional arg) "\301\302\303#\207" [arg todo-filter-items regexp t] 4 (#$ . 110559) "P"])
#@44 Choose a filtered items file and visit it.
(defalias 'todo-find-filtered-items-file #[nil "\306\307\310\307$\311\211\211\311\211\203N
@\312\f!\313\232\203\"\314\2027\312\f!\315\232\203.\316\2027\312\f!\317\232\2057\320\321\f!\322\323R\fB\nB)
A\211\204*\324\325\n\311\307\311\211\n@&\326	\n\"A\327	!\210\330\331!\204n\331 \210\332 +\207" [todo-directory file falist files f --dolist-tail-- directory-files t "\\.tod[rty]$" nil file-name-extension "todr" "regexp" "todt" "top" "tody" "diary" todo-short-file-name " (" ")" completing-read "Choose a filtered items file: " assoc-string find-file derived-mode-p todo-filtered-items-mode todo-prefix-overlays type] 9 (#$ . 111404) nil])
#@62 Display the file and category of the filtered item at point.
(defalias 'todo-go-to-source-item #[nil "\306 p\307!\211@\nA@\310\n8\204\311\312
\"\202O\313	!\210\314\315 \316\f!q\"\210\f\317
!\204@A\320=\203D\321\202F\322 \210)@b.\207" [str buf res found file cat todo-item-string todo-find-item 2 message "Category %s does not contain this item." kill-buffer set-window-buffer selected-window find-buffer-visiting todo-category-number done t todo-category-select todo-current-todo-file todo-filter-done-items todo-show-with-done] 5 (#$ . 112116) nil])
#@66 List of files selected from `todo-multiple-filter-files' widget.
(defvar todo-multiple-filter-files nil (#$ . 112700))
#@66 Variable holding widget created by `todo-multiple-filter-files'.
(defvar todo-multiple-filter-files-widget nil (#$ . 112825))
#@67 Pop to a buffer with a widget for choosing multiple filter files.
(defalias 'todo-multiple-filter-files #[nil "\303\304!\210r\305\306!q\210\307p!\210\310 \210\311 \210\312\313!\210\314\315\316\317\316\320 \"\"B!\312\321!\210\314\322\323\324\325$\210\312\326!\210\314\322\323\327\330$\210\331\n!\210\332 \210)\333\334!\210\335 \207" [todo-files-function todo-multiple-filter-files-widget widget-keymap require widget get-buffer-create "*Todo Filter Files*" pop-to-buffer erase-buffer kill-all-local-variables widget-insert "Select files for generating the top priorities list.\n\n" widget-create set mapcar #[(x) "\301D\207" [x const] 2] todo-short-file-name "\n" push-button :notify #[(widget &rest ignore) "\301\302\303!\210\304 \207" [todo-multiple-filter-files quit quit-window t exit-recursive-edit] 2] "Cancel" "   " #[(&rest ignore) "\302\303\304!\"\305\306!\210\307 \207" [todo-multiple-filter-files-widget todo-multiple-filter-files mapcar #[(f) "\302	\303Q!\207" [todo-directory f file-truename ".todo"] 4] widget-value quit-window t exit-recursive-edit] 4] "Apply" use-local-map widget-setup message "Click \"Apply\" after selecting files." recursive-edit] 7 (#$ . 112957)])
#@51 Initial name of buffer in Todo Filter Items mode.
(defconst todo-filtered-items-buffer "Todo filtered items" (#$ . 114155))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-top-priorities-buffer "Todo top priorities" (#$ . 114285))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-diary-items-buffer "Todo diary items" (#$ . 114409))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-regexp-items-buffer "Todo regexp items" (#$ . 114527))
#@727 Display a list of items filtered by FILTER.
The values of FILTER can be `top' for top priority items, a cons
of `top' and a number passed by the caller, `diary' for diary
items, or `regexp' for items matching a regular expression
entered by the user.  The items can come from any categories in
the current todo file or, with non-nil MULTIFILE, from several
files.  If NEW is nil, visit an appropriate file containing the
list of filtered items; if there is no such file, or with non-nil
NEW, build the list and display it.

See the documentation strings of the commands
`todo-filter-top-priorities', `todo-filter-diary-items',
`todo-filter-regexp-items', and those of the corresponding
multifile commands for further details.
(defalias 'todo-filter-items #[(filter &optional new multifile) "\301=\302=\303=	\203\f\202\"\n\203
\202\"\205\"()*\2036+\2069\306 \210\2029,C\211-\307\232\203F\310 \202d.\311\312-\313#	\203V\314\202c\n\203^\315\202c\205c\316Q/-G\317V0\205x\320.\321\322\321$1\323/!\206\20312\3243	\203\2444\203\244\3254!\203\244\326\3014B-\"\210\202\3524\204\3442\203\3441\203\3151G\317V\203\315\327\3121\"5\330\331\3325\"\303\"/)\333/!\210\334\335!\204\333\335 \210\336 \210\337 \210\202\352\326-\"\210\340\312/!\313\"\3246\2117\203)7@63\20336\327\3128\"\235\203\341\202\3136Q\202637A\2117\204\372*\342\343\3440\2036\345\2027\346\347Q)3#!.\n\207" [filter top diary regexp todo-top-priorities-buffer todo-diary-items-buffer todo-multiple-filter-files quit keyboard-quit mapconcat todo-short-file-name "-" ".todt" ".tody" ".todr" 1 directory-files t ".*\\.todr$" file-exists-p nil natnump todo-filter-items-1 mapcar todo-absolute-file-name completing-read "Choose a regexp items file: " find-file derived-mode-p todo-filtered-items-mode todo-prefix-overlays todo-check-filtered-items-file split-string ", " rename-buffer format "%s for file" "s" "" " \"%s\"" todo-regexp-items-buffer buf multifile todo-filter-files todo-current-todo-file flist todo-directory fname multi rxfiles file-exists bufname new rxf s --dolist-tail-- todo-files] 6 (#$ . 114648)])
#@156 Build a list of items by applying FILTER to FILE-LIST.
Internal subroutine called by `todo-filter-items', which passes
the values of FILTER and FILE-LIST.
(defalias 'todo-filter-items-1 #[(filter file-list) ":\203\nA\202	\306\n!G\307V\310\211\211\211\211\211\211@ABCDEF\2045\311\312!\202\257rEq\210\313 \210\314 \210\315 \210)\316=\203O\317\320!r\310G\211H\203\237H@G\321G!I\322I!\203urIq\210\323 \210))\324G!C\325\326!JrJq\210\327\216K\203\356\316=\203\356\330G!\331PL\332L!\203\355\333L!\210\334 \335 T|\210\212m\204\354\336K\203\305\337M\340N\341\260\202\307NO\342P\343K\203\326\344\202\332\345Q!\346\260\310\347#\203\346\350c\210\310y\210\202\257))\333G!\210\334 \335 T|\210\310R:\204\351GS\"A@\206	R\336\352\345T!\353Q\310\347#\203\204\354\307!A\310U:\204D\355\351GS\"8V\351AV\"A\206ARU)\356\224\356\225|\210`@\336\352\345T!P\310\347#\203_\356\224\202`d@b\210\336\357\345W!P
\347#\203w\356\224\202x
K\203\204\316=\204\212\f
|\210\f@
}\210eb\210\360=\203\261m\204\361\345X!!\203\253\362 \210\202\230\363 \210\202\230\316=\203\372m\204\361Y!\203\327\364\365 \"\203\321\363 \210\202\336\362 \210\202\336\334 \335 T|\210m\203\267\366\345Z!\357P\334\356!\"\203\267`\367y\210`|\210\202\267U\206R\206F\211F\356U\204\363F!\210`@\370\235\204!@
|\210eb\210m\204~\336K\203:\337M\340N\341\260\202<NO\342P\343K\203K\344\202O\345Q!\346\260\310\347#\203x\371c\210\361\350!\203e\356\225b\210D\203qC\372P\202r\373A\374\261\210\310y\210\202$~\210)\202\375 BrEq\210\310[Bc\210.HA\211H\204Z+\376\377 Eq\"\210\201\\ \210eb.\n\207" [filter todo-top-priorities todo-filtered-items-buffer file-list done end get-buffer-create 1 nil user-error "No files have been chosen for filtering" erase-buffer kill-all-local-variables todo-filtered-items-mode regexp read-string "Enter a regular expression: " find-buffer-visiting buffer-modified-p save-buffer todo-short-file-name generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] file-name-sans-extension ".toda" file-exists-p insert-file-contents line-beginning-position line-end-position re-search-forward "\\(?:" "\\|" "\\)" "\\(?: " "\\)?" "\\]" regexp-quote "?" t "(archive) " assoc "^" "\\(.+\\)\n" match-string 2 0 "\n" diary looking-at todo-remove-item todo-forward-item string-match todo-item-string looking-back -2 (diary regexp) " [" ":" "" "]" buffer-string set-window-buffer selected-window beg cat bufstr fname multifile buf num f --dolist-tail-- bf #1# todo-filter-done-items arch todo-done-string-start todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end fnum todo-top-priorities-overrides todo-category-beg cnum cats todo-category-done todo-nondiary-start todo-item-start todo-done-string buffer-read-only todo-prefix-overlays] 11 (#$ . 116821)])
#@426 Set number of top priorities shown by `todo-filter-top-priorities'.
With non-nil ARG, set the number only for the current Todo
category; otherwise, set the number for all categories in the
current todo file.

Calling this function via either of the commands
`todo-set-top-priorities-in-file' or
`todo-set-top-priorities-in-category' is the recommended way to
set the user customizable option `todo-top-priorities-overrides'.
(defalias 'todo-set-top-priorities #[(&optional arg) "\306 	\307\n\f\"\310
8\307\"
A@\206 \203-A\206/\203:\311\202;\312\313\314W\203i\203Q\202S\315\316\"!\317\320)\202@\203~\321\322\"BC\"\202\207\321\nDC\"\203\227\nE\202\231\322
\f\"B\323\303\f\"\210\324 .\207" [cat todo-current-todo-file file todo-top-priorities-overrides rules frule todo-current-category assoc-string 2 "Number of top priorities in this category (currently %d): " "Default number of top priorities per category in this file (currently %d): " -1 0 read-number format "Enter a non-negative number: " nil append delete customize-save-variable todo-prefix-overlays crules crule todo-top-priorities fcur arg ccur prompt new cur nrule] 4 (#$ . 119775)])
#@420 Search for filtered item STR in its saved todo file.
Return the list (FOUND FILE CAT), where CAT and FILE are the
item's category and file, and FOUND is a cons cell if the search
succeeds, whose car is the start of the item in FILE and whose
cdr is `done', if the item is now a done item, `changed', if its
text was truncated or augmented or, for a top priority item, if
its priority has changed, and `same' otherwise.
(defalias 'todo-find-item #[(str) "\306\203\307	\310\n\311\260\202\n\312\f\313\203\314\202\315
!\316\317\320\260	3\"\210\321\3223\"\321\3233\"\321\3243\"\325\230\321\3263\"\322\327 4\330\216\306\331\332 \"*\33356789:;\334\335\333\2113\326%36\203|\212\3368\333\337#\203{7T7\202j):\203\226<:\340\341O9\203\221\342\202\222\343Q\202\2469\203\244\344=!\342P\202\246=:\345:!\210r\346:!q\2109\203\305\347\350!\204\316\350 \210\202\316\347\351!\204\316\351 \210\214~\210eb\210\352\353\315>;P!\354Q\333\337#\212\352\353\315?!P\333\337#)\212\352\353\315>!P\333\337#\206\375d)@.A\3553@\337#\205\340\224b\2115\203e5`.V\203$\356\202b\322B6\203L\212`ATV\203K`C\357 \210`CU\204GBTB)\202-)7BU\203`\360 3\230\203`\361\202a\362)B5-5:;E.\207" [todo-filter-done-items todo-done-string-start todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end string-match "\\(?:" "\\|" "\\)" "\\(?: " "\\)?" "\\]" regexp-quote "?" "\\(?4: \\[\\(?3:(archive) \\)?\\(?2:.*:\\)?" "\\(?1:.*\\)\\]\\).*$" match-string 1 2 3 "(archive) " 4 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] "top" buffer-name nil replace-match "" search-backward t 0 -1 ".toda" ".todo" file-name-sans-extension find-file-noselect find-buffer-visiting derived-mode-p todo-archive-mode todo-mode re-search-forward "^" "$" search-forward done todo-backward-item todo-item-string same changed str save-match-data-internal found tpbuf tpriority filcat archive file cat todo-directory todo-global-current-todo-file todo-category-beg todo-category-done end beg cpriority opoint] 11 (#$ . 121014)])
#@73 Check if filtered items file is up to date and a show suitable message.
(defalias 'todo-check-filtered-items-file #[nil "\303m\204,\304 \305	!@\211A\306=\204%\212\307\310\311 \312 \"\313\314#\210)T*\315 \210\202\303U\2038\316\317!\202H\316\320\321U\203D\322\202E\323\324Q!)\207" [count item found 0 todo-item-string todo-find-item same overlay-put make-overlay todo-item-start todo-item-end face todo-search todo-forward-item message "Filtered items file is up to date." "The highlighted item" 1 " is " "s are " "not up to date."] 5 (#$ . 123130)])
#@66 Return absolute file name for saving this Filtered Items buffer.
(defalias 'todo-filter-items-filename #[nil "\306 \307\310\"\210\311\224\311\225O\312\313\314	#\307\315\"\307\316\"\307\317\"\211\2034\320\n\314\321!Q)\n\203?\322\202L\f\203G\323\202L
\205L\324Q.\207" [bufname filename-str filename-base top-priorities diary-items regexp-items buffer-name string-match "\"\\([^\"]+\\)\"" 1 replace-regexp-in-string ", " "-" "top priorities" "diary items" "regexp items" "Enter a short identifying string to make this file name unique: " read-string ".todt" ".tody" ".todr" prompt todo-directory] 5 (#$ . 123700)])
#@110 Save current Filtered Items buffer to a file.
If the file already exists, overwrite it only on confirmation.
(defalias 'todo-save-filtered-items-buffer #[nil "\301 \206\302 \303\304\")\207" [filename buffer-file-name todo-filter-items-filename write-file t] 3 (#$ . 124345)])
#@53 Function called by the command `todo-print-buffer'.
(custom-declare-variable 'todo-print-buffer-function ''ps-print-buffer-with-faces '(#$ . 124631) :type 'symbol :group 'todo)
#@60 Name of buffer with printable version of Todo mode buffer.
(defvar todo-print-buffer "*Todo Print*" (#$ . 124814))
#@298 Produce a printable version of the current Todo mode buffer.
This converts overlays and soft line wrapping and, depending on
the value of `todo-print-buffer-function', includes faces.  With
non-nil argument TO-FILE write the printable version to a file;
otherwise, send it to the default printer.
(defalias 'todo-print-buffer #[(&optional to-file) "	\306=\203\307\310\n!\311\312 R\202	\313=\205\314 \315\316P\317\320#\321\322\f\323\"\324 \325&'()*+r\326+!q\210&c\210eb\210m\204\210`\212\327 ),-.\203g(T(\315\330(!\316P\317\320#))c\210\331-,\"\210*\332/\325\333#\203\202\334 \210\202Ddb\210\202D\335\336\3370!P\325\333#\203\232\3401!\210eb\210*c\210\341\342!\2102\203\267\343\344!3
!\210)\202\2733 \210)\345+!.\207" [todo-print-buffer major-mode todo-current-todo-file todo-prefix todo-indent-to-here file todo-mode "Todo File: " todo-short-file-name "\nCategory: " todo-current-category todo-filtered-items-mode buffer-name propertize " " face todo-prefix-string 0 make-string 32 buffer-string nil get-buffer-create todo-item-end number-to-string fill-region re-search-forward t beginning-of-line re-search-backward "^" regexp-quote replace-match newline 2 read-file-name "Print to file: " kill-buffer content fill-prefix num prefix header buf end beg todo-number-prefix todo-item-start todo-category-done todo-done-separator to-file todo-print-buffer-function] 7 (#$ . 124936) nil])
#@60 Save printable version of this Todo mode buffer to a file.
(defalias 'todo-print-buffer-to-file #[nil "\300\301!\207" [todo-print-buffer t] 2 (#$ . 126371) nil])
#@523 Regexp matching legacy todo-mode.el item date-time strings.
In order for `todo-convert-legacy-files' to correctly convert
this string to the current Todo mode format, the regexp must
contain four explicitly numbered groups (see `(elisp) Regexp
Backslash'), where group 1 matches a string for the year, group 2
a string for the month, group 3 a string for the day and group 4
a string for the time.  The default value converts date-time
strings built using the default value of
`todo-time-string-format' from todo-mode.el.
(custom-declare-variable 'todo-legacy-date-time-regexp '(concat "\\(?1:[0-9]\\{4\\}\\)-\\(?2:[0-9]\\{2\\}\\)-" "\\(?3:[0-9]\\{2\\}\\) \\(?4:[0-9]\\{2\\}:[0-9]\\{2\\}\\)") '(#$ . 126540) :type 'regexp :group 'todo)
#@85 Return converted date-time string.
Helper function for `todo-convert-legacy-files'.
(defalias 'todo-convert-legacy-date-time #[nil "\306\307!\306\310!\311\312	!\313\"\306\314!\306\315!\316\317\320!\210\321\322\320#\f\205*\323\fP\261.\207" [year month monthname day time dayname match-string 1 2 calendar-month-name string-to-number t 3 4 nil replace-match "" mapconcat eval " " calendar-date-display-form] 4 (#$ . 127282)])
#@365 Convert legacy todo files to the current Todo mode format.
The old-style files named by the variables `todo-file-do' and
`todo-file-done' from the old package are converted to the new
format and saved (the latter as a todo archive file) with a new
name in `todo-directory'.  See also the documentation string of
`todo-legacy-date-time-regexp' for further details.
(defalias 'todo-convert-legacy-files #[nil "\306\300!\203\n\202\307\310\311\"\306\301!\203	\202\307\312\313\"\306\302!\205#\n\306\303!\205*\314@AB\315B!\204@\316\317!\202\231\320\314\211CDE\321\322!FrFq\210\323\216\324B!\210\325 \326 T|\210\327\330\314\331#\210\332\325 \333\224\"eb\210m\204\330\334\335\f\330P!!\203\207\336G!\210\202\322\334\337!\203\224\336\340!\210\202\322\334\335\f\341\342\343\344\"Q!!\203\252\336H!\210\202\322\334\335\f!\341
\203\270
 \202\312I\341@\203\307\335@!\202\310\345\346RQ!\203\322\347 \210\314y\210\202qJ\350\351\352E\"\314\211E$\353QD\315J!\204\365\354J!\210\355edD\314\356\314\331&\210+\321\322!KrKq\210\357\216\324D!\210\360\331!L\361 \210\362 \210)\355edD\314\356%\210+M N\315A!\203t\321\322!OrOq\210\363\216\324A!\210\364 \364 \314\211\211\211PQRSTUm\204\230\334I!\203\253U`\314\223\210\347 \210T`\314\223\210Ub\210\365V\261\210Tb\210\366c\210\314u\210\334I!\203\222\347 \210\334\341@\203\240\335@!\202\241\345\346Q!\203\253\336\340!\210\367\370IP\314\331#\203\275\333\224b\210\202\300db\210\371u\210\372\373\325 \"\203\330\374\375!S\333\224b\210\336\340!\210\372\376\325 \"\203\363\374\375!Q\336\340!\210\365W\377Q\366\261\210T`\314\223\210SR\235\203x\212\201`\370\335G!\201aQ\314\331#\210\374\375!S\230)\204\222\332UT\"PUTT|\210U`\314\223\210\201`\370\335GSP!\201bQ\314\331#\210\314y\210\367\370\335G!\201aQ\314\331#\203f\333\224b\210\201c \210\371y\210\202idb\210P\201d\261\210Ub\210\202\222SRBRUb\210GS\201eH\201d\261\210\314y\210\202ZU\314\211\223\210T\314\211\223\210.\201fD!\201gPD\355edD\314\356\314\331&\210+\321\322!XrXq\210\201h\216\324D!\210\360\331!L\361 \210\362 \210)\355edD\314\356%\210\201i\332\325 \326 \"!C+\201fD!\353PD\321\322!YrYq\210\201j\216\324D!\210\201i\332\325 \326 \"!\211Z\314S\211[\203T[@S\201kS@C\"\211\\\203JSA\201l\\A\201mHI\210)[A\211[\204'*\325 \326 |\210\201nZp\"\210)\355edD\314\356%\210+M\331!]\201o \210\201p\201q!\205\230D^_\204\224\201rD!_\201s +-\207" [todo-file-do todo-file-done todo-initials todo-entry-prefix-function todo-prefix-tem todo-entry-prefix-function-tem boundp locate-user-emacs-file "todo-do" ".todo-do" "todo-done" ".todo-done" nil file-exists-p message "No legacy todo file exists" "todo-do-conv" generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] insert-file-contents line-beginning-position line-end-position search-forward " --- " t buffer-substring-no-properties 0 looking-at regexp-quote replace-match "--- End" "" " " make-string 75 45 "[^:]*" ":" todo-convert-legacy-date-time read-string format "Save file as (default \"%s\"): " ".todo" make-directory write-region nomessage #[nil "\301!\205	\302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] todo-make-categories-list todo-update-categories-sexp todo-check-format #[nil "\301!\205	\302!\207" [#3=#:temp-buffer buffer-name kill-buffer] 2] make-marker "[" "]" re-search-forward "^" -1 looking-back "\\[\\([^][]+\\)\\]" match-string 1 "(\\(.*\\)) " ": " todo-initials-tem todo-file-done-tem todo-file-do-tem archive-sexp file default #1# todo-category-beg todo-category-done todo-legacy-date-time-regexp todo-directory #2# todo-categories todo-files-function todo-files #3# item comment cats cat end beg todo-done-string todo-comment-string #4=#:temp-buffer #5=#:temp-buffer sexp --dolist-tail-- archive-cat todo-archives todo-current-todo-file todo-default-todo-file re-search-backward "\\(.*\\)$" "$" newline "\n" "\n\n" file-name-sans-extension ".toda" #[nil "\301!\205	\302!\207" [#4# buffer-name kill-buffer] 2] read #[nil "\301!\205	\302!\207" [#5# buffer-name kill-buffer] 2] assoc 3 2 prin1 todo-reevaluate-filelist-defcustoms y-or-n-p "Format conversion done; do you want to visit the converted file now? " todo-short-file-name todo-show] 9 (#$ . 127724) nil])
#@184 Return the absolute file name of short todo file NAME.
With TYPE `archive' or `top' return the absolute file name of the
short todo archive or top priorities file name, respectively.
(defalias 'todo-absolute-file-name #[(name &optional type) "\2052\303	\n\304=\203\305\2020\n\306=\203\307\2020\n\310=\203%\311\2020\n\312=\203/\313\2020\314Q!\207" [name todo-directory type file-truename archive ".toda" top ".todt" diary ".tody" regexp ".todr" ".todo"] 5 (#$ . 132092)])
#@355 Check the state associated with FILE and update it if necessary.
If FILE exists, return t.  If it does not exist and there is no
live buffer with its content, return nil; if there is such a
buffer and the user tries to show it, ask whether to restore
FILE, and if confirmed, do so and return t; else delete the
buffer, clean up the state and return nil.
(defalias 'todo-check-file #[(file) " \306!\307!\203\306\207\310\f\"\311!\211\203<\312\313\314\315!\"\316P!\203<r
q\210\317 \210) \306!\306\202\220\320	\n\"\321!\203`\235\204`\322\203p\235\204p\322\203\203\235\204\203\315	@!\323 \210
\203\216\324
!\210,\322)\207" [todo-files-function todo-files todo-archives file todo-visited buf t file-exists-p delete find-buffer-visiting y-or-n-p format "Todo file \"%s\" has been deleted but its content is still in a buffer!\n" todo-short-file-name "Save that buffer and restore the todo file? " save-buffer append todo-absolute-file-name nil todo-reevaluate-filelist-defcustoms kill-buffer files todo-current-todo-file tctf todo-global-current-todo-file tgctf todo-default-todo-file tdtf] 6 (#$ . 132583)])
#@135 Return the number of category CAT in this todo file.
The buffer-local variable `todo-category-number' holds this
number as its value.
(defalias 'todo-category-number #[(cat) "\304\305\"\211G\n	\235GZT\211)\207" [todo-categories categories cat todo-category-number mapcar car] 4 (#$ . 133756)])
#@42 Return the name of the current category.
(defalias 'todo-current-category #[nil "S	8@\207" [todo-category-number todo-categories] 2 (#$ . 134059)])
#@41 Display the current category correctly.
(defalias 'todo-category-select #[nil "\306 \307\211\211\211\211~\210eb\210\310\311\312
P!\313Q\307\314#\210\315 T\310\311\312!P\307\314#\2036\316\224\2027d
! \f}\210\317 \210eb\210\310\320\312!!\321Q\307\314#\203b\316\224\322\224\316\225\202g\323\324
\"\210\"\203sTd}\202\271#\203\251\310$\307\314#\203\251%&	b\210\325\326!\211'\204\250\327	\"'\330'\331\326#\210\330'\332&#\210*e\n}\210(\205\271\333\334!\210\335\322!.\207" [done-end done-sep-start done-start cat-end cat-begin name todo-current-category nil re-search-forward "^" regexp-quote "$" t line-end-position 0 todo-prefix-overlays "\n\\(" "\\)" 1 error "Category %s is missing todo-category-done string" todo-get-overlay separator make-overlay overlay-put todo display require hl-line hl-line-mode todo-category-beg todo-mode-line-function mode-line-buffer-identification todo-category-done todo-show-done-only todo-show-with-done todo-done-string-start todo-done-separator done-sep ov todo-highlight-item] 7 (#$ . 134214)])
#@94 Return count of TYPE items in CATEGORY.
If CATEGORY is nil, default to the current category.
(defalias 'todo-get-count #[(type &optional category) "\206\306 \307	\n\"A\f\310=\203\311\2022\f\312=\203!\313\2022\f\314=\203+\315\2022\f\316=\2052\317
H+\207" [category cat todo-categories counts type idx todo-current-category assoc todo 0 diary 1 done 2 archived 3] 3 (#$ . 135292)])
#@125 Change count of TYPE items in CATEGORY by integer INCREMENT.
With nil or omitted CATEGORY, default to the current category.
(defalias 'todo-update-count #[(type increment &optional category) "\206\306 \307	\n\"A\f\310=\203\311\2022\f\312=\203!\313\2022\f\314=\203+\315\2022\f\316=\2052\317

H\\I+\207" [category cat todo-categories counts type idx todo-current-category assoc todo 0 diary 1 done 2 archived 3 increment] 5 (#$ . 135694)])
#@61 Set `todo-categories' from the sexp at the top of the file.
(defalias 'todo-set-categories #[nil "\301 \302U?\205&\212\214~\210eb\210\303\304!\203 \305\306\307 \310 \"!\202#\311\312!\211*\207" [todo-categories buffer-size 0 looking-at "((\"" read buffer-substring-no-properties line-beginning-position line-end-position error "Invalid or missing todo-categories sexp"] 4 (#$ . 136156)])
#@59 Update the `todo-categories' sexp at the top of the file.
(defalias 'todo-update-categories-sexp #[nil "\303\212\214~\210eb\210\304\305\306	!P!\203 \307 \210eb\210\310\311!\202&\312 \313 |\210\314\np\"+\207" [buffer-read-only todo-category-beg todo-categories nil looking-at "^" regexp-quote newline todo-make-categories-list t line-beginning-position line-end-position prin1] 4 (#$ . 136553)])
#@197 Return an alist of todo categories and their item counts.
With non-nil argument FORCE parse the entire file to build the
list; otherwise, get the value by reading the sexp at the top of
the file.
(defalias 'todo-make-categories-list #[(&optional force) "\306\212\214~\210eb\210\306\211\211\f\203$\307\f!
\310!\235\204$\311%!\312Pm\204\n\313\314&!\315P!\203\256\316\317!\320\321\322\"\323\nBC\"	
\310!\235\203\322\324	!'(r'\206]\325	!q\210\212\214~\210eb\210\326\327\314&!\n\330Rd\310#\203\231\306y\210\313\314&!\315P!\204\231m\204\231\313)!\203\223(T(\306y\210\202x*'\204\242\331 \210)\332\333(\n#\210*\202\313)!\203\276\332\334\317\n#\210\202\313\335\314*!\336+R!\203\333\332\337\317\n#\210\332\340\317\n#\210\202\313,+P!\203\356\332\340\317\n#\210\202o\203-\204\341\342\343 \344 \"!dSb\210\306y\210\202$-\207" [todo-categories archive cat counts buffer-file-name todo-files-function nil file-truename t file-name-sans-extension ".toda" looking-at regexp-quote "\\(.*\\)\n" match-string-no-properties 1 make-vector 4 0 append find-buffer-visiting find-file-noselect re-search-forward "^" "$" kill-buffer todo-update-count archived done "^\\(" "\\)?" diary todo read buffer-substring-no-properties line-beginning-position line-end-position todo-current-todo-file todo-category-beg visiting archive-count todo-done-string-start diary-nonmarking-symbol todo-date-pattern todo-date-string-start force] 5 (#$ . 136959)])
#@334 Repair corrupt todo file categories sexp.
This should only be needed as a consequence of careless manual
editing or a bug in todo.el.

*Warning*: Calling this command restores the category order to
the list element order in the todo file categories sexp, so any
order changes made in Todo Categories mode will have to be made
again.
(defalias 'todo-repair-categories-sexp #[nil "\301\302!\303 )\207" [todo-categories todo-make-categories-list t todo-update-categories-sexp] 2 (#$ . 138442) nil])
#@203 Signal an error if the current todo file is ill-formatted.
Otherwise return t.  Display a message if the file is well-formed
but the categories sexp differs from the current value of
`todo-categories'.
(defalias 'todo-check-format #[nil "\212\214~\210eb\210\306!\307\310 \311 \"\312\n!\211\313\211\203F
@\211A\f@;\203:\314!\203:G\315U\204>\316\317!\210)
A\211\204*\313y\210\320\321!\322\323 \322\324\325\326\321!!\322\323\"\322\260#m\204~\327#!\204x\316\330\331`!\"\210\313y\210\202f)\n	\230\204\211\332\333!\210-\334\207" [todo-categories cats ssexp sexp c --dolist-tail-- prin1-to-string buffer-substring-no-properties line-beginning-position line-end-position read nil vectorp 4 user-error "Invalid or missing todo-categories sexp" "\\(^" regexp-quote "\\)" "\\|\\(" "\\|\\(^[ 	]+[^ 	]*\\)" "\\|^$" "\\|\\(^" looking-at "Illegitimate todo file format at line %d" line-number-at-pos message "The sexp at the beginning of the file differs from the value of `todo-categories'.\nIf the sexp is wrong, you can fix it with M-x todo-repair-categories-sexp,\nbut note this reverts any changes you have made in the order of the categories." t v todo-category-beg todo-date-string-start todo-date-pattern todo-category-done todo-done-string-start legit] 16 (#$ . 138946)])
#@61 Move to start of current todo item and return its position.
(defalias 'todo-item-start #[nil "ed=\206$\303\304!\203m\206$\212\305y\210\303\306\307!P!)\206$\303\307	!!?\2059\310 b\210\303\n!\2048\311y\210\202,`\207" [todo-category-done todo-category-beg todo-item-start looking-at "^$" nil "^" regexp-quote line-beginning-position -1] 4 (#$ . 140252)])
#@59 Move to end of current todo item and return its position.
(defalias 'todo-item-end #[nil "\306\307!?\205b\310 \311\212\312\313\314\203\n\202!P\311\315#)\203)\315\316\224\202*dn\2032\311u\210\312
\f\315#\203?\316\224\202H	\203G\f\202Hdb\210	\203\\\204\\`\f=\203\\\317\202]\320[u\210`+\207" [done to-lim todo-category-beg todo-category-done lim todo-item-start looking-at "^$" todo-done-item-p nil re-search-forward "^" regexp-quote t 0 2 1] 4 (#$ . 140619)])
#@47 Return bare text of current item as a string.
(defalias 'todo-item-string #[nil "`\303 \304 \211b\210	\205\205\305	\"+\207" [end start opoint todo-item-start todo-item-end buffer-substring-no-properties] 4 (#$ . 141106)])
#@66 Move point COUNT items down (by default, move down by one item).
(defalias 'todo-forward-item #[(&optional count) "\304 \206\305\306!?\307 \211b\210\310\n\311\312\206\313$\203$\314\224b\210\202'db\210\205:\304 \205:?\205:\315\306	\312#*\207" [not-done start todo-item-start count todo-done-item-p looking-at "^$" line-end-position re-search-forward nil t 1 0 re-search-backward] 6 (#$ . 141343)])
#@488 Move point up to start of item with next higher priority.
With positive numerical prefix COUNT, move point COUNT items
upward.

If the category's done items are visible, this command called
with a prefix argument only moves point to a higher item, e.g.,
with point on the first done item and called with prefix 1, it
moves to the last todo item; but if called with point on the
first done item without a prefix argument, it moves point the the
empty line above the done items separator.
(defalias 'todo-backward-item #[(&optional count) "\305 \301 \210o\204\306	\307\310\n\206\311$\210\2058\305 ?\2058\n?\2058\312 \232?\2058\313\314\315\f!P\307\310#\210\316y)\207" [done todo-item-start count todo-regexp-items-buffer todo-category-done todo-done-item-p re-search-backward nil t 1 buffer-name re-search-forward "^" regexp-quote -1] 5 (#$ . 141761)])
#@64 Internal function called in editing, deleting or moving items.
(defalias 'todo-remove-item #[nil "\303 \210`T\304 \305\306!\211\203\307\n!\210	|+\207" [end beg ov todo-item-end todo-item-start todo-get-overlay prefix delete-overlay] 3 (#$ . 142628)])
#@57 Return non-nil if item at point has diary entry format.
(defalias 'todo-diary-item-p #[nil "\212\301 \205\302 \210\303\304!!?)\207" [todo-nondiary-start todo-item-string todo-item-start looking-at regexp-quote] 3 (#$ . 142891)])
#@140 Jump to the diary entry for the BUTTON at point.
If the entry is a todo item, display its category properly.
Overrides `diary-goto-entry'.
(defalias 'todo-diary-goto-entry #[(button) "\306\301\"\211A@\307\310	8!\307\311	8!\312\n!\203!\313\n!\204'\314\315!\202{\316\317\n!!\317
!\232\203<\320\321!\204<\321 \210\321=\203E~\210eb\210\322\323\324\f#\325\326#\203X\327\224b\210\321=\205{`\330\331\307 !\332Q\325\326#\210\333\334\327!!\210\335 \210b),\207" [button locator file date content todo-directory button-get regexp-quote 2 3 file-exists-p find-file-other-window message "Unable to locate this diary entry" file-name-directory file-truename derived-mode-p todo-mode re-search-forward format "%s.*\\(%s\\)" nil t 1 re-search-backward "^" "\\(.*\\)\n" todo-category-number match-string todo-category-select major-mode opoint todo-category-beg] 6 (#$ . 143130)])
(byte-code "\300\301\302\303B\304\305$\207" [advice--add-function :override #[nil "\300\301!\207" [default-value diary-goto-entry-function] 2] #[(gv--val) "\301\302\"\207" [gv--val set-default diary-goto-entry-function] 3] todo-diary-goto-entry nil] 5)
#@105 Call `revert-buffer', preserving buffer's current modes.
Also preserve category display, if applicable.
(defalias 'todo-revert-buffer #[(&optional ignore-auto noconfirm) "\304\305	\n\306#\210\307>\205\310 )\207" [revert-buffer-function ignore-auto noconfirm major-mode nil revert-buffer preserve-modes (todo-mode todo-archive-mode) todo-category-select] 4 (#$ . 144277) (list (not current-prefix-arg))])
(defalias 'todo-desktop-save-buffer #[(_dir) "\300\301\302 !BC\207" [catnum todo-category-number todo-current-category] 3])
(defalias 'todo-restore-desktop-buffer #[(file buffer misc) "\304	\n#\210r	q\210~\210\305\n\236A\306 \210p*\207" [file buffer misc todo-category-number desktop-restore-file-buffer catnum todo-category-select] 4])
(add-to-list 'desktop-buffer-mode-handlers '(todo-mode . todo-restore-desktop-buffer))
#@49 Return non-nil if item at point is a done item.
(defalias 'todo-done-item-p #[nil "\212\301 \210\302!)\207" [todo-done-string-start todo-item-start looking-at] 2 (#$ . 145117)])
#@62 Return non-nil if point is in category's done items section.
(defalias 'todo-done-item-section-p #[nil "\212\302\303\304!P\305\306#\206eb\210\307	!)\207" [todo-category-done todo-done-string-start re-search-backward "^" regexp-quote nil t looking-at] 4 (#$ . 145302)])
#@136 Signal user error on marked done items.
Helper function for editing commands that apply only to (possibly
marked) not done todo items.
(defalias 'todo--user-error-if-marked-done-item #[nil "\212\214db\210\301 \210\302 \204!~\210\303\304\305!P\306\307#\204db\210\310y\210\302 \2055\311 \203/\312\313!\210\301 \210\202!*\207" [todo-category-beg todo-backward-item todo-done-item-p re-search-forward "^" regexp-quote nil t -1 todo-marked-item-p user-error "This command does not apply to done items"] 4 (#$ . 145581)])
#@63 Replace existing overlays of done items separator string SEP.
(defalias 'todo-reset-done-separator #[(sep) "\212\214~\210eb\210\306\307\310!\311Q\312\313#\205Q\314\224\315\225	b\210\316\317!\211\205)\320\321\"\312\f\203M\f\230\204M\322	\n\"\323
\324\317#\210\323
\321#\210\325!\210-\202*\207" [todo-category-done beg end ov old-sep new-ov re-search-forward "\n\\(" regexp-quote "\\)" nil t 1 0 todo-get-overlay separator overlay-get display make-overlay overlay-put todo delete-overlay sep todo-done-separator] 5 (#$ . 146110)])
#@66 Return the overlay at point whose `todo' property has value VAL.
(defalias 'todo-get-overlay #[(val) "\303``T\"\304\3052(	\205'	\211A\242\306\307\"\n=\203\f\310\305\"\210\202\f0*\207" [ov ovs val overlays-in nil done overlay-get todo throw] 3 (#$ . 146664)])
#@100 Non-nil if this item begins with `todo-item-mark'.
In that case, return the item's prefix overlay.
(defalias 'todo-marked-item-p #[nil "\304\305!\211\205\f\306\307\"\211\205\310\311\312\n!P	\"\211\205+\207" [ov pref todo-item-mark marked todo-get-overlay prefix overlay-get before-string string-match "^" regexp-quote] 5 (#$ . 146940)])
#@66 Insert ITEM at point and update prefix/priority number overlays.
(defalias 'todo-insert-with-overlays #[(item) "\303 \210\304\305!\306 \n\307\261\210\203\310	``#\210*\311 \210\312 \207" [marked ov item todo-item-start todo-get-overlay prefix todo-marked-item-p "\n" move-overlay todo-backward-item todo-prefix-overlays] 4 (#$ . 147293)])
#@327 Update the prefix overlays of the current category's items.
The overlay's value is the string `todo-prefix' or with non-nil
`todo-number-prefix' an integer in the sequence from 1 to
the number of todo or done items in the category indicating the
item's priority.  Todo and done items are numbered independently
of each other.
(defalias 'todo-prefix-overlays #[nil "\306\307\310 \311\307	\"8\"A\206\307	\"A@\206\n\312\211#\212eb\210m?\205\301\313\314 !\2047\315\314 !\203\273\306\224b\210#T#$\316=\203b\317%!\203b\320\321\322&!\323Q\324\306!\"\203b\325#\326\327'\203o\330#!\202q(\331$\316=\203\210\f\204\210#
X\203\210\332\202\211\333#\334P\335\303!\336 )\211*\204\240\337``\"*\340*\341\303#\210\340*\342)\203\267+P\202\270#\210*\312y\210\202$-\207" [todo-current-todo-file todo-top-priorities-overrides todo-top-priorities prefix done cat-tp 0 assoc-string todo-current-category 2 nil todo-date-string-matcher line-end-position todo-done-string-matcher todo-mode looking-at looking-back "^" regexp-quote "\n" line-beginning-position 1 t propertize number-to-string face todo-top-priority todo-prefix-string " " todo-get-overlay todo-marked-item-p make-overlay overlay-put todo before-string num major-mode todo-done-string-start todo-category-done todo-number-prefix todo-prefix marked ov todo-item-mark] 8 (#$ . 147644)])
#@150 List of all item insertion parameters.
Passed by `todo-insert-item' to `todo-insert-item--next-param' to
dynamically create item insertion commands.
(defconst todo-insert-item--parameters '((default copy) (diary nonmarking) (calendar date dayname) time (here region)) (#$ . 149022))
#@68 List pairing item insertion parameters with their completion keys.
(defconst todo-insert-item--param-key-alist '((default . "i") (copy . "p") (diary . "y") (nonmarking . "k") (calendar . "c") (date . "d") (dayname . "n") (time . "t") (here . "h") (region . "r")) (#$ . 149311))
#@46 Return key paired with item insertion PARAM.
(defalias 'todo-insert-item--keyof #[(param) "\302	\"A\207" [param todo-insert-item--param-key-alist assoc] 3 (#$ . 149595)])
(put 'todo-insert-item--keyof 'byte-optimizer 'byte-compile-inline-expand)
#@63 Return sublist of LIST whose first member corresponds to KEY.
(defalias 'todo-insert-item--argsleft #[(key list) "\306\211\307\310\n\"\210\311	!*\31225\306\211\2053
@\f\fA\232\203+\313\312\f@\"\210
A\211\204\306*0\n>\207" [sym l list todo-insert-item--param-key-alist e --dolist-tail-- nil mapc #[(m) ":\2034\30623\307\211\2051\n@	\310\f
\"A)\232\203)\311\306	\211\n\"\210\nA\211\204\307*0\210\n\203E\nB\307\211\n\207B\211\207" [m s --dolist-tail-- key param todo-insert-item--param-key-alist found1 nil assoc throw sym l] 5] reverse found2 throw key] 4 (#$ . 149848)])
(defalias 'todo-insert-item--this-key #[nil "\301!\207" [last-command-event char-to-string] 2])
(put 'todo-insert-item--this-key 'byte-optimizer 'byte-compile-inline-expand)
#@64 String of item insertion keys so far entered for this command.
(defvar todo-insert-item--keys-so-far "" (#$ . 150641))
(defvar todo-insert-item--args nil)
(defvar todo-insert-item--argleft nil)
(defvar todo-insert-item--argsleft nil)
(defvar todo-insert-item--newargsleft nil)
#@275 Build list of arguments for item insertion and apply them.
The list consists of item insertion parameters that can be passed
as insertion command arguments in fixed positions.  If a position
in the list is not occupied by the corresponding parameter, it is
occupied by nil.
(defalias 'todo-insert-item--apply-args #[nil "@CA\303\306\n!\"@C\244\211G\307U\203\f\202o\310\307\311\"\311\f\203i\f\211A\242\211\312>\203<\313
I\210\202#
\314>\203K\315
I\210\202#
\316=\203Z\317
I\210\202#
\320>\203#\321
I\210\202#\322\311\"*\323\324	\244\"+\207" [todo-insert-item--args arg last-command-event todo-insert-item--argsleft args elt char-to-string 4 make-vector nil (diary nonmarking) 0 (calendar date dayname) 1 time 2 (copy here region) 3 append apply todo-insert-item--basic v arglist] 5 (#$ . 150925)])
#@174 Build item insertion command from LAST, ARGS and ARGSLEFT and call it.
Dynamically generate key bindings, prompting with the keys
already entered and those still available.
(defalias 'todo-insert-item--next-param #[(last args argsleft) "\204\306\300!\210\307 \310\311\f\203V\312>\203)\310\313 \210\202V\314\"A)\315\316!\317P!\"\210\320	\314\"A)\321#\210)\203\270@A:\203p\202sC\310\211\203\257@\211\314\"A)\"\210\320	\204\242\322\202\243\323#\210)A\211\204|+\211\204[\n\203\303\324\325 \n#\210\326	!\210\211+\207" [argsleft map prompt addprompt args todo-insert-item--args cl--assertion-failed make-sparse-keymap nil #[(k name) "\303	\304>\203\f\305\202
\306\307	\310>\205\311Q\312\n\313\314#	#P\211\207" [prompt name k format (default diary calendar here) " { " " " "%s=>%s" (copy nonmarking dayname region) " }" propertize face todo-key-prompt] 7] (default copy) todo-insert-item--apply-args assoc make-symbol symbol-name ":GO!" define-key #[nil "\300 \207" [todo-insert-item--apply-args] 1 nil nil] #[nil "\300 \207" [todo-insert-item--apply-args] 1 nil nil] #[nil "\304\305	!Q\306\302\305	!\n\"@\302\305	!\n\"@C\244\302\305	!\n\"A#\207" [todo-insert-item--keys-so-far last-command-event todo-insert-item--argsleft todo-insert-item--args " " char-to-string todo-insert-item--next-param] 6 nil nil] message "Press a key (so far `%s'): %s" set-transient-map todo-insert-item--argsleft last param todo-insert-item--param-key-alist k x todo-insert-item--newargsleft argleft --dolist-tail-- todo-insert-item--keys-so-far] 6 (#$ . 151765)])
#@50 Alist of item editing parameters and their keys.
(defconst todo-edit-item--param-key-alist '((edit . "e") (header . "h") (multiline . "m") (diary . "y") (nonmarking . "k") (date . "d") (time . "t")) (#$ . 153421))
#@55 Alist of item date editing parameters and their keys.
(defconst todo-edit-item--date-param-key-alist '((full . "f") (calendar . "c") (today . "a") (dayname . "n") (year . "y") (month . "m") (daynum . "d")) (#$ . 153641))
#@63 Alist of done item comment editing parameters and their keys.
(defconst todo-edit-done-item--param-key-alist '((add/edit . "c") (delete . "d")) (#$ . 153868))
(defvar todo-edit-item--prompt "Press a key (so far `e'): ")
(defalias 'todo-edit-item--next-key #[(params &optional arg) "\306 \307\310	\311#\312!\313\f\nP!\314
!\205\315
!))\316)	\"@\211*\317=\2032\320 \202\n*\321=\203?\320\322!\202\n*\323=\203L\320\323!\202\n*\324=\203Y\320\325!\202\n*\326=\203f\320\327!\202\n*\330=\203r\331 \202\n*\332=\203\331\332!\202\n*\333=\203\222\334\335+,\")\202\n*\336=\203\250\337\333!\210-\205\n\337\340!\202\n*\341=\203\265\337\341!\202\n*\342=\203\302\337\342!\202\n*\343=\203\317\337\343!\202\n*\344=\203\336\337\344,\"\202\n*\345=\203\355\337\345,\"\202\n*\346=\203\374\337\347,\"\202\n*\340=\203	\337\340!\202\n\350-\207" [map params p->k todo-edit-item--prompt key-prompt key make-sparse-keymap mapconcat #[(elt) "\301\302\303A\304\305#\306@!@\307>\205\310P#\207" [elt format "%s=>%s" propertize face todo-key-prompt symbol-name (add/edit delete) " comment"] 6] " " substitute-command-keys read-key characterp char-to-string rassoc edit todo-edit-item--text header include-header multiline add/edit comment-edit delete comment-delete diary todo-edit-item--diary-inclusion nonmarking date "Press a key (so far `e d'): " todo-edit-item--next-key full todo-edit-item--header time calendar today dayname year month daynum day nil this-key this-param todo-edit-item--date-param-key-alist arg todo-always-add-time-string] 5])
#@56 Non-nil means allow SPC to affirm a "y or n" question.
(custom-declare-variable 'todo-y-with-space nil '(#$ . 155463) :type 'boolean :group 'todo)
#@196 Ask "y or n" question PROMPT and return t if answer is "y".
Also return t if answer is "Y", but unlike `y-or-n-p', allow
SPC to affirm the question only if option `todo-y-with-space' is
non-nil.
(defalias 'todo-y-or-n-p #[(prompt) "\204\n\303	\304\305#\210\306\n!\303	\304\307#\210\207" [todo-y-with-space query-replace-map prompt define-key " " ignore y-or-n-p act] 5 (#$ . 155617)])
#@503 Return a list of completions for `todo-read-category'.
Each element of the list is a cons of a category name and the
file or list of files (as short file names) it is in.  The files
are either the current (or if there is none, the default) todo
file plus the files listed in `todo-category-completions-files',
or, with non-nil ARCHIVE, the current archive file.

Before calculating the completions, update the value of
`todo-category-completions-files' in case any files named in it
have been removed.
(defalias 'todo-category-completions #[(&optional archive) "\306	\306\211\203%@\307\310\n!!\204\311\n	\"\nBA\211\204\n*\203_G\312V\313\314\315#\316\317
\203?\320\202@\321\322
\203I\323\202J\320\324\325\260\f\"\210*\326 \210\327\301\211J\"\210\330\331!\210),\206s-\203o.\206s\310/!01\204\201\332\310	\"\206\2040C2\306\21134\333\3340!!\335U?\205)05\235\204\26502\235\203\2562\210\202\26502B22\306\211\203$@r\336\n\337\"q\2101\203\331\340\341!\204\342\341 \210\202\342\340\342!\204\342\342 \21067\333 deZV\203\374\212eb\210\3438\306\344#7)76\212\345 \210+\212\214~\210eb\210\346\347\350 \351 \"!4+\352\3534\"\210A\211\204\276\3063*,\207" [deleted todo-category-completions-files f --dolist-tail-- names pl nil file-exists-p todo-absolute-file-name delete 1 mapconcat #[(f) "\301\301Q\207" [f "\""] 3] ", " message "File" "s" "" " %s ha" "ve" " been deleted and removed from\n" "the list of category completion files" todo-reevaluate-category-completions-files-defcustom custom-set-default sleep-for 1.5 mapcar buffer-size find-buffer-visiting 0 find-file-noselect nowarn derived-mode-p todo-archive-mode todo-mode re-search-forward t todo-category-select read buffer-substring-no-properties line-beginning-position line-end-position mapc #[(elt) "@\305	\n\"\211\203\306AC\fC\"\241\202	\fB\nB\211*\207" [elt cat listall la-elt f assoc append] 5] todo-current-todo-file todo-show-current-file todo-global-current-todo-file todo-default-todo-file curfile archive files listall listf todo-archives todo-show-with-done done todo-done-string-start] 8 (#$ . 156011)])
#@358 Choose and return the name of a todo file, prompting with PROMPT.

Show completions with TAB or SPC; the names are shown in short
form but the absolute truename is returned.  With non-nil ARCHIVE
return the absolute truename of a todo archive file.  With non-nil
MUSTMATCH the name of an existing file must be chosen;
otherwise, a new file name is allowed.
(defalias 'todo-read-file-name #[(prompt &optional archive mustmatch) "\306\307\n\203\f\202
\f\"\310
\311\311\211
\2034\307\2060\203,\2060\312!!\2025\313&\314!\204E\315!\210\204X
\235\204X\316\317\"\320\n\203e\321\202f\322Q!\211+\207" [todo-completion-ignore-case completion-ignore-case archive todo-archives todo-files files mapcar todo-short-file-name completing-read nil todo-absolute-file-name "" file-exists-p make-directory todo-validate-name file file-truename ".toda" ".todo" prompt mustmatch todo-current-todo-file todo-show-current-file todo-global-current-todo-file todo-default-todo-file todo-directory] 10 (#$ . 158167)])
#@651 Choose and return a category name, prompting with PROMPT.
Show completions for existing categories with TAB or SPC.

The argument MATCH-TYPE specifies the matching requirements on
the category name: with the value `todo' or `archive' the name
must complete to that of an existing todo or archive category,
respectively; with the value `add' the name must not be that of
an existing category; with all other values both existing and new
valid category names are accepted.

With non-nil argument FILE prompt for a file and complete only
against categories in that file; otherwise complete against all
categories from `todo-category-completions-files'.
(defalias 'todo-read-category #[(prompt &optional match-type file) "\306 \307	\"\210\310\311\312#\210)\n\303=\n\304=
\2055(G\313V\2055\314\315\f\203/\316\2020\317\320Q\f\321#\211)?\205?\322\f!*)\203ar\323)\324\"q\210\325\326!\204W\326 \210)+,*\202x\203v
\204vr\323+!q\210,)\202x*-./\3270-\312\n\330=\312\211-\203\253\204\253r\323)\206\242+\206\242\3311!!q\210\332 )\202\254\333&2\3342*\"A3\3354)\204\355\204\3553\203\355\3363:\204\3263\202\352\331\337\3403\"5\327\34142\"5\")!!))\204\366+)\3342-\"\203\203F-,\3422\343\"2)\204F\344\341\3452\340)!#!\203C\3342-\"\2036-,\3422\343\"2)\212\214\346)2\"\210*\202F\347 \2102).\nB\207" [map minibuffer-local-completion-map match-type add archive file make-sparse-keymap set-keymap-parent define-key " " nil 1 todo-read-file-name "Choose a" "n archive" " todo" " file: " t todo-category-completions find-file-noselect nowarn derived-mode-p todo-mode completing-read todo todo-absolute-file-name todo-current-category "" assoc "Category \"%s\" from which file (TAB for choices)? " file-truename mapcar todo-short-file-name format todo-validate-name category todo-y-or-n-p "Add new category \"%s\" to file \"%s\"? " todo-add-category keyboard-quit todo-files file0 completions todo-current-todo-file todo-categories categories todo-completion-ignore-case completion-ignore-case prompt todo-default-todo-file cat catfil str files] 11 (#$ . 159215)])
#@121 Prompt for new NAME for TYPE until it is valid, then return it.
TYPE can be either of the symbols `file' or `category'.
(defalias 'todo-validate-name #[(name type) "\306\307	\"\310
\311\230\203?\312=\203&\203\313\202:\314\315Q\202:\316=\205:\f\2035\317\202:\320\315Q\211\202p\321\322
\"\203L\323\211\202p\312=\203_
\235\203_\324\211\202p\316=\203\306\325
\f\"\203\306\326\211\203\306\312=\203~\204\211\316=\203\242\f\203\242\327\n\312=\203\226\202\236\316=\205\236\f\"\202\301\327\n\312=\203\257\202\260\f\310\211\312=\203\276\202\300%\211\204	
+\207" [todo-categories todo-files prompt files categories name mapcar todo-short-file-name nil "" file "Enter a non-empty file name: " "Initial file name [" "]: " category "Enter a non-empty category name: " "Initial category name [" string-match "\\`\\s-+\\'" "Enter a name that does not contain only white space: " "Enter a non-existing file name: " assoc "Enter a non-existing category name: " completing-read type todo-initial-file todo-initial-category] 7 (#$ . 161357)])
#@511 Prompt for Gregorian date and return it in the current format.

With non-nil ARG, prompt for and return only the date component
specified by ARG, which can be one of these symbols:
`month' (prompt for name, return name or number according to
value of `calendar-date-display-form'), `day' of month, or
`year'.  The value of each of these components can be `*',
indicating an unspecified month, day, or year.

When ARG is `day', non-nil arguments MO and YR determine the
number of the last the day of the month.
(defalias 'todo-read-date #[(&optional arg mo yr) "\306\211\211\211\211
\203
\304=\203>\307\f!\203 \f\310W\202$\f\311=?\203>\312\313\306\211\314\306\315\316 #\317#8)!&\202
\203H
\302=\203\220$%\320%\306\"&'(\320(\306\")*+\321\322&\306\314\306\211\323\316 \211#@)\314\"&&G&\235\206\205)\235GZT(\nSH-
\203\232
\301=\203/\n\206\240,\f\206\246-.\211/\324U\203\263\310/\f\311=\203\274\325./.\211\317U\203\363\f\211\326W\203\325\327\f!S\f\330\246\326U\205\353\f\331\246\326U?\206\353\f\332\246\326U)\203\363\333\202\367\334\nSH,0\307	!\203
	\310W\204	0V\202	\311=?\203.\312\335\3360\"\306\211\314\306\315\316 \211#A@)!&\202\372)\f\203A\f\311=\203=\337\202@\315\f!	\203S	\311=\203O\337\202R\315	!\n\203e\n\324U\203a\337\202d\315\n!
\203\222
\304=\203s\f\202\230
\301=\203}	\202\230
\302=\205\230\3021>\203\216\n\202\230\202\230\340\3411\342#-\207" [dayname day month monthname year arg nil natnump 1 * read-from-minibuffer "Year (>0 or RET for this year or * for any year): " t number-to-string calendar-current-date 2 append completing-read "Month name (RET for current month, * for any month): " calendar-month-name 13 2012 0 abs 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] format "Day (1-%d or RET for today or * for any day): " "*" mapconcat eval "" date todo-month-name-array marray mlist todo-month-abbrev-array mabarray mablist todo-completion-ignore-case completion-ignore-case mo yr yy mm last calendar-date-display-form] 11 (#$ . 162460)])
#@65 Choose name of a day of the week with completion and return it.
(defalias 'todo-read-dayname #[nil "\303\304\305\n\306\"\306\307$)\207" [todo-completion-ignore-case completion-ignore-case calendar-day-name-array completing-read "Enter a day name: " append nil t] 5 (#$ . 164529)])
#@285 Prompt for and return a valid clock time as a string.

Valid time strings are those matching `diary-time-regexp'.
Typing `<return>' at the prompt returns the current time, if the
user option `todo-always-add-time-string' is non-nil, otherwise
the empty string (i.e., no time string).
(defalias 'todo-read-time #[nil "\304\211	\204*\305\306\304\211\n\205\307 \310\311O$\211\312\230\204$\313\"\203\314\211\203*\207" [answer valid todo-always-add-time-string diary-time-regexp nil read-string "Enter a clock time: " current-time-string 11 16 "" string-match t] 8 (#$ . 164819)])
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\302\313\306\307\310\301&\210\300\314\302\315\306\307\310\301&\210\300\316\302\317\306\307\310\301&\210\300\320\302\321\306\307\310\301&\210\300\322\302\323\306\307\310\301&\207" [custom-declare-group todo nil "Create and maintain categorized lists of todo items." :link (emacs-commentary-link "todo") :version "24.4" :group calendar todo-edit "User options for adding and editing todo items." todo-categories "User options for Todo Categories mode." todo-filtered "User options for Todo Filter Items mode." todo-display "User display options for Todo mode." todo-faces "Faces for the Todo modes."] 10)
#@61 The :set function for user option `todo-show-current-file'.
(defalias 'todo-set-show-current-file #[(symbol value) "\302	\"\210	\203\303\304\305\306\307$\207\310\304\305\307#\207" [symbol value custom-set-default add-hook pre-command-hook todo-show-current-file nil t remove-hook] 5 (#$ . 166090)])
#@63 The :set function for `todo-prefix' and `todo-number-prefix'.
(defalias 'todo-reset-prefix #[(symbol value) "J	\306\f\"\210\f\232?\2054\n\307\211\n\2053\n@r\310
!q\210\212\311 \210*\nA\211\n\204\307**\207" [symbol todo-file-buffers files oldvalue value f custom-set-default nil find-file-noselect todo-category-select --dolist-tail--] 4 (#$ . 166398)])
#@59 The :set function for user option `todo-nondiary-marker'.
(defalias 'todo-reset-nondiary-marker #[(symbol value) "J\306\n\307\f\310\311\310$#\312!\"\210\"@#\"A@$\313\314#!\315\314%!\316\260&!	\232?\205\277
\317'\211(\205\276(@'\320'!)r\321'!q\210\317*~\210eb\210m\204\233\322\313+\323\324\314	@!\325,\326-\327\314	A@!\325\260\f\317\310#\203\225\330!@\310\211\317\331%\210\330!A@\310\211\317\332%\210\202Z\317y\210\202Z)\203\255\333\334\335\"\203\263\336 \210\202\263\337 \210\340 \210+(A\211(\204@\317**\207" [symbol oldvalue todo-files todo-archives todo-directory files append directory-files t "\\.tod[rty]$" custom-set-default "^\\(" regexp-quote "\\|" "\\)?" nil find-buffer-visiting find-file-noselect re-search-forward "[^][]+] \\)?" "\\(?1:" "\\)" "\\( " "\\)?\\(?2:" replace-match 1 2 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer value todo-nondiary-marker todo-nondiary-start todo-nondiary-end diary-nonmarking-symbol todo-date-string-start f --dolist-tail-- buf buffer-read-only todo-done-string-start todo-date-pattern diary-time-regexp] 14 (#$ . 166772)])
#@53 The :set function for `todo-done-separator-string'.
(defalias 'todo-reset-done-separator-string #[(symbol value) "J	\n\306\f\"\210\f
\232?\205M\f\307
\211\205L@
r\310
!q\210\307\302 \fG\311U\203=\312!\210)\313 \210)A\211\204\307*+\207" [symbol todo-file-buffers todo-done-separator sep files oldvalue custom-set-default nil find-file-noselect 1 todo-reset-done-separator todo-category-select value f --dolist-tail-- buffer-read-only] 4 (#$ . 167931)])
#@55 The :set function for user option `todo-done-string'.
(defalias 'todo-reset-done-string #[(symbol value) "J\306	\n\307\310\311\310$#\312\"\210\313\314!P
\232?\205\225\f\315\211 \205\224 @\316!!r\317!q\210\315\"~\210eb\210m\204q\320\321\314#!\322\314
!\323\260\315\310#\203k\324\310\211\315\325%\210\202H\315y\210\202H!\203\203\326\327\330\"\203\211\331 \210\202\211\332 \210\333 \210+ A\211 \204.\315**\207" [symbol todo-files todo-archives todo-directory files oldvalue append directory-files t "\\.todr$" custom-set-default "^\\[" regexp-quote nil find-buffer-visiting find-file-noselect re-search-forward "^" "\\(" "\\)" replace-match 1 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer value todo-done-string todo-done-string-start f --dolist-tail-- buf buffer-read-only todo-nondiary-start] 10 (#$ . 168417)])
#@58 The :set function for user option `todo-comment-string'.
(defalias 'todo-reset-comment-string #[(symbol value) "J\306	\n\307\310\311\310$#\312\"\210
\232?\205\207\f\313\211\205\206@\314!r\315!q\210\313~\210eb\210m\204c\316\317\320
!\321Q\313\310#\203]\322\310\211\313\323%\210\202@\313y\210\202@\203u\324\325\326\"\203{\327 \210\202{\330 \210\331 \210+A\211\204&\313**\207" [symbol todo-files todo-archives todo-directory files oldvalue append directory-files t "\\.todr$" custom-set-default nil find-buffer-visiting find-file-noselect re-search-forward "\\[\\(" regexp-quote "\\): [^]]*\\]" replace-match 1 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer value f --dolist-tail-- buf buffer-read-only] 10 (#$ . 169318)])
#@58 The :set function for user option `todo-highlight-item'.
(defalias 'todo-reset-highlight-item #[(symbol value) "J\306	\n\307\310\311\310$#\312\"\210
\232?\205[\f\313\211\205Z@\314!\211\203Orq\210\315\316!\210\203J\317\320!\210\202N\317\321!\210))A\211\204&\313**\207" [symbol todo-files todo-archives todo-directory files oldvalue append directory-files t "\\.tod[rty]$" custom-set-default nil find-buffer-visiting require hl-line hl-line-mode 1 -1 value f --dolist-tail-- buf] 10 (#$ . 170128)])
#@63 Reevaluate defcustoms that provide choice list of todo files.
(defalias 'todo-reevaluate-filelist-defcustoms #[nil "\300\301\211J\"\210\302 \210\300\303\211J\"\210\304 \210\300\305\211J\"\210\306 \207" [custom-set-default todo-default-todo-file todo-reevaluate-default-file-defcustom todo-filter-files todo-reevaluate-filter-files-defcustom todo-category-completions-files todo-reevaluate-category-completions-files-defcustom] 3 (#$ . 170666)])
#@222 Reevaluate defcustom of `todo-default-todo-file'.
Called after adding or deleting a todo file.  If the value of
`todo-default-todo-file' before calling this function was
associated with an existing file, keep that value.
(defalias 'todo-reevaluate-default-file-defcustom #[nil "\302\303\304\305\306\307\205\310\311\312\311\313	 \"\"B\314\315&!\207" [todo-files todo-files-function eval custom-declare-variable todo-default-todo-file (todo-short-file-name (car (funcall todo-files-function))) "Todo file visited by first session invocation of `todo-show'." :type radio mapcar #[(f) "\301D\207" [f const] 2] todo-short-file-name :group todo] 12 (#$ . 171118)])
#@105 Reevaluate defcustom of `todo-category-completions-files'.
Called after adding or deleting a todo file.
(defalias 'todo-reevaluate-category-completions-files-defcustom #[nil "\301\302\303\304\305\306\307\310\311\310\312 \"\"B\313\314&!\207" [todo-files-function eval custom-declare-variable todo-category-completions-files nil "List of files for building `todo-read-category' completions." :type set mapcar #[(f) "\301D\207" [f const] 2] todo-short-file-name :group todo] 12 (#$ . 171789)])
#@91 Reevaluate defcustom of `todo-filter-files'.
Called after adding or deleting a todo file.
(defalias 'todo-reevaluate-filter-files-defcustom #[nil "\301\302\303\304\305\306\307\310\311\310\312 \"\"B\313\314&!\207" [todo-files-function eval custom-declare-variable todo-filter-files nil "List of files for multifile item filtering." :type set mapcar #[(f) "\301D\207" [f const] 2] todo-short-file-name :group todo] 12 (#$ . 172289)])
#@68 Search for todo item nondiary markers within LIM for font-locking.
(defalias 'todo-nondiary-marker-matcher #[(lim) "\305\306\307!\310	\311\n\312\307!\310\260	\f\313#\207" [todo-nondiary-start todo-date-pattern diary-time-regexp todo-nondiary-end lim re-search-forward "^\\(?1:" regexp-quote "\\)" "\\(?: " "\\)?\\(?2:" t] 10 (#$ . 172730)])
#@65 Search for diary nonmarking symbol within LIM for font-locking.
(defalias 'todo-diary-nonmarking-matcher #[(lim) "\303\304\305!\306	R\n\307#\207" [diary-nonmarking-symbol todo-date-pattern lim re-search-forward "^\\(?1:" regexp-quote "\\)" t] 5 (#$ . 173079)])
#@63 Search for todo item date string within LIM for font-locking.
(defalias 'todo-date-string-matcher #[(lim) "\303\304	\305R\n\306#\207" [todo-date-string-start todo-date-pattern lim re-search-forward "\\(?1:" "\\)" t] 5 (#$ . 173347)])
#@63 Search for todo item time string within LIM for font-locking.
(defalias 'todo-time-string-matcher #[(lim) "\304	\305\n\306\260\307#\207" [todo-date-string-start todo-date-pattern diary-time-regexp lim re-search-forward " \\(?1:" "\\)" t] 6 (#$ . 173588)])
#@65 Search for expired diary item date within LIM for font-locking.
(defalias 'todo-diary-expired-matcher #[(lim) "\306\307\310!\311	\312\n\313\260\314#\205:\315\316!\315\317!\f\320
\206!\321Q\322\323\f\"\2046\324\325 \"\326W\2069\327!+\207" [diary-nonmarking-symbol todo-date-pattern diary-time-regexp lim date time re-search-forward "^\\(?:" regexp-quote "\\)?\\(?1:" "\\) \\(?2:" "\\)?" t match-string-no-properties 1 2 " " "00:00" string-match ".+day\\|\\*" days-between current-time-string 0 todo-diary-expired-matcher date-time] 8 (#$ . 173853)])
#@63 Search for done todo item header within LIM for font-locking.
(defalias 'todo-done-string-matcher #[(lim) "\302\303P	\304#\207" [todo-done-string-start lim re-search-forward "[^][]+]" t] 4 (#$ . 174422)])
#@64 Search for done todo item comment within LIM for font-locking.
(defalias 'todo-comment-string-matcher #[(lim) "\302\303\304Q	\305#\207" [todo-comment-string lim re-search-forward "\\[\\(?1:" "\\):" t] 4 (#$ . 174634)])
#@167 Search for todo category name within LIM for font-locking.
This is for fontifying category and file names appearing in Todo
Filtered Items mode following done items.
(defalias 'todo-category-string-matcher-1 #[(lim) "\305=\205\306	\n\307\310\260\f\311#\207" [major-mode todo-done-string-start todo-date-pattern diary-time-regexp lim todo-filtered-items-mode re-search-forward "\\(?: " "\\)?] \\(?1:\\[.+?\\]\\)" t] 6 (#$ . 174861)])
#@178 Search for todo category name within LIM for font-locking.
This is for fontifying category and file names appearing in Todo
Filtered Items mode following todo (not done) items.
(defalias 'todo-category-string-matcher-2 #[(lim) "\306=\205\307	\n\310\311\312\f!\313\260
\314#\207" [major-mode todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end lim todo-filtered-items-mode re-search-forward "\\(?: " "\\)?\\(?:" regexp-quote "\\)? \\(?1:\\[.+\\]\\)" t] 8 (#$ . 175306)])
(defvar todo-nondiary-face 'todo-nondiary)
(defvar todo-date-face 'todo-date)
(defvar todo-time-face 'todo-time)
(defvar todo-diary-expired-face 'todo-diary-expired)
(defvar todo-done-sep-face 'todo-done-sep)
(defvar todo-done-face 'todo-done)
(defvar todo-comment-face 'todo-comment)
(defvar todo-category-string-face 'todo-category-string)
#@30 Font-locking for Todo modes.
(defvar todo-font-lock-keywords (list '(todo-nondiary-marker-matcher 1 todo-nondiary-face t) '(todo-nondiary-marker-matcher 2 todo-nondiary-face t) '(todo-diary-nonmarking-matcher 1 font-lock-constant-face t) '(todo-date-string-matcher 1 todo-date-face t) '(todo-time-string-matcher 1 todo-time-face t) '(todo-done-string-matcher 0 todo-done-face t) '(todo-comment-string-matcher 1 todo-comment-face t) '(todo-category-string-matcher-1 1 todo-category-string-face t t) '(todo-category-string-matcher-2 1 todo-category-string-face t t) '(todo-diary-expired-matcher 1 todo-diary-expired-face t) '(todo-diary-expired-matcher 2 todo-diary-expired-face t t)) (#$ . 176154))
#@42 List of key bindings for Todo mode only.
(defvar todo-key-bindings-t '(("Af" todo-find-archive) ("Ac" todo-choose-archive) ("Ad" todo-archive-done-item) ("Cv" todo-toggle-view-done-items) ("v" todo-toggle-view-done-items) ("Ca" todo-add-category) ("Cr" todo-rename-category) ("Cg" todo-merge-category) ("Cm" todo-move-category) ("Ck" todo-delete-category) ("Cts" todo-set-top-priorities-in-category) ("Cey" todo-edit-category-diary-inclusion) ("Cek" todo-edit-category-diary-nonmarking) ("Fa" todo-add-file) ("Fr" todo-rename-file) ("Ff" todo-find-filtered-items-file) ("FV" todo-toggle-view-done-only) ("V" todo-toggle-view-done-only) ("Ftt" todo-filter-top-priorities) ("Ftm" todo-filter-top-priorities-multifile) ("Fts" todo-set-top-priorities-in-file) ("Fyy" todo-filter-diary-items) ("Fym" todo-filter-diary-items-multifile) ("Fxx" todo-filter-regexp-items) ("Fxm" todo-filter-regexp-items-multifile) ("e" todo-edit-item) ("d" todo-item-done) ("i" todo-insert-item) ("k" todo-delete-item) ("m" todo-move-item) ("u" todo-item-undone) ([remap newline] newline-and-indent)) (#$ . 176858))
#@67 List of key bindings for Todo, Archive, and Filtered Items modes.
(defvar todo-key-bindings-t+a+f '(("C*" todo-mark-category) ("Cu" todo-unmark-category) ("Fh" todo-toggle-item-header) ("h" todo-toggle-item-header) ("Fk" todo-delete-file) ("Fe" todo-edit-file) ("FH" todo-toggle-item-highlighting) ("H" todo-toggle-item-highlighting) ("FN" todo-toggle-prefix-numbers) ("N" todo-toggle-prefix-numbers) ("PB" todo-print-buffer) ("PF" todo-print-buffer-to-file) ("b" todo-backward-category) ("d" todo-item-done) ("f" todo-forward-category) ("j" todo-jump-to-category) ("n" todo-next-item) ("p" todo-previous-item) ("q" todo-quit) ("s" todo-save) ("t" todo-show)) (#$ . 177955))
#@55 List of key bindings for Todo and Todo Archive modes.
(defvar todo-key-bindings-t+a '(("Fc" todo-show-categories-table) ("S" todo-search) ("X" todo-clear-matches) ("*" todo-toggle-mark-item)) (#$ . 178636))
#@62 List of key bindings for Todo and Todo Filtered Items modes.
(defvar todo-key-bindings-t+f '(("l" todo-lower-item-priority) ("r" todo-raise-item-priority) ("#" todo-set-item-priority)) (#$ . 178849))
#@19 Todo mode keymap.
(defvar todo-mode-map (byte-code "\306 \307!\210	\310\211\203\"@\311\n@\nA@#\210A\211\204*\f\310\211\203>@\311\n@\nA@#\210A\211\204+*
\310\211\203Z@\311\n@\nA@#\210A\211\204G*\n\310\211\203w@\311\n@\nA@#\210A\211\204d*)\207" [map todo-key-bindings-t kb --dolist-tail-- todo-key-bindings-t+a+f todo-key-bindings-t+a make-keymap suppress-keymap nil define-key todo-key-bindings-t+f] 5) (#$ . 179055))
#@27 Todo Archive mode keymap.
(defvar todo-archive-mode-map (byte-code "\305 \306!\210	\307\211\203\"@\310\n@\nA@#\210A\211\204*\f\307\211\203>@\310\n@\nA@#\210A\211\204+*\310\311\312#\210\310\313\314#\210)\207" [map todo-key-bindings-t+a+f kb --dolist-tail-- todo-key-bindings-t+a make-sparse-keymap suppress-keymap nil define-key "a" todo-jump-to-archive-category "u" todo-unarchive-items] 5) (#$ . 179519))
#@24 Todo Edit mode keymap.
(defvar todo-edit-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210)\207" [map make-sparse-keymap define-key "" todo-edit-quit [remap newline] newline-and-indent] 4) (#$ . 179955))
#@30 Todo Categories mode keymap.
(defvar todo-categories-mode-map (byte-code "\301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\325#\210\303\331\327#\210\303\332\333#\210)\207" [map make-sparse-keymap suppress-keymap define-key "c" todo-sort-categories-alphabetically-or-numerically "t" todo-sort-categories-by-todo "y" todo-sort-categories-by-diary "d" todo-sort-categories-by-done "a" todo-sort-categories-by-archived "#" todo-set-category-number "l" todo-lower-category "r" todo-raise-category "n" todo-next-button "p" todo-previous-button [tab] [backtab] "q" todo-quit] 4) (#$ . 180182))
#@34 Todo Filtered Items mode keymap.
(defvar todo-filtered-items-mode-map (byte-code "\305 \306!\210	\307\211\203\"@\310\n@\nA@#\210A\211\204*\f\307\211\203>@\310\n@\nA@#\210A\211\204+*\310\311\312#\210\310\313\312#\210)\207" [map todo-key-bindings-t+a+f kb --dolist-tail-- todo-key-bindings-t+f make-sparse-keymap suppress-keymap nil define-key "g" todo-go-to-source-item [remap newline]] 5) (#$ . 180935))
#@11 Todo Menu
(defvar todo-menu nil (#$ . 181369))
(easy-menu-do-define 'todo-menu todo-mode-map "Todo Menu" '("Todo" ("Navigation" ["Next Item" todo-next-item t] ["Previous Item" todo-previous-item t] "---" ["Next Category" todo-forward-category t] ["Previous Category" todo-backward-category t] ["Jump to Another Category" todo-jump-to-category t] "---" ["Visit Another Todo File" todo-show t] ["Visit Archive" todo-find-archive t] ["Visit Filtered Items File" todo-find-filtered-items-file t]) ("Editing" ["Insert New Item" todo-insert-item t] ["Edit Item" todo-edit-item t] ["Lower Item Priority" todo-lower-item-priority t] ["Raise Item Priority" todo-raise-item-priority t] ["Set Item Priority" todo-set-item-priority t] ["Mark/Unmark Item" todo-toggle-mark-item t] ["Move (Recategorize) Item" todo-move-item t] ["Delete Item" todo-delete-item t] ["Mark and Bury Done Item" todo-item-done t] ["Undo Done Item" todo-item-undone t] ["Archive Done Item" todo-archive-done-item t] "---" ["Add New Category" todo-add-category t] ["Rename Current Category" todo-rename-category t] ["Delete Current Category" todo-delete-category t] ["Move Current Category" todo-move-category t] ["Merge Current Category" todo-merge-category t] "---" ["Add New Todo File" todo-add-file t] ["Rename Todo File" todo-rename-file t] ["Delete Todo File" todo-delete-file t] ["Edit Todo File" todo-edit-file t]) ("Searching and Item Filtering" ["Search Todo File" todo-search t] ["Clear Match Highlighting" todo-clear-matches t] "---" ["Set Top Priorities in File" todo-set-top-priorities-in-file t] ["Set Top Priorities in Category" todo-set-top-priorities-in-category t] ["Filter Top Priorities" todo-filter-top-priorities t] ["Filter Multifile Top Priorities" todo-filter-top-priorities-multifile t] ["Filter Diary Items" todo-filter-diary-items t] ["Filter Multifile Diary Items" todo-filter-diary-items-multifile t] ["Filter Regexp" todo-filter-regexp-items t] ["Filter Multifile Regexp" todo-filter-regexp-items-multifile t]) ("Display and Printing" ["Show/Hide Done Items" todo-toggle-view-done-items t] ["Show/Hide Done Items Only" todo-toggle-view-done-only t] ["Show/Hide Item Highlighting" todo-toggle-item-highlighting t] ["Show/Hide Item Numbering" todo-toggle-prefix-numbers t] ["Show/Hide Item Header" todo-toggle-item-header t] "---" ["Display Table of Categories" todo-show-categories-table t] "---" ["Print Category" todo-print-buffer t] ["Print Category to File" todo-print-buffer-to-file t]) "---" ["Save Todo File" todo-save t] ["Quit Todo Mode" todo-quit t]))
#@164 Visit current instead of default todo file with `todo-show'.
Added to `pre-command-hook' in Todo mode when user option
`todo-show-current-file' is set to non-nil.
(defalias 'todo-show-current-file #[nil "\211\207" [todo-current-todo-file todo-global-current-todo-file] 2 (#$ . 183931)])
#@124 Make current Todo mode buffer file car of `todo-file-buffers'.
This function is added to `post-command-hook' in Todo mode.
(defalias 'todo-update-buffer-list #[nil "\302\303 !	@=?\205\304	\"B\211)\207" [filename todo-file-buffers file-truename buffer-file-name delete] 4 (#$ . 184227)])
#@217 Update the value of `todo-global-current-todo-file'.
This becomes the latest existing todo file or, if there is none,
the value of `todo-default-todo-file'.
This function is added to `kill-buffer-hook' in Todo mode.
(defalias 'todo-reset-global-current-todo-file #[nil "\304\305 !\306	\"\211@\206\307\n!\211)\207" [filename todo-file-buffers todo-default-todo-file todo-global-current-todo-file file-truename buffer-file-name delete todo-absolute-file-name] 4 (#$ . 184528)])
#@122 Show resized done items separator overlay after window change.
Added to `window-configuration-change-hook' in Todo mode.
(defalias 'todo-reset-and-enable-done-separator #[nil "G\304U\205	\301 \305 \306\216\307\n!+\207" [todo-done-separator-string todo-done-separator sep save-match-data-internal 1 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] todo-reset-done-separator] 2 (#$ . 185017)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-1 #[nil "\306\300!\210\307\306\301!\210\310\306\303!\210\n\306\304!\210\311
\205&\312 \210\313\n\314\"\211
\207" [font-lock-defaults revert-buffer-function todo-indent-to-here tab-width indent-line-function todo-wrap-lines make-local-variable (todo-font-lock-keywords t) todo-revert-buffer todo-indent visual-line-mode make-string 32 wrap-prefix] 3 (#$ . 185462)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-2 #[nil "\303\304!\210\305\306\301!\210\307\310\302!\205\306\302!\210\311\211\207" [buffer-read-only desktop-save-buffer hl-line-range-function add-to-invisibility-spec todo t make-local-variable todo-desktop-save-buffer boundp #[nil "\212\300 \205\301 \300 B)\207" [todo-item-end todo-item-start] 2]] 2 (#$ . 185919)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-3 #[nil "\302\300!\210\303 \302\301!\210\304\211\207" [todo-categories todo-category-number make-local-variable todo-set-categories 1] 2 (#$ . 186332)])
(put 'todo-mode 'mode-class 'special)
#@161 Hook run after entering Todo mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar todo-mode-hook nil (#$ . 186612))
(byte-code "\300\301!\204\f\302\301\303\304#\210\300\207" [boundp todo-mode-map put definition-name todo-mode] 4)
(defvar todo-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [todo-mode-map variable-documentation put purecopy "Keymap for `todo-mode'." boundp todo-mode-syntax-table definition-name todo-mode] 5)
(defvar todo-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-mode-syntax-table variable-documentation put purecopy "Syntax table for `todo-mode'." todo-mode-abbrev-table definition-name todo-mode] 5)
(defvar todo-mode-abbrev-table (progn (define-abbrev-table 'todo-mode-abbrev-table nil) todo-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `todo-mode'." todo-mode derived-mode-parent special-mode] 5)
#@237 Major mode for displaying, navigating and editing todo lists.

\{todo-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `todo-mode-hook', as the final step
during initialization.
(defalias 'todo-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\3243\325\"\204V34=\204V\3263\3254C#\210\327!\210\330\f!\21034\331\332!\203r\333\334\335\336!\"\210\202\277\337 \210\340 \210\341 \210\342\343 !5 \235\203\220\306\344!\210\342\343 !$\306\345!\210\346%\306\347!\210\346'\350\351\352\346\307$\210,\203\261\350\353\354\346\307$\210\350\355\356\346\307$\210\350\357\360\346\307$\210)\361\362!\207" [delay-mode-hooks major-mode mode-name todo-mode-map todo-mode-syntax-table parent make-local-variable t special-mode todo-mode "Todo" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table called-interactively-p any message "%s" substitute-command-keys "Type `\\[todo-show]' to enter Todo mode" todo-modes-set-1 todo-modes-set-2 todo-modes-set-3 file-truename buffer-file-name todo-current-todo-file todo-show-done-only nil todo-categories-with-marks add-hook post-command-hook todo-update-buffer-list pre-command-hook todo-show-current-file window-configuration-change-hook todo-reset-and-enable-done-separator kill-buffer-hook todo-reset-global-current-todo-file run-mode-hooks todo-mode-hook todo-mode-abbrev-table local-abbrev-table todo-files-function] 6 (#$ . 187817) nil])
(put 'todo-archive-mode 'mode-class 'special)
#@166 Hook run after entering Todo-Arch mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar todo-archive-mode-hook nil (#$ . 189591))
(byte-code "\300\301!\204\f\302\301\303\304#\210\300\207" [boundp todo-archive-mode-map put definition-name todo-archive-mode] 4)
(defvar todo-archive-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [todo-archive-mode-map variable-documentation put purecopy "Keymap for `todo-archive-mode'." boundp todo-archive-mode-syntax-table definition-name todo-archive-mode] 5)
(defvar todo-archive-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-archive-mode-syntax-table variable-documentation put purecopy "Syntax table for `todo-archive-mode'." todo-archive-mode-abbrev-table definition-name todo-archive-mode] 5)
(defvar todo-archive-mode-abbrev-table (progn (define-abbrev-table 'todo-archive-mode-abbrev-table nil) todo-archive-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-archive-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `todo-archive-mode'." todo-archive-mode derived-mode-parent special-mode] 5)
#@232 Major mode for archived todo categories.

\{todo-archive-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `todo-archive-mode-hook', as the final step
during initialization.
(defalias 'todo-archive-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324\"\325\"\204V\"#=\204V\326\"\325#C#\210\327!\210\330\f!\210\"#\331 \210\332 \210\333 \210\306\334!\210\335\336 !\306\337!\210\307)\340\341!\207" [delay-mode-hooks major-mode mode-name todo-archive-mode-map todo-archive-mode-syntax-table parent make-local-variable t special-mode todo-archive-mode "Todo-Arch" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table todo-modes-set-1 todo-modes-set-2 todo-modes-set-3 todo-current-todo-file file-truename buffer-file-name todo-show-done-only run-mode-hooks todo-archive-mode-hook todo-archive-mode-abbrev-table local-abbrev-table] 6 (#$ . 190953) nil])
#@63 Set `todo-categories' externally to `todo-current-todo-file'.
(defalias 'todo-mode-external-set #[nil "\304\301!\210r\305	\306\"q\210\n\206\212eb\210\307\310\311 \312 \"!))\304\302!\210\211)\207" [todo-global-current-todo-file todo-current-todo-file todo-categories cats make-local-variable find-file-noselect nowarn read buffer-substring-no-properties line-beginning-position line-end-position] 4 (#$ . 192158)])
#@164 Hook run after entering Todo-Ed mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar todo-edit-mode-hook nil (#$ . 192586))
(byte-code "\300\301!\204\f\302\301\303\304#\210\300\207" [boundp todo-edit-mode-map put definition-name todo-edit-mode] 4)
(defvar todo-edit-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [todo-edit-mode-map variable-documentation put purecopy "Keymap for `todo-edit-mode'." boundp todo-edit-mode-syntax-table definition-name todo-edit-mode] 5)
(defvar todo-edit-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-edit-mode-syntax-table variable-documentation put purecopy "Syntax table for `todo-edit-mode'." todo-edit-mode-abbrev-table definition-name todo-edit-mode] 5)
(defvar todo-edit-mode-abbrev-table (progn (define-abbrev-table 'todo-edit-mode-abbrev-table nil) todo-edit-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-edit-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `todo-edit-mode'." todo-edit-mode derived-mode-parent text-mode] 5)
#@227 Major mode for editing multiline todo items.

\{todo-edit-mode-map}

In addition to any hooks its parent mode `text-mode' might have run,
this mode runs the hook `todo-edit-mode-hook', as the final step
during initialization.
(defalias 'todo-edit-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324\325\"\204V=\204V\326\325C#\210\327!\210\330\f!\210\331 \210\332 \210\333 )\334\335!\207" [delay-mode-hooks major-mode mode-name todo-edit-mode-map todo-edit-mode-syntax-table parent make-local-variable t text-mode todo-edit-mode "Todo-Ed" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table todo-modes-set-1 todo-mode-external-set nil run-mode-hooks todo-edit-mode-hook todo-edit-mode-abbrev-table local-abbrev-table buffer-read-only] 6 (#$ . 193886) nil])
(put 'todo-categories-mode 'mode-class 'special)
#@166 Hook run after entering Todo-Cats mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar todo-categories-mode-hook nil (#$ . 194998))
(byte-code "\300\301!\204\f\302\301\303\304#\210\300\207" [boundp todo-categories-mode-map put definition-name todo-categories-mode] 4)
(defvar todo-categories-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [todo-categories-mode-map variable-documentation put purecopy "Keymap for `todo-categories-mode'." boundp todo-categories-mode-syntax-table definition-name todo-categories-mode] 5)
(defvar todo-categories-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-categories-mode-syntax-table variable-documentation put purecopy "Syntax table for `todo-categories-mode'." todo-categories-mode-abbrev-table definition-name todo-categories-mode] 5)
(defvar todo-categories-mode-abbrev-table (progn (define-abbrev-table 'todo-categories-mode-abbrev-table nil) todo-categories-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-categories-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `todo-categories-mode'." todo-categories-mode derived-mode-parent special-mode] 5)
#@252 Major mode for displaying and editing todo categories.

\{todo-categories-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `todo-categories-mode-hook', as the final step
during initialization.
(defalias 'todo-categories-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324\325\"\204V=\204V\326\325C#\210\327!\210\330\f!\210\331 \210)\332\333!\207" [delay-mode-hooks major-mode mode-name todo-categories-mode-map todo-categories-mode-syntax-table parent make-local-variable t special-mode todo-categories-mode "Todo-Cats" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table todo-mode-external-set run-mode-hooks todo-categories-mode-hook todo-categories-mode-abbrev-table local-abbrev-table] 6 (#$ . 196417) nil])
(put 'todo-filtered-items-mode 'mode-class 'special)
#@166 Hook run after entering Todo-Fltr mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar todo-filtered-items-mode-hook nil (#$ . 197546))
(byte-code "\300\301!\204\f\302\301\303\304#\210\300\207" [boundp todo-filtered-items-mode-map put definition-name todo-filtered-items-mode] 4)
(defvar todo-filtered-items-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [todo-filtered-items-mode-map variable-documentation put purecopy "Keymap for `todo-filtered-items-mode'." boundp todo-filtered-items-mode-syntax-table definition-name todo-filtered-items-mode] 5)
(defvar todo-filtered-items-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-filtered-items-mode-syntax-table variable-documentation put purecopy "Syntax table for `todo-filtered-items-mode'." todo-filtered-items-mode-abbrev-table definition-name todo-filtered-items-mode] 5)
(defvar todo-filtered-items-mode-abbrev-table (progn (define-abbrev-table 'todo-filtered-items-mode-abbrev-table nil) todo-filtered-items-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [todo-filtered-items-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `todo-filtered-items-mode'." todo-filtered-items-mode derived-mode-parent special-mode] 5)
#@263 Mode for displaying and reprioritizing top priority Todo.

\{todo-filtered-items-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `todo-filtered-items-mode-hook', as the final step
during initialization.
(defalias 'todo-filtered-items-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324\325\"\204V=\204V\326\325C#\210\327!\210\330\f!\210\331 \210\332 \210)\333\334!\207" [delay-mode-hooks major-mode mode-name todo-filtered-items-mode-map todo-filtered-items-mode-syntax-table parent make-local-variable t special-mode todo-filtered-items-mode "Todo-Fltr" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table todo-modes-set-1 todo-modes-set-2 run-mode-hooks todo-filtered-items-mode-hook todo-filtered-items-mode-abbrev-table local-abbrev-table] 6 (#$ . 199041) nil])
(provide 'todo-mode)

Kontol Shell Bypass