....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.145.83.240
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/calendar/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/calendar/todo-mode.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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\307DD\310\311\312\313\314&\207" [require diary-lib cl-lib custom-declare-variable todo-directory funcall function #[0 "\300\301!\207" [locate-user-emacs-file "todo/"] 2] "Directory where user's todo files are saved." :type directory :group todo] 8)
#@294 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").

(fn &optional ARCHIVES)
(defalias 'todo-files #[256 "\301!\205\302\303\304\305\203\306\202\307\305$\"\310\311\"\207" [todo-directory file-exists-p mapcar file-truename directory-files t "\\.toda\\'" "\\.todo\\'" sort #[514 "\226\226\231\207" [] 6 "\n\n(fn S1 S2)"]] 8 (#$ . 714)])
(byte-code "\300\301\302\303\304DD\305\306\303\307\310&\207" [custom-declare-variable todo-files-function funcall function #[0 "\300\207" [todo-files] 1] "Function returning the value of the variable `todo-files'.\nThis function should take an optional argument that, if non-nil,\nmakes it return the value of the variable `todo-archives'." :type :group todo] 8)
#@41 List of truenames of user's todo files.
(defvar todo-files (funcall todo-files-function) (#$ . 1648))
#@44 List of truenames of user's todo archives.
(defvar todo-archives (funcall todo-files-function t) (#$ . 1756))
#@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 (#$ . 1873))
#@47 List of file names of live Todo mode buffers.
(defvar todo-file-buffers nil (#$ . 2055))
#@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 (#$ . 2151))
#@62 Variable holding the name of the currently active todo file.
(defvar todo-current-todo-file nil (#$ . 2434))
#@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 (#$ . 2550))
#@105 Variable holding the number of the current todo category.
Todo categories are numbered starting from 1.
(defvar todo-category-number 1 (#$ . 2881))
#@62 Alist of categories and number of marked items they contain.
(defvar todo-categories-with-marks nil (#$ . 3035))
#@64 String marking beginning of category (inserted with its name).
(defconst todo-category-beg "--==-- " (#$ . 3154))
#@52 String marking beginning of category's done items.
(defconst todo-category-done "==--== DONE " (#$ . 3274))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable todo-done-separator-string funcall function #[0 "\300\207" [#1="="] 1 #1#] "String determining the value of variable `todo-done-separator'.\nIf the string consists of a single character,\n`todo-done-separator' will be the string made by repeating this\ncharacter for the width of the window, and the length is\nautomatically recalculated when the window width changes.  If the\nstring consists of more (or less) than one character, it will be\nthe value of `todo-done-separator'." :type string :initialize custom-initialize-default :set todo-reset-done-separator-string :group todo-display] 12)
#@64 Return string used as value of variable `todo-done-separator'.
(defalias 'todo-done-separator #[0 "\301G\302U\203\303\304 \305!\"\202\306\307#\207" [todo-done-separator-string propertize 1 make-string window-width string-to-char face todo-done-sep] 6 (#$ . 4086)])
#@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) (#$ . 4366))
#@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 (#$ . 4648))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable todo-nondiary-marker funcall function #[0 "\300\207" [("[" "]")] 1] "List of strings surrounding item date to block diary inclusion.\nThe first string is inserted before the item date and must be a\nnon-empty string that does not match a diary date in order to\nhave its intended effect.  The second string is inserted after\nthe diary date." :type (list string string) :group todo-edit :initialize custom-initialize-default :set todo-reset-nondiary-marker] 12)
#@60 String inserted before item date to block diary inclusion.
(defconst todo-nondiary-start (car todo-nondiary-marker) (#$ . 5404))
#@65 String inserted after item date matching `todo-nondiary-start'.
(defconst todo-nondiary-end (byte-code "A@\207" [todo-nondiary-marker] 1) (#$ . 5539))
#@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) (#$ . 5697))
#@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) (#$ . 5924))
#@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 monthname month diary-name-pattern nil t "\\(?4:\\(?5:" "\\)\\|" format "\\(?6:%s\\)" "\\(?7:[0-9]+\\|\\*\\)" "\\(?8:[0-9]+\\|\\*\\)" "-?\\(?9:[0-9]+\\|\\*\\)" mapconcat eval "" "\\)" day year calendar-date-display-form] 9) (#$ . 6166))
#@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) (#$ . 6677))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable todo-done-string funcall function #[0 "\300\207" [#1="DONE "] 1 #1#] "Identifying string appended to the front of done todo items." :type string :initialize custom-initialize-default :set todo-reset-done-string :group todo-edit] 12)
#@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) (#$ . 7259))
#@42 String identifying start of a todo item.
(defconst todo-item-start (concat "\\(" todo-date-string-start "\\|" todo-done-string-start "\\)" todo-date-pattern) (#$ . 7430))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\210\300\316\302\303\317DD\320\306\321\310\311\312\313\314\315&\207" [custom-declare-variable todo-prefix funcall function #[0 "\300\207" [#1=""] 1 #1#] "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 #[0 "\300\207" [t] 1] "Non-nil to prefix items with consecutively increasing integers.\nThese reflect the priorities of the items in each category." boolean] 12)
#@202 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'.

(fn CAT)
(defalias 'todo-mode-line-control #[257 "\302!\303\304	$\207" [todo-current-todo-file todo-category-number todo-short-file-name format "%s category %d: %s"] 7 (#$ . 8356)])
(byte-code "\300\301\302\303\304DD\305\306\303\307\310&\210\300\311\302\303\312DD\313\306\314\315\316\317\320\307\310&\210\300\321\302\303\322DD\323\306\314\307\310&\210\300\324\302\303\325DD\326\306\327\307\310&\207" [custom-declare-variable todo-mode-line-function funcall function #[0 "\300\207" [todo-mode-line-control] 1] "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 :group todo-display todo-highlight-item #[0 "\300\207" [nil] 1] "Non-nil means highlight items at point." boolean :initialize custom-initialize-default :set todo-reset-highlight-item todo-wrap-lines #[0 "\300\207" [t] 1] "Non-nil to activate Visual Line mode and use wrap prefix." todo-indent-to-here #[0 "\300\207" [3] 1] "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 #[0 "\301\211\"\207" [todo-indent-to-here indent-to] 3 (#$ . 9974)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\315\310\316%\210\312\317\320\321\310\316%\210\312\322\323\324\310\316%\210\312\325\326\327\310\316%\210\312\330\331\332\310\316%\210\312\333\334\335\310\316%\210\312\336\337\340\310\316%\210\312\341\342\343\310\316%\210\312\344\345\346\310\316%\210\312\347\350\351\310\316%\210\312\352\353\354\310\316%\210\312\355\356\357\310\316%\210\312\360\361\362\310\316%\210\312\363\364\365\310\316%\210\312\366\367\370\310\316%\210\312\371\372\373\310\316%\207" [custom-declare-variable todo-show-with-done funcall function #[0 "\300\207" [nil] 1] "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)
#@111 Return the short form of todo file FILE's name.
This lacks the extension and directory components.

(fn FILE)
(defalias 'todo-short-file-name #[257 "\211;\205\n\300\301!!\207" [file-name-sans-extension file-name-nondirectory] 4 (#$ . 17971)])
(defalias 'todo--files-type-list #[0 "\301\302 \"\207" [todo-files-function mapcar #[257 "\300\301!D\207" [const todo-short-file-name] 4 "\n\n(fn F)"]] 3])
(byte-code "\301\302\303\304\305DD\306\307\205\310\311 B\312\313&\210\301\314\303\304\315DD\316\307\317\320\321\322\323\312\313&\210\301\324\303\304\325DD\326\307\327\312\313&\210\301\330\303\304\331DD\332\307\317\312\333&\210\301\334\303\304\335DD\336\307\337\312\313&\210\301\340\303\304\341DD\342\307\337\312\313&\210\301\343\303\304\344DD\345\307\346\311 B\312\313&\210\301\347\303\304\350DD\351\307\317\312\313&\207" [todo-files custom-declare-variable todo-default-todo-file funcall function #[0 "\301 @!\207" [todo-files-function todo-short-file-name] 2] "Todo file visited by first session invocation of `todo-show'." :type radio todo--files-type-list :group todo todo-show-current-file #[0 "\300\207" [t] 1] "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 #[0 "\300\207" [first] 1] "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 #[0 "\300\207" [t] 1] "Non-nil to prompt for an item after adding a new category." todo-edit todo-initial-file #[0 "\300\207" [#1="Todo"] 1 #1#] "Default file name offered on adding first todo file." string todo-initial-category #[0 "\300\207" [#2="Todo"] 1 #2#] "Default category name offered on initializing a new todo file." todo-category-completions-files #[0 "\300\207" [nil] 1] "List of files for building `todo-read-category' completions." set todo-completion-ignore-case #[0 "\300\207" [nil] 1] "Non-nil means case is ignored by `todo-read-*' functions."] 12)
#@1836 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 a 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.

(fn &optional SOLICIT-FILE INTERACTIVE)
(defalias 'todo-show #[512 "\203\n\306\307!!\210\3102\361\2047\311\301!\203	\202 \312\313\314\"\315!\2036\316\317!\2036\320 \2036\321\310\322\"\210\210\3232\360\322\n\204K\203^\324>\203^\f \203X\325\326\322\327#\202\212\330\331!\202\212\332=\203t\204t\333 \262\334
!\335P\202\212
\206\212@\203\202A\206\212\307!\206\212\336 \322\211C\204\242\337!\211\327\240\210\340\300\341\342\343 B#\210B\235\204\n\344\267\202\345 \210\202\337!\307\n\"\n\346=\203\345\347C\327\350\327$\211\203\344\211G\351V\203\344\352\337\"\307\353\354\"\346\"\262\210\210\315!\203\355\356 \357\360\"q\"\210\361\362!\204\362 \210\202\363\364\n\365\267\202\366\202\367\202\370\202\322#\210\371\266)B\235\204+\n\371=\203\330\306!\2046\321\323\322\"\210\355\372 \203A\373 \202C\356 \357\360\"q\"\210\374\375 !\376\232\203_\361\332!\204h\332 \210\202h\361\377!\204h\377 \210\201GD\"\203y\201E!E\201H \201IU\203\310\201J \203\223\201K\201L!\210\322C\201M\201I\201N\201O\201P#\201Q\"\201R$\216\201S
\201T\"EF\262\211\327\240\210)\210\212\201U \210)\203\330\201V \210B\235\203\346B\202\355BB\211B\266\20500\207" [todo-default-todo-file todo-file-do todo-show-first major-mode todo-files-function todo-current-todo-file 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 put custom-type radio todo--files-type-list #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (table 177 top 183 diary 183 regexp 183)) todo-show-categories-table 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" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (top 265 diary 269 regexp 273)) "top priorities" "diary items" "regexp items" first minibufferp minibuffer-selected-window file-name-extension buffer-file-name "toda" todo-mode todo-show-current-file todo-global-current-todo-file todo-visited todo-directory todo-categories todo-category-number todo-add-item-if-new-category assoc buffer-size 0 buffer-modified-p error "Buffer is empty but modified, please report a bug" make-byte-code "\302\242\203	\306\307!\207\310\300!\210\311\300\"\301\242\203$\312\211\313\304\314\315\316 B#\210\317 \210\320 \207" vconcat vector [todo-files todo-default-todo-file todo-current-todo-file save-buffer 0 delete-file delete nil put custom-type radio todo--files-type-list kill-buffer keyboard-quit] 6 todo-add-category "" todo-category-select todo-insert-item--basic] 16 (#$ . 20226) "P\np"])
#@29 Save the current todo file.
(defalias 'todo-save #[0 "\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 (#$ . 25222) 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 #[0 "p\306\267\202d\307\n\310=\203\f\235\203\f\210\202\fB\311 \210\312!\202e\312 \210\313=?\205e\311 \202e\314 \210
\315!\316Q\317!\203K\311 \210\202O\320\321!\210\210\322!\205e\312!\202e\314 \210\323 \202e\307\207" [major-mode todo-descending-counts todo-show-first todo-current-todo-file todo-visited todo-directory #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo-categories-mode 7 todo-filtered-items-mode 39 todo-archive-mode 54 todo-mode 92)) nil table todo-show kill-buffer todo-mode todo-save todo-short-file-name ".todo" todo-check-file message "There is no todo file for this archive" buffer-live-p quit-window] 4 (#$ . 25459) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable todo-skip-archived-categories funcall function #[0 "\300\207" [nil] 1] "Non-nil to handle categories with only archived items specially.\n\nSequential category navigation using \\[todo-forward-category]\nor \\[todo-backward-category] skips categories that contain only\narchived items.  Other commands still recognize these categories.\nIn Todo Categories mode (\\[todo-show-categories-table]) these\ncategories shown in `todo-archived-only' face and pressing the\ncategory button visits the category in the archive instead of the\ntodo file." :type boolean :group todo-display] 8)
#@287 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).

(fn &optional BACK)
(defalias 'todo-forward-category #[256 "\303\211!	\203(\304\305!\306U\203(\304\307!\306U\203(\304\310!\306U\204(\211!\202	\311 \210\n\2032\312 \210eb\207" [todo-category-number todo-skip-archived-categories transient-mark-mode #[257 "\302\203\n\303\202\304Z	G\"T\207" [todo-category-number todo-categories mod 2 0] 4 "\n\n(fn BACK)"] todo-get-count todo 0 done archived todo-category-select deactivate-mark] 4 (#$ . 27009) 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 #[0 "\300\301!\207" [todo-forward-category t] 2 (#$ . 27746) nil])
#@987 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.

(fn &optional FILE WHERE)
(defalias 'todo-jump-to-category #[512 " \204\306 \207\211\307=\211?\205\211\2052	\2052\310\311\"\312U\2052\310\313\"\312U\2052\310\314\"\312U?\205C\211\203B\315\n!\316P\202C\nG?\205U\317\320\205R\307	#\f\205]GV\206c@\204lA\262r\321\322\"q\210\203z\323 \210\324\325 \326!q\"\210
\203\213\327 \210\204\223\n\330!\210\331 \210eb\210\332\333!\203\253\203\253\334 \210\205\261\335 )\207" [todo-files-function todo-skip-archived-categories todo-current-todo-file todo-categories todo-add-item-if-new-category transient-mark-mode todo-show archive 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 deactivate-mark todo-category-number todo-category-select boundp hl-line-mode hl-line-highlight todo-insert-item--basic todo-global-current-todo-file] 14 (#$ . 27988) "P"])
#@715 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
to the empty line above the done items separator.

(fn &optional COUNT)
(defalias 'todo-next-item #[256 "\203\211\301W\203\302\303!\207\203\304!\207\304 \207" [current-prefix-arg 1 user-error "The prefix argument must be a positive number" todo-forward-item] 3 (#$ . 29957) "p"])
#@509 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 to the
empty line above the done items separator.

(fn &optional COUNT)
(defalias 'todo-previous-item #[256 "\301 \302V\205\203\211\302W\203\303\304!\207\203\305!\207\305 \207" [current-prefix-arg line-number-at-pos 1 user-error "The prefix argument must be a positive number" todo-backward-item] 3 (#$ . 30895) "p"])
#@47 Hide item numbering if shown, show if hidden.
(defalias 'todo-toggle-prefix-numbers #[0 "\212\214eb\210\304\305!\306\307\310#\211\311\312\"\313\232?\314=\203\"\315 \202$\316 *\266\202*\207" [todo-done-string-start 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 (#$ . 31666) nil])
#@61 Show hidden or hide visible done items in current category.
(defalias 'todo-toggle-view-done-items #[0 "\303\304\305 \"\306U\203\307\310!\207`eb\210\311\312\313#\211?\314 \210b\210\211?\205Ceb\210\311\312\313#\262\315!\203:b\202C\316 \210\n\205C\317 )\262\207" [todo-done-string-start todo-show-with-done transient-mark-mode 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 deactivate-mark] 6 (#$ . 32111) nil])
#@57 Switch between displaying only done or only todo items.
(defalias 'todo-toggle-view-done-only #[0 "?\302 \210	\205\f\303 \207" [todo-show-done-only transient-mark-mode todo-category-select deactivate-mark] 1 (#$ . 32668) nil])
#@58 Highlight or unhighlight the todo item the cursor is on.
(defalias 'todo-toggle-item-highlighting #[0 "\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 (#$ . 32904) nil])
#@65 Non-nil if item date-time headers in current buffer are hidden.
(defvar todo--item-headers-hidden nil (#$ . 33196))
#@153 Hide or show item date-time headers in the current file.
With done items, this hides only the done date-time string, not
the original date-time string.
(defalias 'todo-toggle-item-header #[0 "\30525\306\211\2052\211@\211\203*\211@\307@\"\211\310U\204\"\311\305\312\"\210\210A\266\202\202\f\210A\266\202\202\2620\204<\313\314!\210	\203M\315\316\317 T\320\321$\210\322\211\207\212\214~\210eb\210\322m\204\206\323\n\324\325\326\f!\327\260\322\312#\203\200\330\310\224\310\225\322\312$\262\331\320\321#\210\331\332\333#\210\322y\210\202U\210\312\211*\207" [todo-categories todo--item-headers-hidden todo-item-start diary-time-regexp todo-nondiary-end nonempty (todo done) todo-get-count 0 throw t user-error "This file has no items" remove-overlays 1 buffer-size todo header nil re-search-forward "\\( " "\\)?" regexp-quote "? " make-overlay overlay-put display ""] 8 (#$ . 33319) 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 #[0 "\303\304!\305\306\307!\310\"!\262r\311!q\210\312 \210\313ed\314\315\314\316&\210\317!\210) \320 \210\321\322!\203G\323\324 \325!q\"\210\326\302!\210\211\327 \202H\211\207" [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 file get-buffer-create erase-buffer write-region nil nomessage t kill-buffer todo-update-filelist-defcustoms called-interactively-p any set-window-buffer selected-window find-file-noselect make-local-variable todo-show] 10 (#$ . 34234) nil])
#@271 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.

(fn &optional ARG)
(defalias 'todo-rename-file #[256 "\211\203\f\306\307\310\311#\206\312 \313!\306\314!\313!\315\311\316\317!\320Q\311$\211\211\203\213\211@\313!\321\311\"\322!\323!\324\317!\"\203\202\325\311\211$Q\326\"\210\203\200rq\210\327\311\211#\210\330\235\203r\312 \n\331 !\202\332\333\317!\f#!\210)\266\266A\266\202\202$\210\f \f\311!\230\203\236\230\203\250\334 \207" [todo-directory todo-current-todo-file todo-mode-line-function mode-line-buffer-identification todo-files-function todo-files 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-update-filelist-defcustoms todo-archives todo-default-todo-file todo-global-current-todo-file] 19 (#$ . 35143) "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 #[0 "\306 \307=\310=\311=\312!	\203\313\202\205\314Qp\205&\315!\316\2030\317\202>\2039\320\202>\205>\321\322Q\323\203J\320\202P\205P\317\324\205V\325R\326\327\"!\211\205p\330!\204m\205p\326!\205W\330\f!\203\200\331\f!\210\332\f\n\"\333!\210\211\203\254\330!\203\233\331!\210\332\n\"\203\357\333!\210\202\357\334!\317\232\203\357r\206\276\335!q\210\212\214~\210eb\210\336\337\340 \341 \"!\342\343\344\"\210\340 \341 |\210\345p\"\210)\210*\346 \210\204\356\333 \210)\f \f\347!/0\230\204\211\2030\230\203\312
@!01\230\204%\211\203(1\230\203(\3421\350 \210\351\2035\352\202;\n\205;\353\354\205R\355\203J\320\202P
\205P\317\324Q\356R	\"\207" [major-mode todo-directory todo-visited buffer-read-only todo-files-function todo-files 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 #[257 "\211A\300\301I\207" [3 0] 4 "\n\n(fn X)"] prin1 todo-set-categories t todo-update-filelist-defcustoms message "Todo" "Archive" " file \"%s\" " "and its " "deleted" todo-archives todo-default-todo-file todo-global-current-todo-file] 18 (#$ . 36456) nil])
#@43 Name of current buffer in Todo Edit mode.
(defvar todo-edit-buffer "*Todo Edit*" (#$ . 38265))
#@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 #[0 "~\210\300 \210\301 \210\302\303\304\305\306\307!\310\311 !\312\232\203\313\202\314#\"\207" [todo-edit-mode remove-overlays display-warning todo format "\nType %s to return to Todo%s 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').\n" substitute-command-keys "\\[todo-edit-quit]" file-name-extension buffer-file-name "toda" " Archive" ""] 7 (#$ . 38367) nil])
#@557 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.

(fn &optional FILE CAT)
(defalias 'todo-add-category #[512 "\306\211\203G\307V\203;\203\206\262\202<\310\311\312\313\314!\205'#\262@\262\313\314!\2039A\202:\262\315!\210\316\317\307\"	GT\306\320	BC\"~\210db\210\212\321\f\322\261\210)\323 \210\313\314!\203{\211\324 \210\205|\325 \202|\211)\266\202\207" [todo-current-todo-file todo-categories buffer-read-only todo-category-beg todo-category-done todo-category-number 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 todo-add-item-if-new-category] 11 (#$ . 39733) "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 #[0 "\304 \305\306\307\"!\310\311\"\262\312!\313P\314C\315\316\"\317U?\205$C\"\211\211\203j\211@r\320!q\210\321\322 \212\214\323\n\"\240\210~\210eb\210\324 \210\325\326!\327\326\n!\330R\321\331#\210\332\331\211\321\333%\210,A\266\202\202&\266\334 \266\212\335 )\207" [todo-current-todo-file buffer-read-only todo-categories todo-category-beg 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 find-file-noselect nil 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] 13 (#$ . 40988) nil])
#@161 Delete current todo category provided it contains no items.
With prefix ARG delete the category even if it does contain
todo or done items.

(fn &optional ARG)
(defalias 'todo-delete-category #[256 "\305 \306\307\"\306\310\"\306\311\"\204(\312V\204\312V\203(\313\314\315\316!\"\202\301	G\317U\2035\320\321!\202Q\211\312V\203C\320\322\323!!\202Q\320\324\325	\205M\326\327\260!\205\301~\210\330\331\332\333\nP!\334Q\330\335#\336\337\333\n!\340Q\330\335#\203v\317\224\202wd\341\"\210|\210	G\317U\203\240\342 \210\343\330!\210\344!\210\345 \210\313\346	\"\202\276\347\350	\"	\"\351 \210\352\f	G\"T\353 \210eb\210\313\354\")\266\203\207" [todo-current-todo-file todo-categories todo-category-beg buffer-read-only todo-category-number todo-current-category todo-get-count todo done archived 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-update-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."] 13 (#$ . 41895) "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 #[0 "G\306V\204
\307\310!\205\360	\311 \312\313!\314!\315P\316C\317\320\"\321U?\205(C\"\322\323!\232\203;\312\324!\262\202*\n\235\204ar\325!q\210\326 \210\327ed\322\330\322\331&\210\332!\210) \333 \210\211\203\340\211@r\334!q\210\335\336 !\337\232\203\200\340\341!\204\200\341 \210~\210db\210\342\343\344\f\nP!\345Q\322\331#\346\343\344\f!P\322\331\347$\203\244\321\224\202\245d\350\"\351\n\"A\322r\334\331!\235\203\304\314!\315P\202\306\n!q\210\335\336 !\337\232\203\336\340\341!\204\347\341 \210\202\347\340\352!\204\347\352 \210\353\n!\354\355\"\354\356\"\357Q\322~\210db\210c\210\351
\"\203\323\336 !\331!\235\204\360!\262	\361	\362\"\262	\203Adb\210\342\343\344\f!\363\344!\364\260\322\331#\210\365	\322\211\211\306%\210\316\n\206JBC\"eb\210\366\367!\203a\370 \371 |\210\202g\372c\210eb\210\373p\"\210)\266\374\336 !\204y\375 \210\376\206\201!\210\377 \210)\201@\"\210|\210eb\210\322y\210m\203\267\201A\322!\210\201B	!\210\332 \210	\n\235\203\325\333 \210\202\325\201C\351\f\"\"\201D \210>GV\203\322\306>\377 \210)\266)A\266\202\202b\210\201E\201F \334!q\"\266\206\207" [todo-categories todo-current-todo-file todo-files todo-files-function todo-category-beg buffer-read-only 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-update-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 remove-overlays set-buffer-modified-p delete-file delete todo-update-categories-sexp set-window-buffer selected-window] 20 (#$ . 43551) nil])
#@785 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.

(fn &optional FILE)
(defalias 'todo-merge-category #[256 "\306 \307\310\311#\211@A\312!\313P\312!\313P\314\315!\316r\317\320\n!!q\210~\210\316\321\322\323\n!P\316\324#\210\325 \316y\210\325 \326\322\323!P\316\324#\210\316y\210\325 \327y\210\325 \326\322\323\n!P\316\324#\203a\330\224b\210\325 \202c\331 \332\"\332\"\314\311\"\314\333\"r\317\320!!q\210\334\335!\204\207\335 \210~\210eb\210\316G\330U\204\276\326\322\323\nP!\336Q\316\324#\210\326\322\323!P\316\324#\210\337y\210\325 \262\nc\210\340\311#\210G\330U\204\356\326\322\323\n!P\316\324#\203\326\330\224\202\327db\210G\330U\203\344\325 \262\nc\210\340\333#\210)\341 \210)\342	\"\210|\210\343\344\f\"\f\"\341 \210
\fGV\203\345\346 \210\347\350\n\n\n\n\n\257\"\210)\266	)\330V\203\317r\317\320!!q\210~\210eb\210\316\326\322\323\nP!\336Q\316\324#\205V\330\224b\210\325 \326\322\323\n!P\316\324#\203g\330\224\202hdb\210\316y\210\332`\"r\317\320!!q\210\326\322\323\n\fP!\336Q\316\324#\205\221\330\224b\210\325 \211\203\246\326\322\323\n!P\316\324#\203\246\330\224\202\247db\210\211\204\263\351\316\"\210c\210\341 \266)\342\"\210|\210\352\324!\341 \210)\266)\353\354 \355!q\"\210\330U\204\351\340\315#\210\341 \210\305!\210\314\311\"\330U.\346 \210\211b\210)\211\316\211\223\207" [todo-current-todo-file buffer-read-only todo-category-beg todo-category-done todo-categories todo-category-number 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 #[257 "\211\300\211\223\207" [nil] 4 "\n\n(fn M)"] todo-add-category todo-make-categories-list set-window-buffer selected-window get-file-buffer todo-show-with-done] 26 (#$ . 46220) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\210\300\320\302\303\321DD\322\306\307\310\311&\210\300\323\302\303\324DD\325\306\326\310\311&\210\300\327\302\303\330DD\331\306\332\333\334\310\311&	\210\300\335\302\303\336DD\337\306\340\341\342\333\343\310\311&\210\300\344\302\303\345DD\346\306\347\310\311&\207" [custom-declare-variable todo-include-in-diary funcall function #[0 "\300\207" [nil] 1] "Non-nil to allow new todo items to be included in the diary." :type boolean :group todo-edit todo-diary-nonmarking #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [t] 1] "Non-nil to enable inserting only highlighted region as new item." todo-default-priority #[0 "\300\207" [first] 1] "Default priority of new and moved items." (choice (const :tag "Highest priority" first) (const :tag "Lowest priority" last)) todo-item-mark #[0 "\300\207" [#1="*"] 1 #1#] "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 #[514 "\300\301\302\303#\"\207" [custom-set-default propertize face todo-mark] 8 "\n\n(fn SYMBOL VALUE)"] todo-comment-string #[0 "\300\207" [#2="COMMENT"] 1 #2#] "String inserted before optional comment appended to done item." string :initialize custom-initialize-default todo-reset-comment-string todo-undo-item-omit-comment #[0 "\300\207" [ask] 1] "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)
#@332 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 last todo items and the first done items.

(fn &optional N)
(defalias 'todo-toggle-mark-item #[256 "\303 \205\233\304 \305V\204\305\262\3062\231\307\211W\205\226\211\310\"\311	!\204*\301 \210\312\313!\314\315\"\316 \203X\317\315\320\305\"#\210A\305U\203O\321\"\202t\211AS\241\210\202t\317\315\nP#\210\203m\211AT\241\210\202t\305BB\266\322 \210\311\323!\203\216m\203\213\324\306\325\"\210\202\216\322 \210\210\211T\262\202\266\2020\262\207" [todo-categories-with-marks todo-item-start todo-item-mark todo-item-string todo-current-category 1 end 0 assoc looking-at todo-get-overlay prefix overlay-get before-string todo-marked-item-p overlay-put substring assq-delete-all todo-forward-item "^$" throw nil] 14 (#$ . 51507) "p"])
#@64 Mark all visible items in this category with `todo-item-mark'.
(defalias 'todo-mark-category #[0 "\302 \212eb\210m?\205S\303\"\304\305!\211\205\306\307\"\310 \204>\203>\311\307	P#\210\2038\211AT\241\210\202>\312BB\266\313 \210\314\315!\203m\204\313 \210\202)\207" [todo-categories-with-marks 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 "^$"] 9 (#$ . 52553) nil])
#@66 Remove `todo-item-mark' from all visible items in this category.
(defalias 'todo-unmark-category #[0 "\301 \302\"\212eb\210m\204.\303\304!\211\205\305\306\"\307 \203'\310\306\311\312\"#\210\313 \266\202\n)\314\"\211\207" [todo-categories-with-marks todo-current-category assoc todo-get-overlay prefix overlay-get before-string todo-marked-item-p overlay-put substring 1 todo-forward-item delq] 10 (#$ . 53058) nil])
#@64 Helper variable for setting item date from the Emacs Calendar.
(defvar todo-date-from-calendar nil (#$ . 53494))
#@873 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.

(fn &optional ARG)
(defalias 'todo-insert-item #[256 "\301C\302\303$\207" [todo-insert-item--parameters todo-insert-item--next-param nil "i"] 6 (#$ . 53614) "P"])
#@107 Function implementing the core of `todo-insert-item'.

(fn &optional ARG DIARY-TYPE DATE-TYPE TIME WHERE)
(defalias 'todo-insert-item--basic #[1280 " \204\306 \207\211\307=\310=\311=\312\203\203\313\314!\210\204'\203V	\315=\203G\316 \204G\203<\317\320!\204G\212\321 \210\317\n!)\203V\313\322\203Q\323\202R\324\325Q!\210\203^\326 \262\203r\312\f\203m\327 \204q\313\330!\210)p\331 `\332\267\202\213\333\334!\202\240\333\334\312\335#\202\240\331 
\206\237@\203\233A\206\237\336B!B\211@CA	\203\257\337 \202\314\203\275\340\341 \342 \"\202\314	\343=\203\311\313\344!\202\314\345\346!
\347\267\202\352\350 \202\351 \202\352C\353 \206\354 \202
;\203\355D\"\203
C\353 \202\356\357 \352\211#
\203\360 \206E\205\361\362!\312C\363\364\"\210\365\366 \367!q\"\210\242\2046\331 \240\210A\204@
A\312\211C\312CF\204\235\203WG\203\\H\202k\370=\205kI?\205kJ\205|G\371U?\205|\372P\205\204G??\205\212K\372\n\260\262\373\374\375\312\211\376&\262\377\371\201M\201N\201O\n\n&\201P\"\201Q$\216deZ\201R U\203\327\201S\242!\210\201T \210\212eb\210\317L!)\203\354\352\240\210\201U \210
\203\373\201V!\210\202\201W	\242\352#\210\211\352\240\210)\201X\201Y\376\"\210\f\204#\204#G\203,\201X\201Z\376\"\210\201[ )\266\203\266\211\207" [todo-files-function major-mode todo-category-done use-empty-active-region todo-use-only-highlighted-region todo-current-todo-file todo-show copy region here nil user-error "Here insertion only valid in current category" todo-mode todo-done-item-p looking-at "^$" beginning-of-line "Item " "copying" "insertion" " is not valid here" todo-diary-item-p use-region-p "There is no active region" todo-current-category #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((4) 125 (16) 131)) todo-read-category "Insert in category: " file todo-absolute-file-name todo-item-string buffer-substring-no-properties region-beginning region-end todo-archive-mode "Cannot insert a new Todo item in an archive" read-from-minibuffer "Todo item: " #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (date 211 dayname 216 calendar 221)) todo-read-date todo-read-dayname t todo-set-date-from-calendar keyboard-quit string-match calendar-date-string calendar-current-date todo-read-time format-time-string "%H:%M" find-file-noselect nowarn set-window-buffer selected-window find-buffer-visiting nonmarking 0 " " replace-regexp-in-string "\\(\n\\)[^[:blank:]]" "\n	" 1 make-byte-code todo-show-current-file todo-global-current-todo-file todo-default-todo-file todo-date-from-calendar todo-date-pattern todo-always-add-time-string buffer-read-only todo-include-in-diary todo-nondiary-start todo-diary-nonmarking diary-nonmarking-symbol todo-nondiary-end todo-done-string-start "\305\242\204)\306\307 \300q\"\210\301\203&\303\242\301\232\204\310\301!\210\311 \210\304\242\203&\312 \210\302b\210\305\242\2050\313 \207" vconcat vector [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 todo-insert-with-overlays todo-set-item-priority todo-update-count todo diary todo-update-categories-sexp] 32 (#$ . 54639)])
#@45 Return string of date chosen from Calendar.
(defalias 'todo-set-date-from-calendar #[0 ";\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] #[0 "\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 #[0 "\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 (#$ . 58042)])
#@386 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.

(fn &optional ARG)
(defalias 'todo-insert-item-from-calendar #[256 "\301\302\303!\303\211#\304 \210\305\306#\207" [todo-date-from-calendar calendar-date-string calendar-cursor-to-date t calendar-exit todo-insert-item--basic nil] 5 (#$ . 58973) "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 #[0 "\304C\305\306\307\310\311!\312\"\313$\216\314 \315\"\211?\205\316 \203%\317\320!\202@\211\205@\321\212\322 )\212\323 )\"\240\210\324\242\325\326#\210\317\327!\304\211\205\347\203Meb\210\3302\271m?\205\270\203_\331 \204c\203\262\332 \203p\333\330\334\"\210\202\201\333\335\334#\210\336 \203\201\333\337\334\"\210\242\203\213\340\242!\210\341 \210\203\243n\203\243l\203\243edW\203\243\342 \210\203Q\343\330\304\211\262\"\210\202Q\344 \210\202Q0\210\203\303\345\"\346 \210\347 \210\350\337!\306U\205\347\212eb\210\351\352\353\n!P\304\354#)\205\347\304\355 ))\266\204)\207" [todo-categories-with-marks buffer-read-only todo-category-done todo-show-with-done nil make-byte-code 0 "\300\242\205	\301\300\242!\207" vconcat vector [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 todo-get-count re-search-forward "^" regexp-quote t todo-category-select] 9 (#$ . 59667) nil])
#@88 Choose an editing operation for the current item and carry it out.

(fn &optional ARG)
(defalias 'todo-edit-item #[256 "\301\302 \"\303 \203\211\204\304\305\"\202\"\211\204\306 \205\"\304\307\"\207" [todo-categories-with-marks assoc todo-current-category todo-done-item-p todo-edit-item--next-key done todo-item-string todo] 5 (#$ . 61155) "P"])
#@89 Function providing the text editing facilities of `todo-edit-item'.

(fn &optional ARG)
(defalias 'todo-edit-item--text #[256 "\306 \211\205l`\307 \212\310 )\311	\312\n\313\314!\315\260\316 \317#\210`ZT\320=\321=\322=\323\324#\204@\204@\203E\202K\323	\"\n\325=\206Y\326\327\"G\330V\212\307 \210\311\331\314\f!\332Q	\317#)\211\203q\333\202r\334\335\336 \203\202\204\226\204\226\336 ?\205i
\203\226\204\226\205i\204\237\203\362\212\307 \210\311\331\314\f!\332Q\317#\203\324\203\303\337\340!\205\356\324\224\324\225|\202\356\341\342\343\330!\330B\"\335\211\211\330%\202\356\203\336\344\345!\202\356\346\f\347\342!b\210\310 \210\350\261)\202i\203=\351\352 \353\354 \"q\"\210\307 \310 }\210\355 \210\356\357\360\361!\"\262\202i\203 \362\202!\342\363\n\2030\fB\2024\324B\"P\203M\364	P\"\204M\365\366\"\262\202;\367\370\371\335\211\330&\262\fb\210\372 \210\373!\210\374\n!\262)\266\214\207" [todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end todo-comment-string buffer-read-only todo-item-string todo-item-start todo-item-end re-search-forward "\\( " "\\)?" regexp-quote "?" line-end-position t include-header comment-edit comment-delete substring 0 multiline split-string "\n" 1 " \\[" ": \\([^]]+\\)\\]" "Edit comment: " "Enter a comment: " nil 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 todo-edit-buffer] 22 (#$ . 61518)])
#@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 #[0 "\304 deZV\203Q\305 \306\307 \310	P\"\204 \311\312\"\262\202\310\305 \"\203:\313\314\315\211\316&\262ed|\210c\210\317 \210p=\204J\320\321 q\"\210\n\205P\322 \207\323 \205\240\324\325 !\326\232\203e\327 \210\202h\330 \210\331\332!\333Q\334\335 \336 \"\310\"\203\202\337\316\"\202\225\340\315\341#\204\222\342\315\341#\205\225\337\316!\343!\210\344 \210eb\266\203\207" [todo-date-string-start todo-date-pattern transient-mark-mode 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 deactivate-mark todo-check-format file-name-extension buffer-file-name "toda" todo-archive-mode 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] 10 (#$ . 63440) nil])
#@92 Function providing header editing facilities of `todo-edit-item'.

(fn WHAT &optional INC)
(defalias 'todo-edit-item--header #[513 "\306\307 \"\310\211\311!\312\211\211\211\211\211\211\211	\203 \313 \210\212\203+eb\204.\314 \210\3152\230m?\205\227\203P\316 \204P\317 \210m\203<\320\315\312\"\210\202<\321\322\f\323
\324\325@!\326\260\327 \310#\210\330\331!\330\332!\330\333!\330\334!\330\335!\330\336!A\337\312\"B\337\312\"\205\210\340!\203\237\341\230\203\230\342\202\257\340!\206\257G	\235\206\254	\235GZT\205\300\341\230?\205\300\340!\203\343\267\202#\344 \262\202\345 \346\347\350\351\352!\353\"\354$\216\355 )\262\262\202\356\357 \310\211#\262\202\360 \262\202\345 \346\347\350\351\352!\361\"\354$\216\362 )\262\262G\347V\203\363P\262\202\203/\364>\204\365\267\202\262\n\262	\262C\204M\344\366!\202`\341\230\203Z\367\370!\202`\371\\!\262\202\262\262\372D>\203\367C\204\344\372!\202\362	\341\230\204\214\342U\203\222\367\370!\202\362\373\211\347W\203\240\374\202\241\347#\211\374\246\262\347U\203\261\374\202\264\375!\262\211\374V\203\304\374\245\\\202\325\211\376W\203\324\377\374\245\376#\202\325\203\336\371!\206\340\262\210	\203\356\371!\202\362SH\262\202wC\204\344\372!\202u	\341\230\204\342U\203\367\370!\202u\373\211\347W\203#\374\202$\347#\211\374\246\262\347U\2034\374\2027\375!\262\211\374V\203G\374\245\\\202X\211\376W\203W\377\374\245\376#\202X\203a\371!\206c\262\210	\203q\371!\202uSH\262\342U\203\201\376\202\202\340!\331U\203\304\211\211\347W\203\233\375!S\262\211\201H\246\347U\205\267\211\201I\246\347U?\206\267\211\201J\246\347U\262\203\304\201K\266\202\202\314\201LSH\266\202V\203\353\367\201M	SH\331U\203\344\202\347\201N$\210\210\202\262	\262\n\262C\204\n\344\201F#\202\341\230\203\367\370!\202	\341\230\204%\n\341\230\203A\211\\\262\211\201OV\203;\367\201P!\202\371!\202\206L\357 \3318\262\201QE\211\3318\262\312\347U\203h\367\201R!\202\336\347V\203\362S\262\373\211\211@\262\211A@\262\3318\262\201OS_\\\331V\203\327\211\201S\201H_\\\201T\245Z\262\211\347W\203\262\375!S\262\211\201H\246\347U\205\316\211\201I\246\347U?\206\316\211\201J\246\347U\262\203\327\211T\262\266\204\201U_\201H\245\201I\245[\201J\245%\202\336\375T!\262\377\211\211@\262\211A@\262\3318\262\201OS_\\\331V\203]\211\201S\201H_\\\201T\245Z\262\211\347W\2038\375!S\262\211\201H\246\347U\205T\211\201I\246\347U?\206T\211\201J\246\347U\262\203]\211T\262\266\204\201U_\201H\245\201I\245[\201J\245\201V\211\211@\262\211A@\262\3318\262\201OS_\\\331V\203\332\211\201S\201H_\\\201T\245Z\262\211\347W\203\265\375!S\262\211\201H\246\347U\205\321\211\201I\246\347U?\206\321\211\201J\246\347U\262\203\332\211T\262\266\204&\266\203\\!\211@\341\230\204\364\371\3318!\262\203\371!\262\202SH\262\371A@!\266\203\262\202\203\364>\210\204O\201W>\203O6E:F
G\201X\201YD\201N#-\262\203_\201Z\312\211\211\376%\210\203\f\203w\201Z\312\211\211\331%\210\202\376\225b\210c\210\312\211\262\266
\203\221\317 \210\2022db\210\20220+\207" [todo-categories-with-marks buffer-read-only todo-date-from-calendar todo-date-string-start todo-date-pattern diary-time-regexp 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 2 5 6 7 8 9 append string-to-number "*" 13 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (date 204 calendar 211 today 235 dayname 246 time 253)) todo-read-date match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 todo-set-date-from-calendar calendar-date-string calendar-current-date todo-read-dayname [set-match-data evaporate] todo-read-time " " (year month day) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (year 310 month 357 day 751)) year user-error "Cannot increment *" number-to-string month + 12 abs 1 - todo-nondiary-end todo-month-name-array todo-month-abbrev-array current-prefix-arg calendar-date-display-form monthname day dayname 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] "%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] 48 (#$ . 64922)])
#@93 Function providing diary marking facilities of `todo-edit-item'.

(fn &optional NONMARKING)
(defalias 'todo-edit-item--diary-inclusion #[256 "\305\306\307 \"\211\203\310 \210\3112\306\212\211\203eb\210m?\205\304\211\203)\312 \203\265\313 \212\314 )\212\315!\2069\316!)\203q\317\320\n!!\203M\321\322!\210\202\263\317\320!!\203k\212\321\322!\210\323\fT\324#\210\321\322!\210\325\326\327\"\210)\nc\210\202\263\317\320!!\203\220\321\322!\210\323\fT\324#\210\321\322!\210\325\326\327\"\210\202\263\211\203\263\317\320\n!!\203\244\321\322!\210\211S\262c\210\211Tb\210\fc\210\325\326\330\"\210\266\211\204\276\331\311\305\"\210\332 \210\202)0\210)\266\333 \207" [todo-categories-with-marks buffer-read-only diary-nonmarking-symbol todo-nondiary-start todo-nondiary-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] 10 (#$ . 69755)])
#@122 Make all items in this category diary items.
With prefix ARG, make all items in this category non-diary
items.

(fn ARG)
(defalias 'todo-edit-category-diary-inclusion #[257 "\212eb\210\304\305!\304\306!\307\3102\235m\204z\311 \203!\312\310\307\"\210\202t\313 \212\314 )\212\315!\2061\316!)\203[\317\320	!!\204r\317\320\n!!\203N\321\322!\210\211S\262	c\210\211Tb\210c\210\202r\317\320	!!\203r\321\322!\210\323T\324#\210\321\322!\210\266\325 \210\202\203\204\211\326U\202\207\211U\204\232\327\306\203\225[\202\230Z\"\210\330 0)\266\202)\207" [buffer-read-only todo-nondiary-start diary-nonmarking-symbol todo-nondiary-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] 10 (#$ . 70890) "P"])
#@167 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.

(fn ARG)
(defalias 'todo-edit-category-diary-nonmarking #[257 "\212eb\210\303\3042Im?\205H\305 \203\306\304\303\"\210\202\n\307\310	!!\204B\211\2037\307\310\n!!\203B\311\312!\210\202B\307\310\n!!\204B\nc\210\313 \210\202\n0*\207" [buffer-read-only todo-nondiary-start diary-nonmarking-symbol nil stop todo-done-item-p throw looking-at regexp-quote replace-match "" todo-forward-item] 4 (#$ . 71834) "P"])
#@608 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.

(fn &optional ITEM CAT NEW ARG)
(defalias 'todo-set-item-priority #[1024 "\306\307!\204\f\211\310>\205\311 \206\312\313!\206\212\314 \210\312!)?\205\206)\315 \316 \206V	\317\267\202U\320 \202V\n\321\f\322\323
!\324\260\212\325\326\327#\210\330\331!)\262\202V\326\326\332>\204c	\333=\203\212\212\334 \335eb\210\312!\203\204\211T\262`U\203~\211\262\336 \210\202j\262)\202\224	\337=\205\224\340\341\"\203\236\211T\202\237\211\342\343\"\204\263>\247\203\263>\202\324\344=\203\305\331Y\203\305S\202\324\345=\205\324X\205\324T\326\211?\205\363	\344=\203\351\335U\206\363	\345=\205\363V?\205	\204(\306\307!\204(\346!\210@\347 deZV\203\212eb\210\325A\326\327#\262)\211@\212\350 \210*\210\331V\203_\204_\351B\352=\203?\331\202@\"\262\211\331W\204O\211V\205S\342\353\"\262\204.\211\262\202.	\333=\203\320\n\321\f\322\323
!\354\323!\355\260	W\203\203\212\356 )\202\216V\205\216\212\334 )\212W\203\254\336	ZT!\210\357\327#\205\305\330\331!\202\305V\205\305\360Z!\210\325\327#\205\305\330\331!)\211\203\316\361\362!\210\266	\204\333\306\307!\203\336\363 \210eb\210\203\331U\204\336S!\210\364\365\323!\366Q\367\335!\"\203\360 \210\370	!\210\205\371\372!\373\374\"\375\374CP#\266\202)\266\211\207" [todo-category-done major-mode todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end called-interactively-p any (raise lower) todo-done-item-p looking-at "^$" beginning-of-line todo-item-string todo-marked-item-p #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo-mode 53 todo-filtered-items-mode 58)) todo-current-category "\\( " "\\)?" regexp-quote "?\\(?1: \\[\\(.+:\\)?.+\\]\\)" re-search-forward nil t match-string-no-properties 1 (raise lower) todo-filtered-items-mode todo-item-start 0 todo-forward-item todo-mode todo-get-count todo format "Set item priority (1-%d): " raise lower 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 current-prefix-arg buffer-read-only todo-show-with-done todo-done-string-start todo-default-priority todo-item-mark] 22 (#$ . 72415) nil])
#@61 Raise priority of current item by moving it up by one item.
(defalias 'todo-raise-item-priority #[0 "\300\301\211\211\302$\207" [todo-set-item-priority nil raise] 5 (#$ . 75567) nil])
#@63 Lower priority of current item by moving it down by one item.
(defalias 'todo-lower-item-priority #[0 "\300\301\211\211\302$\207" [todo-set-item-priority nil lower] 5 (#$ . 75757) nil])
#@931 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.

(fn &optional FILE)
(defalias 'todo-move-item #[256 "\305 \306\"\307\310!\204\212\311 \210\307	!)\205\211??\205\325\312\313 C\314 \205*\211\242\212\315 \210\316 )\317C\317C\317C\312C\312C\312C\312C\312C\312\211\320\317\321\322\323!\324\"\325$\216\204k\326\212\315 )\212\327 )\"\240\210\330\242\331\332#\210\203|A\333V\203|\334\202}\335\336\337\340Q\312#\211@\232\203\236\211A\232\203\236\336\341!\262\202\206@\240\210A\240\266)\342!q\210\203eb\210m\204\367\343 \203\361\314 \203\330\313 B\262\211\242T\240\210\202\361\313 B\262	\211\242T\240\210\344 \203\361\211\242T\240\210\345 \210\202\272\237\262\211\237\262\202+\314 \203B\262\333\240\210\202+\f\242B\262	\333\240\210\344 \203+\333\240\210\346\347 \350\242\351\"q\"\210\320\317\352\322\323&
\353\"\354$\216\312\203\205\355\211A\262\242\242\356#\210`\262\203\205\345 \210\357\211A\262\242!\210\202r\203\312\360\242!\210~\210eb\210\361\362\363\f\n\242P!\364Q\312\356#\210\361\362\363	!P\312\356#\210\312y\210\211\204\267`\262\203\312\357\211A\262\242!\210\345 \210\202\267\211b\210\356\240\262*\266\216\207" [todo-categories-with-marks todo-category-done buffer-read-only todo-current-todo-file todo-category-beg todo-current-category assoc looking-at "^$" beginning-of-line nil todo-item-string todo-done-item-p todo-item-start point-marker 0 make-byte-code "\300\242\205	\301\300\242!\207" vconcat vector [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-diary-item-p todo-forward-item set-window-buffer selected-window find-file-noselect nowarn "\313\242\203\361\314\315 \240\210\305\242\203\316\317\305\242\"\210\306\242\203 \316\320\306\242\"\210\307\242\203+\316\321\307\242\"\210\322 \210r\323\302!q\210\212\214~\210\304b\210\301\203\226\324\211\303\324\240\210\325\326\327(!P\324\330#\210\324y\210`\262\331\326\327(!P\324\330#\203l\332\224b\210\315 \202n\333 \262b\210`W\203\212\334 \203\204\335 \210\202s\336 \210\202s\337\300)\")\266\202\243\310\242\203\240\340\310\242!\210\335 \210*\305\242\203\261\316\317\305\242[\300#\210\306\242\203\276\316\320\306\242[\300#\210\307\242\203\313\316\321\307\242[\300#\210\322 \210)\341\342 \343\312\242\344\"q\"\210\345\311\242!%\307\242\332V*\346 \210)\314\242b\210\347 \207\341\342 \343\302\344\"q\"\210\345\300!\210\346 \210\304b\207" [point-marker todo-update-count todo diary done todo-update-categories-sexp find-buffer-visiting nil re-search-backward "^" regexp-quote t re-search-forward 0 point-max-marker 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 todo-category-beg todo-categories-with-marks todo-show-with-done] 6 todo-set-item-priority t todo-insert-with-overlays todo-category-number re-search-forward "^" regexp-quote "$"] 35 (#$ . 75950) "P"])
#@570 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.

(fn &optional ARG)
(defalias 'todo-item-done #[256 "\306 \307\"\211\203
\310 \210\311 \204#\312\313!\204#\212\314 \210\312	!)\205%\211??\205O\315\316 \317\211#\n\2039\320\321!\202:\322\323\324\260\205H\325\326!\327\211\212eb\210\330\f\331\317#)\331\211\331\211`G\327U?\205l\3326\333\n\334\260\262\203veb\210\335\336!\262\3372\310\312\313!?\205\307\203\225\203\301\340 \203\301\341 \262	QB\262T\262\342 \203\261T\262\343 \210\204\344\337\331\"\210\202\345 \210\2020\210\237\262\203\330\346
\"\212~\210\330\347\350	!P\331\317#\210\331u\210\203\357`\262\203(\211A\262\242\351\261\210\203\357\352!\3537\3548\355\3509!\356\260\331\317#\210\357\327\224\327\225#\266\360 \210\331u\210\202\357)\361\362[\"\210\361\337\"\210\361\363[\"\210\364 \210:\365 \210\211\205L\211b*\266\213\207" [todo-categories-with-marks todo-category-done todo-always-add-time-string todo-done-string todo-done-string-start buffer-read-only todo-current-category assoc todo--user-error-if-marked-done-item todo-done-item-p looking-at "^$" beginning-of-line calendar-date-string calendar-current-date t format-time-string " %H:%M" "" "[" "] " read-string "Enter a comment: " 0 re-search-forward nil " [" ": " "]" todo-get-overlay header done todo-marked-item-p todo-item-string todo-diary-item-p todo-remove-item throw todo-forward-item assq-delete-all "^" regexp-quote "\n" copy-overlay re-search-backward "\\( " "\\)?" "? " move-overlay todo-item-end todo-update-count todo diary todo-update-categories-sexp todo-category-select todo-comment-string todo-item-start diary-time-regexp todo-nondiary-end todo-show-with-done] 23 (#$ . 80008) "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 #[0 "\305 \306\"\211\203\211A\307V\203\310\202\311\204\312 \205a\313`\314 \315C\316C\316C\313\211\211C\313C\313C\313C
\203>eb\210\3172m?\205
\203V
\203\320 \203\312 \204f\nb\210\321\322!\210\202\323 \210
\204\202\324\212\323 )\212\325 )\"\240\210\326\242\327\330#\210\331\332!\262\211\242T\240\210\333\334\n!!\204\235\211\242T\240\210\212\325 )\262\335\336\334!\337Q\340#\203\366\341\316\342\343\344
\"\345\"\346$\216\242\315=\203\351\f\347=\203\342\350\351\352\353\260!\205\347\354\202\347\f\205\347\354\240\210)\242\354=\203\366\316\224\262\211\242\355\"\205\356Q\240\210
\204\357\317\313\"\210\360 \210\202B0\210\341\316\361\343\344&\n\362\"\363$\216
\203H\364\242\316\365#\240\210\366\242\340#\210`\240\210\211\340\240\210)	\313\211\223)\266\214\207" [todo-categories-with-marks buffer-read-only todo-nondiary-start todo-comment-string todo-undo-item-omit-comment 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 make-byte-code "\300\242\302=\205\301\242\205\303\301\242!\207" vconcat vector [first delete-overlay] 2 ask todo-y-or-n-p "Omit comment" " from restored item" "? " omit buffer-substring-no-properties "\n" throw todo-forward-item "\307\242\203\n\312\307\242!\210\311\242\204\302b\207\301\203D\306\313\240\210\314\315\316!P\313\317#\210m\204:\320 \2034\321 \210\202%\322 \210\202%\323\300\"\202J\303b\210\321 \210\324\325\304\242\"\210\324\326\304\242[\"\210\305\242\203b\324\327\305\242\"\210\330 \210\331\326!\332V\333 \210)\310\242b\207" [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 todo-category-done todo-categories-with-marks todo-show-with-done] 4 substring -1 todo-set-item-priority] 30 (#$ . 82271) nil])
#@447 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.

(fn &optional ASK)
(defalias 'todo-find-archive #[256 "\303!\204\n\304\305!\207\306 \307\310\"\311	!\312P\203\313\202.\314!\203'\315\202.\316\317!\205.\313\211\313=\203;\320\321\303\211#\262\211\315=\203P\322U\203P\316\323!\205N\324\262\211\205w\325\326 \327!q\"\210\330\331!\204f\331 \210\211\332>\203q\333\202u\302!\210\334 \207" [todo-files-function todo-current-todo-file todo-category-number 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-select] 9 (#$ . 84983) nil])
#@33 Choose an archive and visit it.
(defalias 'todo-choose-archive #[0 "\300\301!\207" [todo-find-archive t] 2 (#$ . 86340) nil])
#@448 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.

(fn &optional ALL)
(defalias 'todo-archive-done-item #[256 "\306=\205L\211\203\307\310!\311U\203\312\313!\207\3142L\315 p\316	\"\317\n!\320P\321\322\"?\2058\323 \2058\324 \325P\311\323 ?\205@`\326\211\211\211\211\f\203\224\327\330!\203\214\212\214eb\210~\210\331\f\326\322#\210\311\224\262\331\332\333
!P\326\322#\203s\311\224\202td\262\334\"\262\307\310!\262\203\210b\210*\202\307\335\314\326\"\210\202\307	\203\307\212eb\210m\204\306\336 \203\300\323 \204\265\335\314\312\337!\"\210\202\300\324 \325Q\262T\262\340 \210\202\235)	\204\340\f\204\340\204\340\335\314\312\337!\"\210\202%rq\210\341\342!\204\356\342 \210:\326\211\203\371\343 \210~\210eb\210\331\332\333
P!\344Q\326\322#\203\331\333;!\326\322#\203\326u\210\202(\345\326\"\210db\210\n\2031\202<
\203:\202<c\210\346\310\f\204J\203O\202P\347#\210\350 \210\351\352!8\204r\353\326\211\f\322\211%\210<\322!=\342 \210\211\203y\343 \210)\210)r\nq\210\f\203\244\212\214~\210\354\"\210|\210\346\310[\"\210\346\355\"\210*\202	\204\263\203\f\204	\203\273eb\210\3102m?\205	\203\316\336 \204\323\203\356 \210\346\310\357\"\210\346\355\347\"\210	\204\352\203\373n\203\373l\203\373edW\203\373\360 \210\203\277\335\310\326\211\262\n\"\210\202\277\340 \210\202\2770\210	\203\361\f	\"\350 \210\362 \210)\363	!\210\364\f!\210\365 \210\366 \210\367\370 \f\"\210\363\371\f!!\210\326>\365 *\266\2140\207" [major-mode todo-categories-with-marks todo-current-todo-file buffer-read-only todo-done-string-start todo-category-beg 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-toggle-item-header "$" 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--item-headers-hidden todo-category-done todo-files-function todo-archives todo-show-with-done] 20 (#$ . 86473) "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 #[0 "\306=\205\200\307 \310\311	!\312P\313\"\314\n\"\315 \316P\317\320\211\203?\212eb\210m\204>\321 \2038\211\315 \316Q\262T\262\322 \210\202$)rq\210\f\320\211\203O\323 \210~\210eb\210\324\325\326
\fP!\327Q\320\313#\204m\330\320\n\"\210\313\262\324\325\3260!P\320\313#\210\320y\210\203\233c\210\331\332#\210\211\204\260\331\333[#\210\202\260c\210\331\332\334#\210\211\204\260\331\333\335#\210\203\267\323 \210\336 \210)\266)\203\310\320\262eb\210\3322\363m?\205\362\321 \204\332\203\354\337 \210\203\314\340\332\320\211\262\"\210\202\314\322 \210\202\3140\210\331\332\203\377[\202\335#\210\341\332!\317U\203Z1G\334U\203\"\342	!\210\343\320!\210\344 \210\202Z~\210\345\325\326
!\327R\320\313#\324\325\326
!P\320\313\346$\203B\317\224\202Cd\347\"\210|\210\350\314	1\"1\"1\266\336 \210\351!\3132\352\353 \310!q\"\210\354!\210\355 \210\320y\210\356\357!)\262)\266\206\207" [major-mode todo-current-todo-file todo-categories-with-marks buffer-read-only todo--item-headers-hidden todo-category-beg 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 todo-toggle-item-header 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." todo-category-done todo-categories todo-show-with-done] 14 (#$ . 89428) nil])
#@256 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.

(fn &optional FILE)
(defalias 'todo-jump-to-archive-category #[256 "\300\301\"\207" [todo-jump-to-category archive] 4 (#$ . 91642) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\210\300\320\302\303\321DD\322\306\307\310\311&\210\300\323\302\303\324DD\325\306\307\310\311&\210\300\326\302\303\327DD\330\306\307\310\311&\210\300\331\302\303\332DD\333\306\307\310\311&\210\300\334\302\303\335DD\336\306\337\310\311&\207" [custom-declare-variable todo-categories-category-label funcall function #[0 "\300\207" [#1="Category"] 1 #1#] "Category button label in Todo Categories mode." :type string :group todo-categories todo-categories-todo-label #[0 "\300\207" [#2="Todo"] 1 #2#] "Todo button label in Todo Categories mode." todo-categories-diary-label #[0 "\300\207" [#3="Diary"] 1 #3#] "Diary button label in Todo Categories mode." todo-categories-done-label #[0 "\300\207" [#4="Done"] 1 #4#] "Done button label in Todo Categories mode." todo-categories-archived-label #[0 "\300\207" [#5="Archived"] 1 #5#] "Archived button label in Todo Categories mode." todo-categories-totals-label #[0 "\300\207" [#6="Totals"] 1 #6#] "String to label total item counts in Todo Categories mode." todo-categories-number-separator #[0 "\300\207" [#7=" | "] 1 #7#] "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 #[0 "\300\207" [center] 1] "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 #[0 "\300 \210\301\302!\207" [todo-display-categories nil todo-update-categories-display] 3 (#$ . 93576) nil])
#@71 Move point to the Nth next button in the table of categories.

(fn N)
(defalias 'todo-next-button #[257 "\301\302\303#\210n\205\304`!\205\305G\\u\207" [todo-categories-number-separator forward-button wrap display-message button-at 4] 5 (#$ . 95227) "p"])
#@75 Move point to the Nth previous button in the table of categories.

(fn N)
(defalias 'todo-previous-button #[257 "\301\302\303#\210n\205\304`!\205\305G\\u\207" [todo-categories-number-separator backward-button wrap display-message button-at 4] 5 (#$ . 95494) "p"])
#@371 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.

(fn &optional ARG)
(defalias 'todo-set-category-number #[256 "\212\303y\210\304\305w\210\306 )\211\205\325G\307\310\"i\305\311=\203)\312V\203)S\2027\313=\2057W\2057T\305\204q\206D\314!\262\305\262\211\312W\204U\211V\203]\307\315\"\202e\211U\205e\316\262\2048\211\262\2028W\317\203~\320\202\321Z!\"\203\216\320\202\217\322!\233S8C\244\244\305\203\247\237\323!\203\262\237\262\324 \210r\325\n!q\210\211\326 \210)\327 \210Ty\210u)\266\205)\266\205\207" [todo-categories buffer-read-only todo-current-todo-file 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 identity 1+ 1- delete-dups kill-buffer find-buffer-visiting todo-update-categories-sexp todo-show-categories-table] 14 (#$ . 95771) "P"])
#@65 Raise priority of category at point in the table of categories.
(defalias 'todo-raise-category #[0 "\300\301!\207" [todo-set-category-number raise] 2 (#$ . 97053) nil])
#@65 Lower priority of category at point in the table of categories.
(defalias 'todo-lower-category #[0 "\300\301!\207" [todo-set-category-number lower] 2 (#$ . 97228) nil])
#@57 Sort table of categories alphabetically or numerically.
(defalias 'todo-sort-categories-alphabetically-or-numerically #[0 "\212eb\210\301y\210\302>\203\303\304!\210\305\302\"\211\202\303\302!)\207" [todo-descending-counts 2 alpha todo-update-categories-display nil delete] 3 (#$ . 97403) nil])
#@51 Sort table of categories by number of todo items.
(defalias 'todo-sort-categories-by-todo #[0 "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display todo] 2 (#$ . 97710) nil])
#@52 Sort table of categories by number of diary items.
(defalias 'todo-sort-categories-by-diary #[0 "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display diary] 2 (#$ . 97907) nil])
#@64 Sort table of categories by number of non-archived done items.
(defalias 'todo-sort-categories-by-done #[0 "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display done] 2 (#$ . 98107) nil])
#@55 Sort table of categories by number of archived items.
(defalias 'todo-sort-categories-by-archived #[0 "\212eb\210\300y\210\301\302!)\207" [2 todo-update-categories-display archived] 2 (#$ . 98317) nil])
#@41 Name of buffer in Todo Categories mode.
(defvar todo-categories-buffer "*Todo Categories*" (#$ . 98526))
#@76 Return the length of the longest name in list CATEGORIES.

(fn CATEGORIES)
(defalias 'todo-longest-category-name-length #[257 "\300\211\203\211@G]\262A\266\202\202\262\207" [0] 6 (#$ . 98637)])
#@123 Return adjusted length of category label button.
The adjustment ensures proper tabular alignment in Todo
Categories mode.
(defalias 'todo-adjusted-category-label-length #[0 "\302\303\"\304!	GZ\305!\203\306!\203T\202 ]\207" [todo-categories todo-categories-category-label mapcar car todo-longest-category-name-length natnump cl-oddp] 6 (#$ . 98849)])
#@168 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'.

(fn STR)
(defalias 'todo-padded-string #[257 "\301 G\302\303\"\303=\304Z\305\245]\306\267\2020\304\2021\211\2021\203*\211\305_T\2021\211\305_\2021\307\310\267\202Y\203B\305_T\202Z\305_\202Z\203QT\202Z\202Z\304\202Z\307\311\312\"\311\312\"Q\207" [todo-categories-align todo-adjusted-category-label-length logand 1 0 2 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 23 center 27 right 31)) nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 55 center 72 right 85)) make-string 32] 12 (#$ . 99220)])
#@62 List of keys for category counts sorted in descending order.
(defvar todo-descending-counts nil (#$ . 100000))
#@83 Return a copy of LIST, possibly sorted according to KEY.

(fn LIST &optional KEY)
(defalias 'todo-sort #[513 "\301!\302=\203
\303\202\304\305\306\307\310!\311\"\312\313%\235\302=\203'\314\2020\211\203/\315\2020\316\304\317\320\307\310\"\321\"\322\323%\203Z\324\"\262\203V\325\"\202ZB\207" [todo-descending-counts copy-sequence alpha #[257 "\211\226\207" #1=[] 2 "\n\n(fn X)"] make-byte-code 257 "\301\300\"\207" vconcat vector [todo-get-count] 4 "\n\n(fn X)" string< < > 514 "\300@!\300@!\301\"\207" #1# 7 "\n\n(fn S1 S2)" sort delete] 13 (#$ . 100117)])
#@70 Keep point on the TYPE count sorting button just clicked.

(fn TYPE)
(defalias 'todo-display-sorted #[257 "`\300!\210\211b\207" [todo-update-categories-display] 4 (#$ . 100717)])
#@63 Return symbol for sort key associated with LABEL.

(fn LABEL)
(defalias 'todo-label-to-key #[257 "\305\230\203
\306\262\202:	\230\203\307\262\202:\n\230\203%\310\262\202:\230\2031\311\262\202:\f\230\203:\312\262\211\207" [todo-categories-category-label todo-categories-todo-label todo-categories-diary-label todo-categories-done-label todo-categories-archived-label nil alpha todo diary done archived] 4 (#$ . 100903)])
#@124 Insert button for displaying categories sorted by item counts.
LABEL determines which type of count is sorted.

(fn LABEL)
(defalias 'todo-insert-sort-button #[257 "\211\230\203\f\301!\202
\211`\211G\\\302\303\304\302\305\306\307\310\311\312!\313\"\314\315%%\210\316\"\262\317\304\320#\207" [todo-categories-category-label todo-padded-string nil insert-button face action make-byte-code 257 "\302\300!\211	\235\203\211\303=\203\304\305!\210\306	\"\211\202\304!\207" vconcat vector [todo-descending-counts todo-label-to-key alpha todo-display-sorted nil delete] 5 "\n\n(fn BUTTON)" make-overlay overlay-put todo-button] 16 (#$ . 101352)])
#@58 Return a list of total item counts for the current file.
(defalias 'todo-total-item-counts #[0 "\300\301\302\303\304\305F\"\207" [mapcar #[257 "\301\302\303\304\305\306\307\310!\311\"\312\313%\"\"\207" [todo-categories apply + mapcar make-byte-code 257 "\211A\300H\207" vconcat vector [] 3 "\n\n(fn X)"] 10 "\n\n(fn I)"] 0 1 2 3] 6 (#$ . 102017)])
#@60 Variable for numbering categories in Todo Categories mode.
(defvar todo-categories-category-number 0 (#$ . 102374))
#@349 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'.

(fn CAT &optional NONUM)
(defalias 'todo-insert-category-line #[513 "	\235\n\306!`T\262\307\203\310\311G\\\312\"\202\"\313\314#\315\316\317\320\321\322!\323\"\324\325%\203=\f\326BC\202L
\327B.\330B\f\326B/\331BF\332#\333R\3340\205v\335\327\n\"\336U\205v\335\326\n\"\336U\205v\335\331\n\"\336U?\205v\337\340\316\317\341\321\322!\342\"\343\344%%\210\345\324G#\346\211\347\267\202\336\345\350
G\351\245#\262\202\336\345\350
G\351.G\351\245%\262\202\336\345\350
G\351.G\351\fG\351\245&\262\202\336\345\350
G\351.G\351\fG\351/G\351\245&	\262\345\324G#U\204\373\311\\\262\352\"\262\353\334\354#\210\266\355 \207" [todo-current-todo-file todo-archives todo-categories-category-number todo-categories-number-separator todo-categories-done-label todo-categories-todo-label todo-padded-string insert-button make-string 4 32 format " %3d%s" mapconcat make-byte-code 257 "\301@G\302\245T\303\"\304\305\306A\300\"\"\307@G!\205\310Q\207" vconcat vector [make-string 2 32 format "%3d" todo-get-count cl-oddp " "] 7 "\n\n(fn ELT)" done todo diary archived "" " " face todo-get-count 0 todo-archived-only action "p\301\302\300\"\210\303!\207" [todo-jump-to-category nil kill-buffer] 5 "\n\n(fn BUTTON)" + nil #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo 149 diary 162 done 179 archived 200)) 1 2 make-overlay overlay-put todo-sorted-column newline todo-categories-diary-label todo-categories-archived-label todo-skip-archived-categories] 20 (#$ . 102497)])
#@68 Prepare buffer for displaying table of categories and item counts.
(defalias 'todo-display-categories #[0 "\306=?\205\221	\206\307\n!\310\311 \312\f!q\"\210\313 \210\306 \210	
\235\314\315 \210\316\317\2031\320\2022\321\322Q\323	!\"c\210\324\325!\210\326\327G\\\330\"c\210\331!\210\211\203_\326\332\330\"c\210\331!\210\202\213\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!)\262\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 todo-categories-number-separator todo-categories-category-label todo-categories-done-label todo-categories-todo-label todo-categories-diary-label todo-categories-archived-label] 5 (#$ . 104383)])
#@65 Populate table of categories and sort by SORTKEY.

(fn SORTKEY)
(defalias 'todo-update-categories-display #[257 "\306\"	\n\235\307`d=\205\212\310y\210\311`\312\313\314 $b)\313\315y\210`d|\210\211\203;\211@\316@\"\210A\266\202\202'\210\317 \210\320\321
G\\\322\"\323!\324\325\203X\315BC\202i\307B\326B\315B\327BF\330#\261\210\211\203u\211b\210\331\211*\207" [todo-categories todo-current-todo-file todo-archives todo-categories-category-number buffer-read-only todo-categories-number-separator todo-sort 0 -2 next-single-char-property-change face nil line-end-position 2 todo-insert-category-line newline make-string 4 32 todo-padded-string mapconcat #[257 "\300@G\301\245T\302\"\303\304A\305 8\"\306@G!\205\307Q\207" [make-string 2 32 format "%3d" todo-total-item-counts cl-oddp " "] 6 "\n\n(fn ELT)"] 1 3 "" t todo-categories-totals-label todo-categories-done-label todo-categories-todo-label todo-categories-diary-label todo-categories-archived-label] 14 (#$ . 105488)])
#@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 #[0 "\304\305!`\306\211\211\211\211\211\211~\210eb\210m\204K\307	\306\310#\262\203'\203'\311 \210\312 b\210`\313\232\204E\314\315\316	!P!\204E\203EB\262\306y\210\202\317!\262\203\357\3202\353\203\346\211A\262\242\262b\210\321 \210\314\n!\203w\310\262\322\315\316	!\323Q\306\310#\210\324\313!\262\325!\210\326 \210\203\231\204\231\327 \210b\210\330`\nGZ`\"\262\331\332\333#\210\203ZG\262\334\313V\203\304\335\336\"\202\305\337!\203\316~\210\202Z\340\320\313V\203\335\335\341\"\202\336\342\211\262\"\210\202Z\343\211\2620\210\202\374\326 \210b\210\344\345\n\"\210\211\205\334\346P!\203
\347 \202\344\350\351\352\347!@!\"\207" [transient-mark-mode todo-category-beg todo-done-string-start todo-show-with-done read-from-minibuffer "Enter a search string (regexp): " nil re-search-forward t deactivate-mark 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] 14 (#$ . 106505) nil])
#@54 Remove highlighting on matches found by todo-search.
(defalias 'todo-clear-matches #[0 "\300\301\302 T\303\304$\207" [remove-overlays 1 buffer-size face todo-search] 5 (#$ . 108292) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\321\322 B\310\311&\210\300\323\302\303\324DD\325\306\326\310\311&\207" [custom-declare-variable todo-top-priorities-overrides funcall function #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [1] 1] "Default number of top priorities shown by `todo-filter-top-priorities'." integer todo-filter-files #[0 "\300\207" [nil] 1] "List of default files for multifile item filtering." set todo--files-type-list todo-filter-done-items #[0 "\300\207" [nil] 1] "Non-nil to include done items when processing regexp filters.\nDone items from corresponding archive files are also included." boolean] 8)
#@93 Set number of top priorities for this file.
See `todo-set-top-priorities' for more details.
(defalias 'todo-set-top-priorities-in-file #[0 "\300 \207" [todo-set-top-priorities] 1 (#$ . 109975) 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 #[0 "\300\301!\207" [todo-set-top-priorities t] 2 (#$ . 110180) nil])
#@800 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.

(fn &optional ARG)
(defalias 'todo-filter-top-priorities #[256 "\300\301\"\207" [todo-filter-items top] 4 (#$ . 110400) "P"])
#@767 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'.

(fn &optional ARG)
(defalias 'todo-filter-top-priorities-multifile #[256 "\300\301\302#\207" [todo-filter-items top t] 5 (#$ . 111314) "P"])
#@454 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.

(fn &optional ARG)
(defalias 'todo-filter-diary-items #[256 "\300\301\"\207" [todo-filter-items diary] 4 (#$ . 112210) "P"])
#@575 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.

(fn &optional ARG)
(defalias 'todo-filter-diary-items-multifile #[256 "\300\301\302#\207" [todo-filter-items diary t] 5 (#$ . 112777) "P"])
#@600 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.

(fn &optional ARG)
(defalias 'todo-filter-regexp-items #[256 "\300\301\"\207" [todo-filter-items regexp] 4 (#$ . 113480) "P"])
#@720 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.

(fn &optional ARG)
(defalias 'todo-filter-regexp-items-multifile #[256 "\300\301\302#\207" [todo-filter-items regexp t] 5 (#$ . 114195) "P"])
#@65 List of short file names used by todo-find-filtered-items-file.
(defvar todo--fifiles-history nil (#$ . 115044))
#@44 Choose a filtered items file and visit it.
(defalias 'todo-find-filtered-items-file #[0 "\301\302\303\302$\304\211\211\203H\211@\305!\306!\307\232\203\310\2023\306!\311\232\203*\312\2023\306!\313\232\2053\314\315\316RBB\262\266A\266\202\202	\210\317\320\304\302\304\321@@&\262\322\"A\262\323!\210\324\325!\204l\325 \210\326 \207" [todo-directory directory-files t "\\.tod[rty]\\'" nil todo-short-file-name file-name-extension "todr" "regexp" "todt" "top" "tody" "diary" " (" ")" completing-read "Choose a filtered items file: " todo--fifiles-history assoc-string find-file derived-mode-p todo-filtered-items-mode todo-prefix-overlays] 11 (#$ . 115163) nil])
#@62 Display the file and category of the filtered item at point.
(defalias 'todo-go-to-source-item #[0 "\305\306!?\205T\307 p\310!\211@A@\3118\204 \312\313\"\202R\314!\210\315\316 \317!q\"\210\301!\n\204>A\320=\203B\321\202C\322 \210)\f\203O\323 \210@b\266\206\207" [todo-current-todo-file todo-category-number todo-filter-done-items todo-show-with-done transient-mark-mode looking-at "^$" 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 done t todo-category-select deactivate-mark] 10 (#$ . 115859) nil])
#@66 List of files selected from `todo-multiple-filter-files' widget.
(defvar todo-multiple-filter-files nil (#$ . 116492))
#@66 Variable holding widget created by `todo-multiple-filter-files'.
(defvar todo-multiple-filter-files-widget nil (#$ . 116617))
#@67 Pop to a buffer with a widget for choosing multiple filter files.
(defalias 'todo-multiple-filter-files #[0 "\302\303!\210r\304\305!q\210\306p!\210\307 \210\310 \210\311\312!\210\313\314\315 B!\311\316!\210\313\317\320\321\322$\210\311\323!\210\313\317\320\324\325$\210\326	!\210\327 \210)\330\331!\210\332 \207" [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 todo--files-type-list "\n" push-button :notify #[128 "\301\302\303!\210\304 \207" [todo-multiple-filter-files quit quit-window t exit-recursive-edit] 3 "\n\n(fn &rest _)"] "Cancel" "   " #[128 "\302\303\304!\"\305\306!\210\307 \207" [todo-multiple-filter-files-widget todo-multiple-filter-files mapcar #[257 "\301\302Q!\207" [todo-directory file-truename ".todo"] 5 "\n\n(fn F)"] widget-value quit-window t exit-recursive-edit] 5 "\n\n(fn &rest _)"] "Apply" use-local-map widget-setup message "Click \"Apply\" after selecting files." recursive-edit] 5 (#$ . 116749)])
#@51 Initial name of buffer in Todo Filter Items mode.
(defconst todo-filtered-items-buffer "Todo filtered items" (#$ . 117889))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-top-priorities-buffer "Todo top priorities" (#$ . 118019))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-diary-items-buffer "Todo diary items" (#$ . 118143))
#@45 Buffer type string for `todo-filter-items'.
(defconst todo-regexp-items-buffer "Todo regexp items" (#$ . 118261))
#@764 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.

(fn FILTER &optional NEW MULTIFILE)
(defalias 'todo-filter-items #[769 "\306=\307=\310=\203\202\203	\202\211\205\n\203-\206/\304 \210\f\202/
C\211\311=\203:\312 \202X*\313\314\315#\203J\316\202W\203R\317\202W\205W\320QG\321V\205g\322*\323\324\323$\325!\206n\211\326	\203\214\203\214\327\f!\203\214\330\306
B\"\210\202\313\204\304\203\304\203\256G\321V\203\256\331\314\"\332\333\334\"\310\"\262\210\335!\210\336\337!\204\273\337 \210\340 \210\341 \210\202\313\330
\"\210\342\314!\315\"\211\203\373\211@\203\361\331\314+\"\235\203\353\343\202\354\315Q\202\362\211\262A\266\202\202\322\210\344\345\346\203\347\202	\350\351Q	#!\207" [todo-top-priorities-buffer todo-diary-items-buffer todo-regexp-items-buffer todo-filter-files todo-multiple-filter-files todo-current-todo-file top diary regexp 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-directory todo-files] 20 (#$ . 118382)])
#@179 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.

(fn FILTER FILE-LIST)
(defalias 'todo-filter-items-1 #[514 ":\203\nA\202\306	!G\307V\310\211\211\211\211\211\211\n\204$\311\312!\202\220rq\210\313 \210\314 \210\315 \210)\316=\203?\317\320!\262r\n\211\203{\211@\321!\322!\203Yr\211q\210\323 \210)\210\324!\262\325\326!r\211q\210\327\330\331\332\333!\334\"\335$\216\n\203\315\316=\203\315\336!\337P\340!\203\314\341!\210\342 \343 T|\210\212m\204\313\344\n\203\247\345\346\f\347\260\202\250\f
\350@\351\n\203\265\352\202\271\353A!\354\260\310\355#\203\305\356c\210\310y\210\202\224)\210\341!\210\342 \343 T|\210\310:\204\354\357B\"A@\206\352\262\344\360\353C!\361Q\310\355#\203^\362\307!\262\310:\204\335\357B\"8\357\n\"A\206\266\202\330\224\330\225|\210`\262\344\360\353C!P\310\355#\2034\330\224\2025d\262b\210\344\363\353D!P\355#\203N\330\224\202P\262\n\203]\316=\204e|\210\262}\210eb\210\364\267\202\327m\204\357\365\353E!!\203\210\366 \210\202u\367 \210\202u\202\357m\204\357\365F!\203\261\370\f\371 \"\203\253\367 \210\202\270\366 \210\202\270\342 \343 T|\210m\203\221\372\353G!\363P\342\330!\"\203\221`\373y\210`|\210\202\221\202\357\211\206\341\206\341\262\330U\204\357\367!\210`\262\374>\204\377|\210eb\210m\204X\344\n\203\345\346\f\347\260\202\f
\350@\351\n\203#\352\202'\353A!\354\260\310\355#\203R\375c\210\365\356!\203=\330\225b\210\f\203I\n\376P\202J\377	\201I\261\210\310y\210\202~\266\202\354\201J \262	r\fq\210\310Hc\210*\210*\210A\266\202\202B\210)\201K\201L \nq\"\210\201M \210eb\207" [todo-top-priorities todo-filtered-items-buffer todo-filter-done-items todo-done-string-start todo-date-string-start todo-date-pattern 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*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [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 "\n" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (diary 373 regexp 401)) looking-at todo-remove-item todo-forward-item string-match todo-item-string looking-back -2 (diary regexp) " [" ":" "" diary-time-regexp todo-nondiary-end todo-top-priorities-overrides todo-category-beg todo-category-done todo-nondiary-start todo-item-start todo-done-string buffer-read-only "]" buffer-string set-window-buffer selected-window todo-prefix-overlays] 25 (#$ . 120451)])
#@446 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'.

(fn &optional ARG)
(defalias 'todo-set-top-priorities #[256 "\303 	\304\"\3058\304\"A@\206\n\203 A\206!\211\203*\306\202+\307\310\211\311W\203M\n\203;\202<\312\313\"!\262\314\262\315\266\202,\n\203b\316\317\"BC\"\202k\316	DC\"\203x	E\202y\211\317	\"B\262	\320\301\n\"\210\321 \262\207" [todo-current-todo-file todo-top-priorities-overrides todo-top-priorities 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] 16 (#$ . 123490)])
#@430 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.

(fn STR)
(defalias 'todo-find-item #[257 "\306\203\307	\310\n\311\260\202\n\312\f\313\203\314\202\315
!\316\260\"\210\317\320\"\317\321\"\317\322\"\323\230\317\324\"\320\325 \326\327\330\331\332!\333\"\322$\216\306\334\335 \")\262\336\337\340\336\211\324%\262\203n\212\341\336\342#\203mT\262\202^)\203\2106\343\327\344#\203\203\345\202\204\346Q\202\227\203\225\3477!\345P\202\2277\262\350!\210r\351!q\210\203\265\352\353!\204\276\353 \210\202\276\352\354!\204\276\354 \210\214~\210eb\210\355\356\3158\nP!\357Q\336\342#\212\355\356\3159!P\336\342#)\212\355\356\3158!P\336\342#\206\355d)\360\342#\205\372\327\224b\262\203E`V\203\361\202B\320\203,\212`TV\203+`\362 \210`U\204'T\262\210\202)U\203?\363 
\230\203?\364\202@\365\262B\262\266*\211E\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 make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] "top" buffer-name nil replace-match "" search-backward t substring -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 todo-directory todo-global-current-todo-file todo-category-beg todo-category-done] 16 (#$ . 124654)])
#@73 Check if filtered items file is up to date and a show suitable message.
(defalias 'todo-check-filtered-items-file #[0 "\300m\204+\301 \302!@\211A\303=\204#\212\304\305\306 \307 \"\310\311#\210)T\262\266\312 \210\202\211\300U\2037\313\314!\202G\313\315\316U\203C\317\202D\320\321Q!\207" [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."] 7 (#$ . 126698)])
#@66 Return absolute file name for saving this Filtered Items buffer.
(defalias 'todo-filter-items-filename #[0 "\301 \302\303\"\210\304\305\224\305\225#\306\307\310#\302\311\"\302\312\"\302\313\"\211\203.\314\310\315!Q\262\210\2038\316\202E\203@\317\202E\205E\320Q\266\205\207" [todo-directory buffer-name string-match "\"\\([^\"]+\\)\"" substring 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"] 11 (#$ . 127256)])
#@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 #[0 "\301 \206\302 \303 \304\305\"\210\305\306!\207" [buffer-read-only buffer-file-name todo-filter-items-filename buffer-name write-file t rename-buffer] 5 (#$ . 127833)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable todo-print-buffer-function funcall function #[0 "\300\207" [ps-print-buffer-with-faces] 1] "Function called by `todo-print-buffer' to print Todo mode buffers.\nCalled with one argument which can either be:\n- a string, naming a file to save the print image to.\n- nil, to send the image to the printer." :type symbol :group todo] 8)
#@60 Name of buffer with printable version of Todo mode buffer.
(defvar todo-print-buffer "*Todo Print*" (#$ . 128589))
#@322 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.

(fn &optional TO-FILE)
(defalias 'todo-print-buffer #[256 "	\306\267\202\307\310\n!\311\312 R\202\313 \202\314\315\316P\317\320#\321\322\f\323\"\324 r\325!q\210\211c\210eb\210m\204q`\212\326 )%\203ST\262\315\327!\316P\317\320#\262c\210\330\"\266\331&\314\332#\203k\333 \210\2025db\210\2025\334\335\336'!P\314\332#\203\203\337(!\210eb\210c\210\340\341!\210)?\205\230\342\343!!\210)\344!)\207" [todo-print-buffer major-mode todo-current-todo-file todo-prefix todo-indent-to-here fill-prefix #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo-mode 7 todo-filtered-items-mode 18)) "Todo File: " todo-short-file-name "\nCategory: " todo-current-category buffer-name nil propertize " " face todo-prefix-string 0 make-string 32 buffer-string 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 todo-number-prefix todo-item-start todo-category-done todo-done-separator todo-print-buffer-function] 13 (#$ . 128711) nil])
#@60 Save printable version of this Todo mode buffer to a file.
(defalias 'todo-print-buffer-to-file #[0 "\300\301!\207" [todo-print-buffer t] 2 (#$ . 130157) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable todo-legacy-date-time-regexp funcall function #[0 "\300\207" ["\\(?1:[0-9]\\{4\\}\\)-\\(?2:[0-9]\\{2\\}\\)-\\(?3:[0-9]\\{2\\}\\) \\(?4:[0-9]\\{2\\}:[0-9]\\{2\\}\\)"] 1] "Regexp matching legacy todo-mode.el item date-time strings.\nIn order for `todo-convert-legacy-files' to correctly convert\nthis string to the current Todo mode format, the regexp must\ncontain four explicitly numbered groups (see `(elisp) Regexp\nBackslash'), where group 1 matches a string for the year, group 2\na string for the month, group 3 a string for the day and group 4\na string for the time.  The default value converts date-time\nstrings built using the default value of\n`todo-time-string-format' from todo-mode.el." :type regexp :group todo] 8)
#@85 Return converted date-time string.
Helper function for `todo-convert-legacy-files'.
(defalias 'todo-convert-legacy-date-time #[0 "\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 (#$ . 131140)])
#@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 #[0 "\306\300!\203\n\202\307\310\311\"\306\301!\203	\202\307\312\313\"\306\302!\205#\n\306\303!\205*\314\315!\2047\316\317!\202\203\320\314\211\321\322!r\211q\210\323\324\325\326\327!\330\"\331$\216\332	!\210\333 \334 T|\210\335\336\314\337#\210\340\333 \324\224\"\262eb\210m\204\324\341\342\336P!!\203\200\343\f!\210\202\316\341\344!\203\215\343\345!\210\202\316\341\342\346\347\350\351\"Q!!\203\243\343
!\210\202\316\341\342!\346\203\264 \202\306@\346\203\303\342\f!\202\304\352\353RQ!\203\316\354 \210\314y\210\202jA\355\356\357\"\314\211$\360Q\262\315A!\204\361\361A!\210\362ed\314\363\314\337&\210*\210\321\322!r\211q\210\323\324\325\326\327!\364\"\331$\216\332!\210\365\337!B\366 \210\367 \210)\362ed\314\363%\210*\210C D\315!\203_\321\322!r\211q\210\323\324\325\326\327!\370\"\331$\216\332!\210\371 \371 \314\211\211\211m\204\220\341@!\203\244`\314\223\210\354 \210`\314\223\210b\210\372E\261\210b\210\373c\210\314u\210\341@!\203\213\354 \210\341\346\203\231\342!\202\232\352\353Q!\203\244\343\345!\210\374\375@P\314\337#\203\266\324\224b\210\202\271db\210\376u\210\377\201J\333 \"\203\327\201K\201L!\262\324\224b\210\343\345!\210\377\201M\333 \"\203\371\201K\201L!\262\343\345!\210\372F\201N\373\261\210`\314\223\210\235\203v\212\201O\375\342\f!\201PQ\314\337#\210\201K\201L!\230)\204\212\340\"\262T|\210`\314\223\210\201O\375\342\fP!\201QQ\314\337#\210\314y\210\374\375\342\f!\201PQ\314\337#\203f\324\224b\210\201R \210\376y\210\202idb\210\211\201S\261\210b\210\202\212B\262b\210\f\201T
\201S\261\210\314y\210\202W\314\211\223\210\314\211\223\266\201U!\201VP\262\362ed\314\363\314\337&\210*\210\321\322!r\211q\210\323\324\325\326\327!\201W\"\331$\216\332!\210\365\337!B\366 \210\367 \210)\362ed\314\363%\210\201X\340\333 \334 \"!\262*\210\201U!\360P\262\321\322!r\211q\210\323\324\325\326\327!\201Y\"\331$\216\332!\210\201X\340\333 \334 \"!\211\211\203@\211@\201Z@\"\211\2038A\201[A\331HI\210\210A\266\202\202\210\333 \334 |\210\201\\p\"\266\362ed\314\363%\210*\210C\337!G\201] \210\201^\201_!\205\201HI\204}\201`!I\201a \266\203\207" [todo-file-do todo-file-done todo-initials todo-entry-prefix-function todo-category-beg todo-category-done 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*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents line-beginning-position line-end-position search-forward " --- " t buffer-substring-no-properties 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 [buffer-name kill-buffer] todo-make-categories-list todo-update-categories-sexp todo-check-format [buffer-name kill-buffer] make-marker "[" "]" re-search-forward "^" -1 looking-back todo-legacy-date-time-regexp todo-directory todo-categories todo-files-function todo-files todo-done-string todo-comment-string todo-archives todo-current-todo-file todo-default-todo-file "\\[\\([^][]+\\)\\]" match-string 1 "(\\(.*\\)) " ": " re-search-backward "\\(.*\\)$" "$" newline "\n" "\n\n" file-name-sans-extension ".toda" [buffer-name kill-buffer] read [buffer-name kill-buffer] assoc 3 prin1 todo-update-filelist-defcustoms y-or-n-p "Format conversion done; do you want to visit the converted file now? " todo-short-file-name todo-show] 20 (#$ . 131580) nil])
#@210 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.

(fn NAME &optional TYPE)
(defalias 'todo-absolute-file-name #[513 "\205 \301\302\267\202\303\202\304\202\305\202\306\202\307Q!\207" [todo-directory file-truename #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (archive 13 top 17 diary 21 regexp 25)) ".toda" ".todt" ".tody" ".todr" ".todo"] 7 (#$ . 135685)])
#@366 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.

(fn FILE)
(defalias 'todo-check-file #[257 " \306!\307!\203\306\207\310\"\311!\211\203;\312\313\314\315!\"\316P!\203;r\211q\210\317 \210) \306!\306\202w\320	\n\"\f\203K\f\235\204K\321
\203W
\235\204W\321\203i\235\204i\315	@!\322 \210\203t\323!\210\321\262\207" [todo-files-function todo-files todo-archives todo-visited todo-current-todo-file todo-global-current-todo-file 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 nil todo-update-filelist-defcustoms kill-buffer todo-default-todo-file] 7 (#$ . 136237)])
#@145 Return the number of category CAT in this todo file.
The buffer-local variable `todo-category-number' holds this
number as its value.

(fn CAT)
(defalias 'todo-category-number #[257 "\302\303\"\211G\235GZT\211\207" [todo-categories todo-category-number mapcar car] 5 (#$ . 137325)])
#@42 Return the name of the current category.
(defalias 'todo-current-category #[0 "S	8@\207" [todo-category-number todo-categories] 2 (#$ . 137618)])
#@41 Display the current category correctly.
(defalias 'todo-category-select #[0 "\306 \307\211\211\211\211~\210eb\210\310\311\312	P!\313Q\307\314#\210\315 T\262\310\311\312!P\307\314#\2030\316\224\2021d\262	!}\210\317 \210eb\210\310\320\312!\321Q\307\314#\203^\316\224\262\322\224\262\316\225\262\202d\323\324\"\210\f\203o\211Td}\202\257
\203\237\310\307\314#\203\237\262b\210\325\326!\211\204\235\327\"\262\330\331\326#\210\330\332#\210\266e}\210 \205\257\333\334!\210\335\322!\207" [todo-category-beg todo-mode-line-function mode-line-buffer-identification todo-category-done todo-show-done-only todo-show-with-done 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-done-string-start todo-done-separator todo-highlight-item] 12 (#$ . 137771)])
#@124 Return count of TYPE items in CATEGORY.
If CATEGORY is nil, default to the current category.

(fn TYPE &optional CATEGORY)
(defalias 'todo-get-count #[513 "\211\206\301 \302\"A\303\267\202!\304\202\"\305\202\"\306\202\"\307\202\"\310H\207" [todo-categories todo-current-category assoc #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo 17 diary 21 done 25 archived 29)) 0 1 2 3 nil] 7 (#$ . 138792)])
#@165 Change count of TYPE items in CATEGORY by integer INCREMENT.
With nil or omitted CATEGORY, default to the current category.

(fn TYPE INCREMENT &optional CATEGORY)
(defalias 'todo-update-count #[770 "\211\206\301 \302\"A\303\267\202!\304\202\"\305\202\"\306\202\"\307\202\"\310H\\I\207" [todo-categories todo-current-category assoc #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo 17 diary 21 done 25 archived 29)) 0 1 2 3 nil] 11 (#$ . 139252)])
#@61 Set `todo-categories' from the sexp at the top of the file.
(defalias 'todo-set-categories #[0 "\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 (#$ . 139763)])
#@59 Update the `todo-categories' sexp at the top of the file.
(defalias 'todo-update-categories-sexp #[0 "\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 (#$ . 140158)])
#@219 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.

(fn &optional FORCE)
(defalias 'todo-make-categories-list #[256 "\306\212\214~\210eb\210\306\211\211	\203!\307	!\n\310!\235\204!\311!\312P\262m\204\375\313\314\f!\315P!\203\243\316\317!\262\320\321\322\"\262\323BC\"\211\n\310!\235\203\367\322\324!r\211\206V\325!q\210\212\214~\210eb\210\326\327\314\f!\330Rd\310#\203\217\306y\210\313\314\f!\315P!\204\217m\204\217\313
!\203\211T\262\306y\210\202q*\211\204\227\331 \210)\332\333#\266\202\367\313
!\203\262\332\334\317#\210\202\367\313\335\314%!\336&R!\203\317\332\337\317#\210\332\340\317#\210\202\367\313'&P!\203\342\332\340\317#\210\202\367o\203\367\204\367\341\342\343 \344 \"!dSb\210\306y\210\202!\266*\207" [todo-categories buffer-file-name todo-files-function todo-current-todo-file todo-category-beg todo-done-string-start 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 diary-nonmarking-symbol todo-date-pattern todo-date-string-start] 11 (#$ . 140562)])
#@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 #[0 "\301\302!\303 )\207" [todo-categories todo-make-categories-list t todo-update-categories-sexp] 2 (#$ . 142038) nil])
#@203 Signal an error if the current todo file is ill-formatted.
Otherwise return t.  Display a warning if the file is well-formed
but the categories sexp differs from the current value of
`todo-categories'.
(defalias 'todo-check-format #[0 "\212\214~\210eb\210\306!\307\310 \311 \"\312!\211\211\203;\211@\211A@;\203/\313!\203/\211G\314U\2043\315\316!\210\210A\266\202\202\210\317y\210\320\321	!\322\n\323\321\f!\322
\324\260\nm\204f\325!\204`\315\326\327`!\"\210\317y\210\202O\210\230\204r\330\331\332\"\210\266*\333\207" [todo-categories todo-category-beg todo-date-string-start todo-date-pattern todo-category-done todo-done-string-start prin1-to-string buffer-substring-no-properties line-beginning-position line-end-position read vectorp 4 user-error "Invalid or missing todo-categories sexp" nil "\\(^" regexp-quote "\\)\\|\\(" "\\)\\|\\(^[ 	]+[^ 	]*\\)\\|^$\\|\\(^" "\\)" looking-at "Illegitimate todo file format at line %d" line-number-at-pos display-warning todo "\nThe sexp at the beginning of the file differs from the value of\n`todo-categories'. If the sexp is wrong, you can fix it with\nM-x todo-repair-categories-sexp, but note this reverts any\nchanges you have made in the order of the categories.\n" t] 13 (#$ . 142540)])
#@61 Move to start of current todo item and return its position.
(defalias 'todo-item-start #[0 "ed=\206/\303\304!\203m\206/\212\305y\210\303\306\307!P!)\206/\212\310 \210\303!)\206/\303\307	!!?\205D\311 b\210\303\n!\204C\312y\210\2027`\207" [todo-category-done todo-category-beg todo-item-start looking-at "^$" nil "^" regexp-quote beginning-of-line line-beginning-position -1] 4 (#$ . 143802)])
#@59 Move to end of current todo item and return its position.
(defalias 'todo-item-end #[0 "\303\304!\206\212\305 \210\303!)?\205l\306 \307\212\310\311\312\203!	\202\"!P\307\313#)\2033\313\262\314\224\2024dn\203;\307u\210\310\n\313#\203H\314\224\202Q\203P\211\202Qdb\210\203e\204e`=\203e\315\202f\316[u\210`\266\203\207" [todo-category-done todo-category-beg todo-item-start looking-at "^$" beginning-of-line todo-done-item-p nil re-search-forward "^" regexp-quote t 0 2 1] 7 (#$ . 144211)])
#@47 Return bare text of current item as a string.
(defalias 'todo-item-string #[0 "`\300 \301 b\210\205\211\205\302\"\207" [todo-item-start todo-item-end buffer-substring-no-properties] 6 (#$ . 144730)])
#@88 Move point COUNT items down (by default, move down by one item).

(fn &optional COUNT)
(defalias 'todo-forward-item #[256 "\301 \206\302\303!?\304 \211b\210\305\306\307\206\310$\203#\311\224b\210\202&db\210\2059\301 \2059?\2059\312\303\307#\207" [todo-item-start todo-done-item-p looking-at "^$" line-end-position re-search-forward nil t 1 0 re-search-backward] 8 (#$ . 144944)])
#@509 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 to the
empty line above the done items separator.

(fn &optional COUNT)
(defalias 'todo-backward-item #[256 "\306 \300 \210o\204%\307\310	\311\312\n!\313\260\314\315\206\316$\210\203%\317\225b\210\211\205H\306 ?\205H?\205H\320 \f\232?\205H\321\322\312
!P\314\315#\210\323y\207" [todo-item-start diary-time-regexp todo-nondiary-end todo--item-headers-hidden todo-regexp-items-buffer todo-category-done todo-done-item-p re-search-backward "\\( " "\\)?" regexp-quote "? " nil t 1 0 buffer-name re-search-forward "^" -1] 9 (#$ . 145346)])
#@64 Internal function called in editing, deleting or moving items.
(defalias 'todo-remove-item #[0 "\300 \210`T\301 \302\303\304!B\262\303\305!B\262\211\211\203,\211@\211\203%\306!\210A\266\202\202\210|\207" [todo-item-end todo-item-start nil todo-get-overlay prefix header delete-overlay] 7 (#$ . 146336)])
#@57 Return non-nil if item at point has diary entry format.
(defalias 'todo-diary-item-p #[0 "\212\301 \205\302 \210\303\304!!?)\207" [todo-nondiary-start todo-item-string todo-item-start looking-at regexp-quote] 3 (#$ . 146658)])
#@153 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'.

(fn BUTTON)
(defalias 'todo-diary-goto-entry #[257 "\304\305\"\211A@\306\3078!\306\3108!\311!\203\312!\204#\313\314!\202y\315\316!!\316!\232\2038\317\320!\2048\320 \210	\320=\203@~\210eb\210\321\322\323#\324\325#\203S\326\224b\210	\320=\205y`\327\330\306\n!\331Q\324\325#\210\332\333\326!!\210\334 \210\203u\335 \210\211b\262\207" [todo-directory major-mode todo-category-beg transient-mark-mode button-get locator 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 deactivate-mark] 10 (#$ . 146895)])
(byte-code "\300\301\302\303B\304\305$\207" [advice--add-function :override #[0 "\300\301!\207" [default-value diary-goto-entry-function] 2] #[257 "\300\301\"\207" [set-default diary-goto-entry-function] 4 "\n\n(fn GV--VAL)"] todo-diary-goto-entry nil] 5)
#@143 Call `revert-buffer', preserving buffer's current modes.
Also preserve category display, if applicable.

(fn &optional IGNORE-AUTO NOCONFIRM)
(defalias 'todo-revert-buffer #[512 "\303\304\305#\210	\306>\205\212\307 \210)\310\211)\207" [revert-buffer-function major-mode buffer-read-only nil revert-buffer preserve-modes (todo-mode todo-archive-mode) todo-category-select t] 6 (#$ . 148067) (byte-code "?C\207" [current-prefix-arg] 1)])
#@12 

(fn DIR)
(defalias 'todo-desktop-save-buffer #[257 "\300\301\302 !BC\207" [catnum todo-category-number todo-current-category] 4 (#$ . 148516)])
#@25 

(fn FILE BUFFER MISC)
(defalias 'todo-restore-desktop-buffer #[771 "\301#\210rq\210~\210\302\236A\303 \210p*\207" [todo-category-number desktop-restore-file-buffer catnum todo-category-select] 7 (#$ . 148668)])
(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 #[0 "\212\301 \210\302!)\207" [todo-done-string-start todo-item-start looking-at] 2 (#$ . 148980)])
#@62 Return non-nil if point is in category's done items section.
(defalias 'todo-done-item-section-p #[0 "\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 (#$ . 149163)])
#@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 #[0 "\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 (#$ . 149440)])
#@73 Replace existing overlays of done items separator string SEP.

(fn SEP)
(defalias 'todo-reset-done-separator #[257 "\212\214~\210eb\210\302\303\304!\305Q\306\307#\205M\310\224\311\225b\210\312\313!\211\205&\314\315\"\306\203H\230\204H\316\"\262\317\320\313#\210\317\315	#\210\321!\210\266\202*\207" [todo-category-done todo-done-separator re-search-forward "\n\\(" regexp-quote "\\)" nil t 1 0 todo-get-overlay separator overlay-get display make-overlay overlay-put todo delete-overlay] 10 (#$ . 149967)])
#@76 Return the overlay at point whose `todo' property has value VAL.

(fn VAL)
(defalias 'todo-get-overlay #[257 "\212\211\301>\203\302!\204\300 \210\303``T\"\304\30528\2057\211A\262\242\262\306\307\"=\203\310\305\"\210\2020\266\202)\207" [todo-item-start (prefix header) looking-at overlays-in nil done overlay-get todo throw] 6 (#$ . 150499)])
#@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 #[0 "\301\302!\211\205\303\304\"\211\205\305\306\307!P\"\211\205\207" [todo-item-mark todo-get-overlay prefix overlay-get before-string string-match "^" regexp-quote] 6 (#$ . 150866)])
#@72 Insert ITEM at point and update prefix and header overlays.

(fn ITEM)
(defalias 'todo-insert-with-overlays #[257 "\301 \210\304\305!\306 \307\261\210\211\203\310``#\210\311 \210\203C\312	\313\n\314\315!\316\260\317\320#\210\321\322\224\322\225\317\320$\262\323\324\325#\210\323\326\327#\210\266\330 \207" [todo--item-headers-hidden todo-item-start diary-time-regexp todo-nondiary-end todo-get-overlay prefix todo-marked-item-p "\n" move-overlay todo-backward-item re-search-backward "\\( " "\\)?" regexp-quote "? " nil t make-overlay 0 overlay-put todo header display "" todo-prefix-overlays] 10 (#$ . 151196)])
#@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 #[0 "\306\307\310 \311\307	\"8\"A\206\307	\"A@\206\n\312\211\212eb\210m?\205\263\313\314 !\2042\315\314 !\203\255\306\224b\210T\262\316=\203Z\317\f!\203Z\320\321\322
!\323Q\324\306!\"\203Z\325\262\326\262\327$\203f\330!\202h%\331\316=\203\204X\203\332\202\200\333#\334P\262\335\336!\337 \204\224\340``\"\262\341\342\336#\210\341\343\203\251&P\202\252#\266\312y\210\202)\207" [todo-current-todo-file todo-top-priorities-overrides todo-top-priorities major-mode todo-done-string-start todo-category-done 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 prefix todo-marked-item-p make-overlay overlay-put todo before-string todo-number-prefix todo-prefix todo-item-mark] 11 (#$ . 151829)])
#@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)) (#$ . 153169))
#@318 Generate and invoke an item insertion command.
Dynamically generate the command, its arguments ARGS and its key
binding by recursing through the list of parameters PARAMS,
taking the LAST from a sublist and prompting with KEYS-SO-FAR
keys already entered and those still available.

(fn ARGS PARAMS LAST KEYS-SO-FAR)
(defalias 'todo-insert-item--next-param #[1028 "\211C\204\n\300\301!\210\302 \303\304\305\306\307\310!\311\"\312\313%\314\315C\316\304\317\320\307\310		\"\321\"\322\323%\304\324\325\307\310\n$\326\"\327$\203\202\330>\203U\315\262 \210\202\202\f!\331\332!\333P!#\210\334\n	!\304\324\335\307\310\n!\336\"\337\315\211&#\266\211\203\354\211@A:\203\223\202\225C\211\203\346\211@\n!\n#\210\334\204\302\304\324\335\307\310!\336\"\337\315\211&\202\334\304\324\340\307\310&\341\"\342\315\211&#\266A\266\202\202\225\210\266\202\202\202\343	!\210\242\203\344\345\242\242#\210\f\211\262\266\211\207" [cl--assertion-failed params make-sparse-keymap ((default . "i") (copy . "p") (diary . "y") (nonmarking . "k") (calendar . "c") (date . "d") (dayname . "n") (time . "t") (here . "h") (region . "r")) make-byte-code 257 "\301\300\"A\207" vconcat vector [assoc] 4 "\n\n(fn PARAM)" #[0 "\301!\207" [last-command-event char-to-string] 2] nil #[771 "\211\242\300\301>\203\302\202\303\304\305>\205\306Q\307\310\311##P\240\207" [format (default diary calendar here) " { " " " "%s=>%s" (copy nonmarking dayname region) " }" propertize face todo-key-prompt] 11 "\n\n(fn PROMPT KEY NAME)"] 514 "\211:\203	\211\202\211C\262\302C\302C\303\304\305\306\307\310\301\n		$\311\"\312\313%\"\210\314\242!\266\203\3152O\300\211\205L\211@A\232\203E\316\315@\"\210A\266\202\2022\2620>\207" [nil mapc make-byte-code 257 "\211:\203*\3042)\211\211\205&\211@\301\300!\232\203\305\304\303\240\"\210A\266\202\202\n\2620\210\303\242\203;\302\303\242\302\242B\240\210\303\306\240\207\302\302\242B\240\207" vconcat vector [found1 throw nil] 7 "\n\n(fn M)" reverse found2 throw] 14 "\n\n(fn KEY LST)" 0 "\300@C\300A\303\302 \301\"@C\244\211G\304U\203\211\202X\305\304\306\"\306\203R\211A\262\242\262\211\307\267\202\310I\210\202\311I\210\202\312I\210\202\313I\210\202\202\314\306\"\266\202\315\316\244\"\207" [4 make-vector nil #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (diary 47 nonmarking 47 calendar 55 date 55 dayname 55 time 63 copy 71 here 71 region 71)) 0 1 2 3 append apply todo-insert-item--basic] 7 (default copy) make-symbol symbol-name ":GO!" define-key "\300 \207" [] 1 "\302\211\242\306\303 Q\240\210\307\300\304\303 \305\"@C\244\304\303 \301\"A\304\303 \305\"@\302\242$\207" [" " todo-insert-item--next-param] 6 set-transient-map message "Press a key (so far `%s'): %s"] 33 (#$ . 153459)])
#@27 

(fn TYPE &optional ARG)
(defalias 'todo-edit-item--next-key #[513 "\301\302\303\304\267\202\202\202\211\202\305\306\307\310#\311\312\313=\203(\314\202)\315\316Q!\317P!\320!\205:\321!\262\322\"@\211\323\267\202\265\324 \202\266\324\325!\202\266\324\326!\202\266\324\327!\202\266\324\330!\202\266\331 \202\266\331\332!\202\266\333\313\n\"\202\266\334\313!\210\205\266\334\335!\202\266\334\336!\202\266\334\337!\202\266\334\340!\202\266\334\341\n\"\202\266\334\342\n\"\202\266\334\343\n\"\202\266\334\335!\202\266\305\207" [todo-always-add-time-string ((edit . "e") (header . "h") (multiline . "m") (diary . "y") (nonmarking . "k") (date . "d") (time . "t")) ((add/edit . "c") (delete . "d")) ((full . "f") (calendar . "c") (today . "a") (dayname . "n") (year . "y") (month . "m") (daynum . "d")) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (todo 9 done 13 date 17)) nil mapconcat #[257 "\300\301\302A\303\304#\305@!@\306>\205\307P#\207" [format "%s=>%s" propertize face todo-key-prompt symbol-name (add/edit delete) " comment"] 7 "\n\n(fn ELT)"] " " substitute-command-keys "Press a key (so far `e" date " d" "" "'): " read-key characterp char-to-string rassoc #s(hash-table size 16 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (edit 71 header 76 multiline 82 add/edit 88 delete 94 diary 100 nonmarking 105 date 111 full 119 calendar 133 today 139 dayname 145 year 151 month 159 daynum 167 time 175)) todo-edit-item--text include-header multiline comment-edit comment-delete todo-edit-item--diary-inclusion nonmarking todo-edit-item--next-key todo-edit-item--header time calendar today dayname year month day] 13 (#$ . 156353)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable todo-y-with-space funcall function #[0 "\300\207" [nil] 1] "Non-nil means allow SPC to affirm a \"y or n\" question." :type boolean :group todo] 8)
#@209 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.

(fn PROMPT)
(defalias 'todo-y-or-n-p #[257 "\204\n\302	\303\304#\210\305!\302	\303\306#\210\207" [todo-y-with-space query-replace-map define-key " " ignore y-or-n-p act] 6 (#$ . 158336)])
#@527 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.

(fn &optional ARCHIVE)
(defalias 'todo-category-completions #[256 "\306\211\203!\211@\307\310!!\204\311\"\211B\262A\266\202\202\210\211\203^\211G\312V\313\314\315#\316\317\2039\320\202:\321\322\203C\323\202D\320\324\260\"\266\325\300\326\327\330 B#\210\331\300\211J\"\210\332\333!\210\210	\206n\n\203k\206n\310\f!\204y\334\310\"\206{\211C\306C\306\335\336!!\337U?\205
\235\204\236\235\203\231\202\234B\262\211\203\211@r\340\341\"q\210\203\275\342\343!\204\306\343 \210\202\306\342\344!\204\306\344 \2105\335 deZV\203\336\212eb\210\3456\306\346#\262)\2115\212\347 \210*\210\212\214~\210eb\210\350\351\352 \353 \"!\262+\354\355\356\357\360\361	\"\362\"\363\364%\"\210A\266\202\202\237\242\262\207" [todo-category-completions-files todo-current-todo-file todo-show-current-file todo-global-current-todo-file todo-default-todo-file todo-archives nil file-exists-p todo-absolute-file-name delete 1 mapconcat #[257 "\300\300Q\207" ["\""] 4 "\n\n(fn F)"] ", " message "File" "s" "" " %s ha" "ve" " been deleted and removed from\nthe list of category completion files" put custom-type set todo--files-type-list 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 make-byte-code 257 "\211@\302\300\242\"\211\203\211\303AC\301C\"\241\202\300\301B\300\242B\240\207" vconcat vector [assoc append] 7 "\n\n(fn ELT)" todo-show-with-done todo-done-string-start] 15 (#$ . 158730)])
#@399 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.

(fn PROMPT &optional ARCHIVE MUSTMATCH)
(defalias 'todo-read-file-name #[769 "\306\307\203\f\n\202
\"\310\311\311\211\2030\307\f\206,
\203(\206,\312!!\2021\313&\314!\204?\315!\210\204O\211\235\204O\316\317\"\262\320\203\\\321\202]\322Q!\211\262)\207" [todo-completion-ignore-case completion-ignore-case todo-archives todo-files todo-current-todo-file todo-show-current-file 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" todo-global-current-todo-file todo-default-todo-file todo-directory] 14 (#$ . 160898)])
#@690 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'.

(fn PROMPT &optional MATCH-TYPE FILE)
(defalias 'todo-read-category #[769 "\306 \307\"\210\310\311\312#\210\211\262\313=\314=\2052	G\315V\2052\316\317\203,\320\202-\321\322Q\323#\211?\205:\324!\203Ur\325\326\"q\210\327\330!\204N\330 \210*\202i\203h\204hr\325\n!q\210)\202i\211\f\331\312\n\332=\312\211\203\230\204\230r\325\n\206\217\n\206\217\333*!!q\210\334 )\202\231\335&\336\"A\337\204\313\204\313\203\313\340:\204\270\202\310\333\341\342\"\331\343\"\"\262!!\262\204\322\n\262\336\"\203\336\203\344\345\"\262)\204\346\343\347\342\n!#!\203\336\"\203	\344\345\"\262)\212\214\350\"\210*\202\351 \210)B\266\210)\207" [minibuffer-local-completion-map todo-files todo-current-todo-file todo-categories todo-completion-ignore-case completion-ignore-case make-sparse-keymap set-keymap-parent define-key " " nil add archive 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-default-todo-file] 18 (#$ . 161923)])
#@137 Prompt for new NAME for TYPE until it is valid, then return it.
TYPE can be either of the symbols `file' or `category'.

(fn NAME TYPE)
(defalias 'todo-validate-name #[514 "\304\305	\"\306\307\230\2037\310\267\2020\203\311\2021\312\n\313Q\2021\203)\314\2021\315\313Q\2021\306\211\262\202j\316\317\"\203F\320\211\262\202j\321=\203Y\235\203Y\322\211\262\202j\323=\203\270\324\"\203\270\325\211\262\203\270\321=\203w\204\201\323=\203\226\203\226\326\327\267\202\221\202\222\202\222\306\"\202\262\326\321=\203\242\202\243\306\211\321=\203\260\n\202\261%\211\262\204\207" [todo-categories todo-files todo-initial-file todo-initial-category mapcar todo-short-file-name nil "" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file 18 category 33)) "Enter a non-empty file name: " "Initial file name [" "]: " "Enter a non-empty category name: " "Initial category name [" string-match "\\`\\s-+\\'" "Enter a name that does not contain only white space: " file "Enter a non-existing file name: " category assoc "Enter a non-existing category name: " completing-read #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file 137 category 141))] 12 (#$ . 163984)])
#@537 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.

(fn &optional ARG MO YR)
(defalias 'todo-read-date #[768 "\306\211\306\211\306\203\300=\203<\307!\203 \310W\202$\311=?\203<\312\313\306\211\314\306\315\316 \3178\262!&\202\203F\302=\203
\320\306\"$\320\306\"%&\321\322\306\314\306\211\323\316 \211@\262\314\"&G	\235\206s	\235GZT\nSH)\266\203\211\303=\203\n\206\216\206\223\324U\203\234\310\262\311=\203\245\325\262\317U\203\333\211\211\326W\203\272\327!S\262\211\330\246\326U\205\320\211\331\246\326U?\206\320\211\332\246\326U\262\203\333\333\266\202\202\341\334SH\266\202\266\202\307!\203\365\310W\204\374V\202\371\311=?\203\312\335\336\"\306\211\314\306\315\316 \211A@\262!&\202\343\210\203'\311=\203#\337\202&\315!\2039\311=\2035\337\2028\315!\n\203K\n\324U\203G\337\202J\315\n!\203p\340\267\202l\202v\202v\302'>\203h\n\202v	\202v\306\202v\341\342'\343#-\207" [year monthname month day dayname todo-month-name-array 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): " "*" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (year 341 day 345 month 349)) mapconcat eval "" todo-month-abbrev-array todo-completion-ignore-case completion-ignore-case calendar-date-display-form] 18 (#$ . 165281)])
#@65 Choose name of a day of the week with completion and return it.
(defalias 'todo-read-dayname #[0 "\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 (#$ . 167398)])
#@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 #[0 "\302\211\204'\303\304\302\211\205\305\306!$\262\211\307\230\204!\310	\"\203\311\262\202\207" [todo-always-add-time-string diary-time-regexp nil read-string "Enter a clock time: " format-time-string "%H:%M" "" string-match t] 8 (#$ . 167686)])
(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)
#@80 The :set function for user option `todo-show-current-file'.

(fn SYMBOL VALUE)
(defalias 'todo-set-show-current-file #[514 "\300\"\210\211\203\301\302\303\304\305$\207\306\302\303\305#\207" [custom-set-default add-hook pre-command-hook todo-show-current-file nil t remove-hook] 7 (#$ . 168937)])
#@82 The :set function for `todo-prefix' and `todo-number-prefix'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-prefix #[514 "J\301\"\210\232?\205*\211\211\205(\211@r\302!q\210\212\303 \210*A\266\202\202\262\207" [todo-file-buffers custom-set-default find-file-noselect todo-category-select] 8 (#$ . 169243)])
#@78 The :set function for user option `todo-nondiary-marker'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-nondiary-marker #[514 "J\306	\307\n\310\311\310$#\312\"\210@A@\313\314\f!\315\314 !\316\260!\232?\205\251\211\211\205\247\211@\317!r\320!q\210\321\"~\210eb\210m\204\207\322\313#\323\314	@!\324$\325%\326\314A@!\324\260\321\310#\203\201\327@\310\211\321\330%\210\327A@\310\211\321\331%\210\202E\321y\210\202E\211\203\230\332\333\334\"\203\236\335 \210\202\236\336 \210\337 \210*\210A\266\202\202.\262\207" [todo-files todo-archives todo-directory todo-nondiary-marker todo-nondiary-start todo-nondiary-end append directory-files t "\\.tod[rty]\\'" custom-set-default "^\\(" regexp-quote "\\|" "\\)?" find-buffer-visiting find-file-noselect nil re-search-forward "[^][]+] \\)?\\(?1:" "\\)" "\\( " "\\)?\\(?2:" replace-match 1 2 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer diary-nonmarking-symbol todo-date-string-start buffer-read-only todo-done-string-start todo-date-pattern diary-time-regexp] 19 (#$ . 169563)])
#@72 The :set function for `todo-done-separator-string'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-done-separator-string #[514 "J	\303\"\210\232?\205;\211\2059\211@r\304!q\210\305\301 G\306U\203-\307!\210)\310 \210)A\266\202\202\262\207" [todo-file-buffers todo-done-separator buffer-read-only custom-set-default find-file-noselect nil 1 todo-reset-done-separator todo-category-select] 9 (#$ . 170663)])
#@74 The :set function for user option `todo-done-string'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-done-string #[514 "J\306	\307\n\310\311\310$#\312\"\210\313\314!P\232?\205\201\211\211\205\211@\315!r\316!q\210\317~\210eb\210m\204_\320\321\314!\322\314	!\323\260\317\310#\203Y\324\310\211\317\325%\210\2025\317y\210\2025\211\203p\326\327\330\"\203v\331 \210\202v\332 \210\333 \210*\210A\266\202\202\262\207" [todo-files todo-archives todo-directory todo-done-string todo-done-string-start buffer-read-only append directory-files t "\\.todr\\'" custom-set-default "^\\[" regexp-quote find-buffer-visiting find-file-noselect nil re-search-forward "^" "\\(" "\\)" replace-match 1 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer todo-nondiary-start] 13 (#$ . 171086)])
#@77 The :set function for user option `todo-comment-string'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-comment-string #[514 "J\304	\305\n\306\307\306$#\310\"\210\232?\205u\211\211\205s\211@\311!r\312!q\210\313~\210eb\210m\204S\314\315\316!\317Q\313\306#\203M\320\306\211\313\321%\210\202/\313y\210\202/\211\203d\322\323\324\"\203j\325 \210\202j\326 \210\327 \210*\210A\266\202\202\262\207" [todo-files todo-archives todo-directory buffer-read-only append directory-files t "\\.todr\\'" custom-set-default find-buffer-visiting find-file-noselect nil re-search-forward "\\[\\(" regexp-quote "\\): [^]]*\\]" replace-match 1 derived-mode-p todo-mode todo-archive-mode todo-category-select save-buffer kill-buffer] 13 (#$ . 171924)])
#@77 The :set function for user option `todo-highlight-item'.

(fn SYMBOL VALUE)
(defalias 'todo-reset-highlight-item #[514 "J\303	\304\n\305\306\305$#\307\"\210\232?\205H\211\211\205F\211@\310!\211\203>r\211q\210\311\312!\210\2039\313\314!\210\202=\313\315!\210)\210A\266\202\202\262\207" [todo-files todo-archives todo-directory append directory-files t "\\.tod[rty]\\'" custom-set-default find-buffer-visiting require hl-line hl-line-mode 1 -1] 11 (#$ . 172680)])
#@59 Update defcustoms that provide choice list of todo files.
(defalias 'todo-update-filelist-defcustoms #[0 "\300\301\302\303\304 B#\210\300\305\302\306\304 B#\210\300\307\302\306\304 B#\207" [put todo-default-todo-file custom-type radio todo--files-type-list todo-category-completions-files set todo-filter-files] 5 (#$ . 173165)])
#@78 Search for todo item nondiary markers within LIM for font-locking.

(fn LIM)
(defalias 'todo-nondiary-marker-matcher #[257 "\304\305\306!\307	\310\n\311\306!\307\260	\312#\207" [todo-nondiary-start todo-date-pattern diary-time-regexp todo-nondiary-end re-search-forward "^\\(?1:" regexp-quote "\\)" "\\(?: " "\\)?\\(?2:" t] 11 (#$ . 173501)])
#@75 Search for diary nonmarking symbol within LIM for font-locking.

(fn LIM)
(defalias 'todo-diary-nonmarking-matcher #[257 "\302\303\304!\305	R\306#\207" [diary-nonmarking-symbol todo-date-pattern re-search-forward "^\\(?1:" regexp-quote "\\)" t] 6 (#$ . 173853)])
#@73 Search for todo item date string within LIM for font-locking.

(fn LIM)
(defalias 'todo-date-string-matcher #[257 "\302\303	\304R\305#\207" [todo-date-string-start todo-date-pattern re-search-forward "\\(?1:" "\\)" t] 6 (#$ . 174124)])
#@73 Search for todo item time string within LIM for font-locking.

(fn LIM)
(defalias 'todo-time-string-matcher #[257 "\303	\304\n\305\260\306#\207" [todo-date-string-start todo-date-pattern diary-time-regexp re-search-forward " \\(?1:" "\\)" t] 7 (#$ . 174368)])
#@75 Search for expired diary item date within LIM for font-locking.

(fn LIM)
(defalias 'todo-diary-expired-matcher #[257 "\303\304\305!\306	\307\n\310\260\311#\2056\312\313!\312\314!\315\206\316Q\317\320\"\2041\321\322 \"\323W\2064\324!\266\203\207" [diary-nonmarking-symbol todo-date-pattern diary-time-regexp 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] 9 (#$ . 174637)])
#@73 Search for done todo item header within LIM for font-locking.

(fn LIM)
(defalias 'todo-done-string-matcher #[257 "\301\302P\303#\207" [todo-done-string-start re-search-forward "[^][]+]" t] 5 (#$ . 175190)])
#@74 Search for done todo item comment within LIM for font-locking.

(fn LIM)
(defalias 'todo-comment-string-matcher #[257 "\301\302\303Q\304#\207" [todo-comment-string re-search-forward "\\[\\(?1:" "\\):" t] 5 (#$ . 175406)])
#@177 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.

(fn LIM)
(defalias 'todo-category-string-matcher-1 #[257 "\304=\205\305	\n\306\307\260\310#\207" [major-mode todo-done-string-start todo-date-pattern diary-time-regexp todo-filtered-items-mode re-search-forward "\\(?: " "\\)?] \\(?1:\\[.+?\\]\\)" t] 7 (#$ . 175637)])
#@188 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.

(fn LIM)
(defalias 'todo-category-string-matcher-2 #[257 "\305=\205\306	\n\307\310\311\f!\312\260\313#\207" [major-mode todo-date-string-start todo-date-pattern diary-time-regexp todo-nondiary-end todo-filtered-items-mode re-search-forward "\\(?: " "\\)?\\(?:" regexp-quote "\\)? \\(?1:\\[.+\\]\\)" t] 9 (#$ . 176085)])
(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)) (#$ . 176937))
#@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)) (#$ . 177641))
#@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) ("j" todo-jump-to-category) ("n" todo-next-item) ("p" todo-previous-item) ("q" todo-quit) ("s" todo-save) ("t" todo-show)) (#$ . 178738))
#@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) ("b" todo-backward-category) ("f" todo-forward-category) ("*" todo-toggle-mark-item)) (#$ . 179341))
#@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)) (#$ . 179611))
#@19 Todo mode keymap.
(defvar todo-mode-map (byte-code "\304 \211\203\211@\305@A@#\210A\266\202\202\210	\211\2031\211@\305@A@#\210A\266\202\202\210\n\211\203I\211@\305@A@#\210A\266\202\2023\210\211\203a\211@\305@A@#\210A\266\202\202K\210\211\207" [todo-key-bindings-t todo-key-bindings-t+a+f todo-key-bindings-t+a todo-key-bindings-t+f make-keymap define-key] 7) (#$ . 179817))
#@27 Todo Archive mode keymap.
(defvar todo-archive-mode-map (byte-code "\302 \211\203\211@\303@A@#\210A\266\202\202\210	\211\2031\211@\303@A@#\210A\266\202\202\210\303\304\305#\210\303\306\307#\210\211\207" [todo-key-bindings-t+a+f todo-key-bindings-t+a make-sparse-keymap define-key "a" todo-jump-to-archive-category "u" todo-unarchive-items] 7) (#$ . 180226))
#@24 Todo Edit mode keymap.
(defvar todo-edit-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key "" todo-edit-quit [remap newline] newline-and-indent] 5) (#$ . 180608))
#@30 Todo Categories mode keymap.
(defvar todo-categories-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\323#\210\301\327\325#\210\301\330\331#\210\211\207" [make-sparse-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] 5) (#$ . 180832))
#@34 Todo Filtered Items mode keymap.
(defvar todo-filtered-items-mode-map (byte-code "\302 \211\203\211@\303@A@#\210A\266\202\202\210	\211\2031\211@\303@A@#\210A\266\202\202\210\303\304\305#\210\303\306\305#\210\211\207" [todo-key-bindings-t+a+f todo-key-bindings-t+f make-sparse-keymap define-key "g" todo-go-to-source-item [remap newline]] 7) (#$ . 181556))
#@11 Todo Menu
(defvar todo-menu nil (#$ . 181936))
(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 #[0 "\211\207" [todo-current-todo-file todo-global-current-todo-file] 2 (#$ . 184498)])
#@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 #[0 "\301\302 !@=?\205\211\303\"B\211\207" [todo-file-buffers file-truename buffer-file-name delete] 5 (#$ . 184792)])
#@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 #[0 "\303\304 !\305\"\211@\206\306	!\211\207" [todo-file-buffers todo-default-todo-file todo-global-current-todo-file file-truename buffer-file-name delete todo-absolute-file-name] 5 (#$ . 185083)])
#@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 #[0 "G\302U\205!	\301 \303 \304\305\306\307\310!\311\"\312$\216\313!)\262\262\207" [todo-done-separator-string todo-done-separator 1 match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 todo-reset-done-separator] 8 (#$ . 185558)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-1 #[0 "\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 (#$ . 186011)])
#@61 Make `todo-toggle-item-highlighting' highlight entire item.
(defalias 'todo-hl-line-range #[0 "\212\300 \205\301 \300 B)\207" [todo-item-end todo-item-start] 2 (#$ . 186466)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-2 #[0 "\304\305!\210\306\307\301!\210\310\307\302!\210\311\307\303!\210\312\211\207" [buffer-read-only todo--item-headers-hidden desktop-save-buffer hl-line-range-function add-to-invisibility-spec todo t make-local-variable nil todo-desktop-save-buffer todo-hl-line-range] 2 (#$ . 186650)])
#@55 Make some settings that apply to multiple Todo modes.
(defalias 'todo-modes-set-3 #[0 "\302\300!\210\303 \302\301!\210\304\211\207" [todo-categories todo-category-number make-local-variable todo-set-categories 1] 2 (#$ . 187031)])
(put 'todo-mode 'mode-class 'special)
(defvar todo-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [todo-mode-hook variable-documentation put "Hook run after entering Todo mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp todo-mode-map definition-name todo-mode] 4)
(defvar todo-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [todo-mode-abbrev-table todo-mode-map variable-documentation put purecopy "Keymap for `todo-mode'." boundp todo-mode-syntax-table definition-name todo-mode (lambda (#1=#:def-tmp-var) (defvar todo-mode-syntax-table #1#)) make-syntax-table "Syntax table for `todo-mode'." (lambda (#1#) (defvar todo-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `todo-mode'." derived-mode-parent special-mode] 5)
#@252 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 or penultimate step
during initialization.
(defalias 'todo-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
3=\204R\326
\3253C#\210\327!\210\330\f!\210
3\331\332!\203m\333\334\335\336!\"\210\202\272\337 \210\340 \210\341 \210\342\343 !4 \235\203\213\306\344!\210\342\343 !$\306\345!\210\346%\306\347!\210\346'\350\351\352\346\307$\210,\203\254\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 todo-mode-abbrev-table 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 local-abbrev-table todo-files-function] 5 (#$ . 188420) nil])
(put 'todo-archive-mode 'mode-class 'special)
(defvar todo-archive-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [todo-archive-mode-hook variable-documentation put "Hook run after entering Todo-Arch mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp todo-archive-mode-map definition-name todo-archive-mode] 4)
(defvar todo-archive-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [todo-archive-mode-abbrev-table todo-archive-mode-map variable-documentation put purecopy "Keymap for `todo-archive-mode'." boundp todo-archive-mode-syntax-table definition-name todo-archive-mode (lambda (#1=#:def-tmp-var) (defvar todo-archive-mode-syntax-table #1#)) make-syntax-table "Syntax table for `todo-archive-mode'." (lambda (#1#) (defvar todo-archive-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `todo-archive-mode'." derived-mode-parent special-mode] 5)
#@247 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 or penultimate step
during initialization.
(defalias 'todo-archive-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
\"=\204R\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 todo-archive-mode-abbrev-table 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 local-abbrev-table] 5 (#$ . 191429) nil])
(defvar todo-edit-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [todo-edit-mode-hook variable-documentation put "Hook run after entering Todo-Ed mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp todo-edit-mode-map definition-name todo-edit-mode] 4)
(defvar todo-edit-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [todo-edit-mode-abbrev-table todo-edit-mode-map variable-documentation put purecopy "Keymap for `todo-edit-mode'." boundp todo-edit-mode-syntax-table definition-name todo-edit-mode (lambda (#1=#:def-tmp-var) (defvar todo-edit-mode-syntax-table #1#)) make-syntax-table "Syntax table for `todo-edit-mode'." (lambda (#1#) (defvar todo-edit-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `todo-edit-mode'." derived-mode-parent text-mode] 5)
#@242 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 or penultimate step
during initialization.
(defalias 'todo-edit-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
#=\204R\326
\325#C#\210\327!\210\330\f!\210
#\331 \210\332 deZV\203t\306\333!\210$\202\206\306\333!\210\334\335 !\306\336!\210\337 \340%)\341\342!\207" [delay-mode-hooks major-mode mode-name todo-edit-mode-map todo-edit-mode-syntax-table todo-edit-mode-abbrev-table 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 buffer-size todo-current-todo-file file-truename buffer-file-name todo-categories todo-set-categories nil run-mode-hooks todo-edit-mode-hook local-abbrev-table todo-global-current-todo-file buffer-read-only] 5 (#$ . 193822) nil])
(put 'todo-categories-mode 'mode-class 'special)
(defvar todo-categories-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [todo-categories-mode-hook variable-documentation put "Hook run after entering Todo-Cats mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp todo-categories-mode-map definition-name todo-categories-mode] 4)
(defvar todo-categories-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [todo-categories-mode-abbrev-table todo-categories-mode-map variable-documentation put purecopy "Keymap for `todo-categories-mode'." boundp todo-categories-mode-syntax-table definition-name todo-categories-mode (lambda (#1=#:def-tmp-var) (defvar todo-categories-mode-syntax-table #1#)) make-syntax-table "Syntax table for `todo-categories-mode'." (lambda (#1#) (defvar todo-categories-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `todo-categories-mode'." derived-mode-parent special-mode] 5)
#@267 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 or penultimate step
during initialization.
(defalias 'todo-categories-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\306\331!\210 \306\332!\210r\333\334\"q\210))\335\336!\207" [delay-mode-hooks major-mode mode-name todo-categories-mode-map todo-categories-mode-syntax-table todo-categories-mode-abbrev-table 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-current-todo-file todo-categories find-file-noselect nowarn run-mode-hooks todo-categories-mode-hook local-abbrev-table todo-global-current-todo-file] 5 (#$ . 196397) nil])
(put 'todo-filtered-items-mode 'mode-class 'special)
(defvar todo-filtered-items-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [todo-filtered-items-mode-hook variable-documentation put "Hook run after entering Todo-Fltr mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp todo-filtered-items-mode-map definition-name todo-filtered-items-mode] 4)
(defvar todo-filtered-items-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [todo-filtered-items-mode-abbrev-table 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 (lambda (#1=#:def-tmp-var) (defvar todo-filtered-items-mode-syntax-table #1#)) make-syntax-table "Syntax table for `todo-filtered-items-mode'." (lambda (#1#) (defvar todo-filtered-items-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `todo-filtered-items-mode'." derived-mode-parent special-mode] 5)
#@278 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 or penultimate step
during initialization.
(defalias 'todo-filtered-items-mode #[0 "\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\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\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 todo-filtered-items-mode-abbrev-table 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 local-abbrev-table] 5 (#$ . 198975) nil])
(provide 'todo-mode)

Youez - 2016 - github.com/yon3zu
LinuXploit