diff options
| -rw-r--r-- | lisp/gnus/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/gnus/gnus-diary.el | 69 | ||||
| -rw-r--r-- | lisp/gnus/nndiary.el | 183 |
3 files changed, 45 insertions, 213 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b02dc6c2f8e..89cfbc3cc7a 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2007-05-09 Didier Verna <didier@xemacs.org> | ||
| 2 | |||
| 3 | * gnus-diary.el, nndiary.el: Remove the description comment (nndiary is | ||
| 4 | now properly documented in the Gnus manual). Fix the spelling of "Back | ||
| 5 | End". | ||
| 6 | |||
| 1 | 2007-04-19 Katsumi Yamaoka <yamaoka@jpl.org> | 7 | 2007-04-19 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 8 | ||
| 3 | * gnus-art.el (gnus-mime-strip-charset-parameters): New function. | 9 | * gnus-art.el (gnus-mime-strip-charset-parameters): New function. |
diff --git a/lisp/gnus/gnus-diary.el b/lisp/gnus/gnus-diary.el index be4c73a2b4f..a7f7ee65ec3 100644 --- a/lisp/gnus/gnus-diary.el +++ b/lisp/gnus/gnus-diary.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; gnus-diary.el --- Wrapper around the NNDiary Gnus backend | 1 | ;;; gnus-diary.el --- Wrapper around the NNDiary Gnus back end |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, | 3 | ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, |
| 4 | ;; 2006, 2007 Free Software Foundation, Inc. | 4 | ;; 2006, 2007 Free Software Foundation, Inc. |
| @@ -33,63 +33,8 @@ | |||
| 33 | ;; Description: | 33 | ;; Description: |
| 34 | ;; =========== | 34 | ;; =========== |
| 35 | 35 | ||
| 36 | ;; Gnus-Diary is a wrapper around the NNDiary Gnus backend. It is here to | 36 | ;; gnus-diary is a utility toolkit used on top of the nndiary back end. It is |
| 37 | ;; make your nndiary-user life easier in different ways. So, you don't have | 37 | ;; now fully documented in the Gnus manual. |
| 38 | ;; to use it if you don't want to. But, really, you should. | ||
| 39 | |||
| 40 | ;; Gnus-Diary offers the following features on top of the NNDiary backend: | ||
| 41 | |||
| 42 | ;; - A nice summary line format: | ||
| 43 | ;; Displaying diary messages in standard summary line format (usually | ||
| 44 | ;; something like "<From Joe>: <Subject>") is pretty useless. Most of the | ||
| 45 | ;; time, you're the one who wrote the message, and you mostly want to see | ||
| 46 | ;; the event's date. Gnus-Diary offers you a nice summary line format | ||
| 47 | ;; which will do this. By default, a summary line will appear like this: | ||
| 48 | ;; | ||
| 49 | ;; <Event Date>: <Subject> <Remaining time> | ||
| 50 | ;; | ||
| 51 | ;; for example, here's how Joe's birthday is displayed in my | ||
| 52 | ;; "nndiary:birhdays" summary buffer (the message is expirable, but will | ||
| 53 | ;; never be deleted, as it specifies a regular event): | ||
| 54 | ;; | ||
| 55 | ;; E Sat, Sep 22 01, 12:00: Joe's birthday (in 6 months, 1 week) | ||
| 56 | |||
| 57 | ;; - More article sorting functions: | ||
| 58 | ;; Gnus-Diary adds a new sorting function called | ||
| 59 | ;; `gnus-summary-sort-by-schedule'. This function lets you organize your | ||
| 60 | ;; diary summary buffers from the closest event to the farthest one. | ||
| 61 | |||
| 62 | ;; - Automatic generation of diary group parameters: | ||
| 63 | ;; When you create a new diary group, or visit one, Gnus-Diary checks your | ||
| 64 | ;; group parameters, and if needed, sets the summary line format to the | ||
| 65 | ;; diary-specific value, adds the diary-specific sorting functions, and | ||
| 66 | ;; also adds the different `X-Diary-*' headers to the group's | ||
| 67 | ;; posting-style. It is then easier to send a diary message, because if | ||
| 68 | ;; you use `C-u a' or `C-u m' on a diary group to prepare a message, these | ||
| 69 | ;; headers will be inserted automatically (but not filled with proper | ||
| 70 | ;; values yet). | ||
| 71 | |||
| 72 | ;; - An interactive mail-to-diary convertion function: | ||
| 73 | ;; The function `gnus-diary-check-message' ensures that the current message | ||
| 74 | ;; contains all the required diary headers, and prompts you for values / | ||
| 75 | ;; correction if needed. This function is hooked in the nndiary backend so | ||
| 76 | ;; that moving an article to an nndiary group will trigger it | ||
| 77 | ;; automatically. It is also bound to `C-c D c' in message-mode and | ||
| 78 | ;; article-edit-mode in order to ease the process of converting a usual | ||
| 79 | ;; mail to a diary one. This function takes a prefix argument which will | ||
| 80 | ;; force prompting of all diary headers, regardless of their | ||
| 81 | ;; presence/validity. That way, you can very easily reschedule a diary | ||
| 82 | ;; message for instance. | ||
| 83 | |||
| 84 | |||
| 85 | ;; Usage: | ||
| 86 | ;; ===== | ||
| 87 | |||
| 88 | ;; 0/ Don't use any `gnus-user-format-function-[d|D]'. Gnus-Diary provides | ||
| 89 | ;; both of these (sorry if you used them before). | ||
| 90 | ;; 1/ Add '(require 'gnus-diary) to your gnusrc file. | ||
| 91 | ;; 2/ Customize your gnus-diary options to suit your needs. | ||
| 92 | |||
| 93 | 38 | ||
| 94 | 39 | ||
| 95 | ;; Bugs / Todo: | 40 | ;; Bugs / Todo: |
| @@ -103,7 +48,7 @@ | |||
| 103 | (require 'gnus-art) | 48 | (require 'gnus-art) |
| 104 | 49 | ||
| 105 | (defgroup gnus-diary nil | 50 | (defgroup gnus-diary nil |
| 106 | "Utilities on top of the nndiary backend for Gnus." | 51 | "Utilities on top of the nndiary back end for Gnus." |
| 107 | :version "22.1" | 52 | :version "22.1" |
| 108 | :group 'gnus) | 53 | :group 'gnus) |
| 109 | 54 | ||
| @@ -136,7 +81,7 @@ There are currently two built-in format functions: | |||
| 136 | :group 'gnus-diary) | 81 | :group 'gnus-diary) |
| 137 | 82 | ||
| 138 | (defconst gnus-diary-version nndiary-version | 83 | (defconst gnus-diary-version nndiary-version |
| 139 | "Current Diary backend version.") | 84 | "Current Diary back end version.") |
| 140 | 85 | ||
| 141 | 86 | ||
| 142 | ;; Compatibility functions ================================================== | 87 | ;; Compatibility functions ================================================== |
| @@ -334,7 +279,7 @@ Optional prefix (or REVERSE argument) means sort in reverse order." | |||
| 334 | )) | 279 | )) |
| 335 | 280 | ||
| 336 | ;; Called when a group is subscribed. This is needed because groups created | 281 | ;; Called when a group is subscribed. This is needed because groups created |
| 337 | ;; because of mail splitting are *not* created with the backend function. | 282 | ;; because of mail splitting are *not* created with the back end function. |
| 338 | ;; Thus, `nndiary-request-create-group-hooks' is inoperative. | 283 | ;; Thus, `nndiary-request-create-group-hooks' is inoperative. |
| 339 | (defun gnus-diary-maybe-update-group-parameters (group) | 284 | (defun gnus-diary-maybe-update-group-parameters (group) |
| 340 | (when (eq (car (gnus-find-method-for-group group)) 'nndiary) | 285 | (when (eq (car (gnus-find-method-for-group group)) 'nndiary) |
| @@ -452,7 +397,7 @@ If ARG (or prefix) is non-nil, force prompting for all fields." | |||
| 452 | ;; The end ================================================================== | 397 | ;; The end ================================================================== |
| 453 | 398 | ||
| 454 | (defun gnus-diary-version () | 399 | (defun gnus-diary-version () |
| 455 | "Current Diary backend version." | 400 | "Current Diary back end version." |
| 456 | (interactive) | 401 | (interactive) |
| 457 | (message "NNDiary version %s" nndiary-version)) | 402 | (message "NNDiary version %s" nndiary-version)) |
| 458 | 403 | ||
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index 249a4fdb1ba..483c2ee1070 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; nndiary.el --- A diary backend for Gnus | 1 | ;;; nndiary.el --- A diary back end for Gnus |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, | 3 | ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, |
| 4 | ;; 2005, 2006, 2007 Free Software Foundation, Inc. | 4 | ;; 2005, 2006, 2007 Free Software Foundation, Inc. |
| @@ -33,127 +33,8 @@ | |||
| 33 | ;; Description: | 33 | ;; Description: |
| 34 | ;; =========== | 34 | ;; =========== |
| 35 | 35 | ||
| 36 | ;; This package implements NNDiary, a diary backend for Gnus. NNDiary is a | 36 | ;; nndiary is a mail back end designed to handle mails as diary event |
| 37 | ;; mail backend, pretty similar to nnml in its functionnning (it has all the | 37 | ;; reminders. It is now fully documented in the Gnus manual. |
| 38 | ;; features of nnml, actually), but in which messages are treated as event | ||
| 39 | ;; reminders. | ||
| 40 | |||
| 41 | ;; Here is a typical scenario: | ||
| 42 | ;; - You've got a date with Andy Mc Dowell or Bruce Willis (select according | ||
| 43 | ;; to your sexual preference) in one month. You don't want to forget it. | ||
| 44 | ;; - Send a (special) diary message to yourself (see below). | ||
| 45 | ;; - Forget all about it and keep on getting and reading new mail, as usual. | ||
| 46 | ;; - From time to time, as you type `g' in the group buffer and as the date | ||
| 47 | ;; is getting closer, the message will pop up again, just like if it were | ||
| 48 | ;; new and unread. | ||
| 49 | ;; - Read your "new" messages, this one included, and start dreaming of the | ||
| 50 | ;; night you're gonna have. | ||
| 51 | ;; - Once the date is over (you actually fell asleep just after dinner), the | ||
| 52 | ;; message will be automatically deleted if it is marked as expirable. | ||
| 53 | |||
| 54 | ;; Some more notes on the diary backend: | ||
| 55 | ;; - NNDiary is a *real* mail backend. You *really* send real diary | ||
| 56 | ;; messsages. This means for instance that you can give appointements to | ||
| 57 | ;; anybody (provided they use Gnus and NNDiary) by sending the diary message | ||
| 58 | ;; to them as well. | ||
| 59 | ;; - However, since NNDiary also has a 'request-post method, you can also | ||
| 60 | ;; `C-u a' instead of `C-u m' on a diary group and the message won't actually | ||
| 61 | ;; be sent; just stored in the group. | ||
| 62 | ;; - The events you want to remember need not be punctual. You can set up | ||
| 63 | ;; reminders for regular dates (like once each week, each monday at 13:30 | ||
| 64 | ;; and so on). Diary messages of this kind will never be deleted (unless | ||
| 65 | ;; you do it explicitely). But that, you guessed. | ||
| 66 | |||
| 67 | |||
| 68 | ;; Usage: | ||
| 69 | ;; ===== | ||
| 70 | |||
| 71 | ;; 1/ NNDiary has two modes of operation: traditional (the default) and | ||
| 72 | ;; autonomous. | ||
| 73 | ;; a/ In traditional mode, NNDiary does not get new mail by itself. You | ||
| 74 | ;; have to move mails from your primary mail backend to nndiary | ||
| 75 | ;; groups. | ||
| 76 | ;; b/ In autonomous mode, NNDiary retrieves its own mail and handles it | ||
| 77 | ;; independantly of your primary mail backend. To use NNDiary in | ||
| 78 | ;; autonomous mode, you have several things to do: | ||
| 79 | ;; i/ Put (setq nndiary-get-new-mail t) in your gnusrc file. | ||
| 80 | ;; ii/ Diary messages contain several `X-Diary-*' special headers. | ||
| 81 | ;; You *must* arrange that these messages be split in a private | ||
| 82 | ;; folder *before* Gnus treat them. You need this because Gnus | ||
| 83 | ;; is not able yet to manage multiple backends for mail | ||
| 84 | ;; retrieval. Getting them from a separate source will | ||
| 85 | ;; compensate this misfeature to some extent, as we will see. | ||
| 86 | ;; As an example, here's my procmailrc entry to store diary files | ||
| 87 | ;; in ~/.nndiary (the default nndiary mail source file): | ||
| 88 | ;; | ||
| 89 | ;; :0 HD : | ||
| 90 | ;; * ^X-Diary | ||
| 91 | ;; .nndiary | ||
| 92 | ;; iii/ Customize the variables `nndiary-mail-sources' and | ||
| 93 | ;; `nndiary-split-methods'. These are replacements for the usual | ||
| 94 | ;; mail sources and split methods which, and will be used in | ||
| 95 | ;; autonomous mode. `nndiary-mail-sources' defaults to | ||
| 96 | ;; '(file :path "~/.nndiary"). | ||
| 97 | ;; 2/ Install nndiary somewhere Emacs / Gnus can find it. Normally, you | ||
| 98 | ;; *don't* have to '(require 'nndiary) anywhere. Gnus will do so when | ||
| 99 | ;; appropriate as long as nndiary is somewhere in the load path. | ||
| 100 | ;; 3/ Now, customize the rest of nndiary. In particular, you should | ||
| 101 | ;; customize `nndiary-reminders', the list of times when you want to be | ||
| 102 | ;; reminded of your appointements (e.g. 3 weeks before, then 2 days | ||
| 103 | ;; before, then 1 hour before and that's it). | ||
| 104 | ;; 4/ You *must* use the group timestamp feature of Gnus. This adds a | ||
| 105 | ;; timestamp to each groups' parameters (please refer to the Gnus | ||
| 106 | ;; documentation ("Group Timestamp" info node) to see how it's done. | ||
| 107 | ;; 5/ Once you have done this, you may add a permanent nndiary virtual server | ||
| 108 | ;; (something like '(nndiary "")) to your `gnus-secondary-select-methods'. | ||
| 109 | ;; Yes, this server will be able to retrieve mails and split them when you | ||
| 110 | ;; type `g' in the group buffer, just as if it were your only mail backend. | ||
| 111 | ;; This is the benefit of using a private folder. | ||
| 112 | ;; 6/ Hopefully, almost everything (see the TODO section below) will work as | ||
| 113 | ;; expected when you restart Gnus: in the group buffer, `g' and `M-g' will | ||
| 114 | ;; also get your new diary mails, `F' will find your new diary groups etc. | ||
| 115 | |||
| 116 | |||
| 117 | ;; How to send diary messages: | ||
| 118 | ;; ========================== | ||
| 119 | |||
| 120 | ;; There are 7 special headers in diary messages. These headers are of the | ||
| 121 | ;; form `X-Diary-<something>', the <something> being one of `Minute', `Hour', | ||
| 122 | ;; `Dom', `Month', `Year', `Time-Zone' and `Dow'. `Dom' means "Day of Month", | ||
| 123 | ;; and `dow' means "Day of Week". These headers actually behave like crontab | ||
| 124 | ;; specifications and define the event date(s). | ||
| 125 | |||
| 126 | ;; For all headers but the `Time-Zone' one, a header value is either a | ||
| 127 | ;; star (meaning all possible values), or a list of fields (separated by a | ||
| 128 | ;; comma). A field is either an integer, or a range. A range is two integers | ||
| 129 | ;; separated by a dash. Possible integer values are 0-59 for `Minute', 0-23 | ||
| 130 | ;; for `Hour', 1-31 for `Dom', `1-12' for Month, above 1971 for `Year' and 0-6 | ||
| 131 | ;; for `Dow' (0 = sunday). As a special case, a star in either `Dom' or `Dow' | ||
| 132 | ;; doesn't mean "all possible values", but "use only the other field". Note | ||
| 133 | ;; that if both are star'ed, the use of either one gives the same result :-), | ||
| 134 | |||
| 135 | ;; The `Time-Zone' header is special in that it can have only one value (you | ||
| 136 | ;; bet ;-). | ||
| 137 | ;; A star doesn't mean "all possible values" (because it has no sense), but | ||
| 138 | ;; "the current local time zone". | ||
| 139 | |||
| 140 | ;; As an example, here's how you would say "Each Monday and each 1st of month, | ||
| 141 | ;; at 12:00, 20:00, 21:00, 22:00, 23:00 and 24:00, from 1999 to 2010" (I let | ||
| 142 | ;; you find what to do then): | ||
| 143 | ;; | ||
| 144 | ;; X-Diary-Minute: 0 | ||
| 145 | ;; X-Diary-Hour: 12, 20-24 | ||
| 146 | ;; X-Diary-Dom: 1 | ||
| 147 | ;; X-Diary-Month: * | ||
| 148 | ;; X-Diary-Year: 1999-2010 | ||
| 149 | ;; X-Diary-Dow: 1 | ||
| 150 | ;; X-Diary-Time-Zone: * | ||
| 151 | ;; | ||
| 152 | ;; | ||
| 153 | ;; Sending a diary message is not different from sending any other kind of | ||
| 154 | ;; mail, except that such messages are identified by the presence of these | ||
| 155 | ;; special headers. | ||
| 156 | |||
| 157 | 38 | ||
| 158 | 39 | ||
| 159 | ;; Bugs / Todo: | 40 | ;; Bugs / Todo: |
| @@ -161,43 +42,43 @@ | |||
| 161 | 42 | ||
| 162 | ;; * Respooling doesn't work because contrary to the request-scan function, | 43 | ;; * Respooling doesn't work because contrary to the request-scan function, |
| 163 | ;; Gnus won't allow me to override the split methods when calling the | 44 | ;; Gnus won't allow me to override the split methods when calling the |
| 164 | ;; respooling backend functions. | 45 | ;; respooling back end functions. |
| 165 | ;; * There's a bug in the time zone mechanism with variable TZ locations. | 46 | ;; * There's a bug in the time zone mechanism with variable TZ locations. |
| 166 | ;; * We could allow a keyword like `ask' in X-Diary-* headers, that would mean | 47 | ;; * We could allow a keyword like `ask' in X-Diary-* headers, that would mean |
| 167 | ;; "ask for value upon reception of the message". | 48 | ;; "ask for value upon reception of the message". |
| 168 | ;; * We could add an optional header X-Diary-Reminders to specify a special | 49 | ;; * We could add an optional header X-Diary-Reminders to specify a special |
| 169 | ;; reminders value for this message. Suggested by Jody Klymak. | 50 | ;; reminders value for this message. Suggested by Jody Klymak. |
| 170 | ;; * We should check messages validity in other circumstances than just | 51 | ;; * We should check messages validity in other circumstances than just |
| 171 | ;; moving an article from sonwhere else (request-accept). For instance, when | 52 | ;; moving an article from somewhere else (request-accept). For instance, |
| 172 | ;; editing / saving and so on. | 53 | ;; when editing / saving and so on. |
| 173 | 54 | ||
| 174 | 55 | ||
| 175 | ;; Remarks: | 56 | ;; Remarks: |
| 176 | ;; ======= | 57 | ;; ======= |
| 177 | 58 | ||
| 178 | ;; * nnoo. | 59 | ;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo |
| 179 | ;; NNDiary is very similar to nnml. This makes the idea of using nnoo (to | 60 | ;; (to derive nndiary from nnml) natural. However, my experience with nnoo |
| 180 | ;; derive nndiary from nnml) natural. However, my experience with nnoo is | 61 | ;; is that for reasonably complex back ends like this one, noo is a burden |
| 181 | ;; that for reasonably complex backends like this one, noo is a burden | 62 | ;; rather than an help. It's tricky to use, not everything can be inherited, |
| 182 | ;; rather than an help. It's tricky to use, not everything can be | 63 | ;; what can be inherited and when is not very clear, and you've got to be |
| 183 | ;; inherited, what can be inherited and when is not very clear, and you've | 64 | ;; very careful because a little mistake can fuck up your other back ends, |
| 184 | ;; got to be very careful because a little mistake can fuck up your your | 65 | ;; especially because their variables will be use instead of your real ones. |
| 185 | ;; other backends, especially because their variables will be use instead of | 66 | ;; Finally, I found it easier to just clone the needed parts of nnml, and |
| 186 | ;; your real ones. Finally, I found it easier to just clone the needed | 67 | ;; tracking nnml updates is not a big deal. |
| 187 | ;; parts of nnml, and tracking nnml updates is not a big deal. | ||
| 188 | 68 | ||
| 189 | ;; IMHO, nnoo is actually badly designed. A much simpler, and yet more | 69 | ;; IMHO, nnoo is actually badly designed. A much simpler, and yet more |
| 190 | ;; powerful one would be to make *real* functions and variables for a new | 70 | ;; powerful one would be to make *real* functions and variables for a new |
| 191 | ;; backend based on another. Lisp is a reflexive language so that's a very | 71 | ;; back end based on another. Lisp is a reflexive language so that's a very |
| 192 | ;; easy thing to do: inspect the function's form, replace occurences of | 72 | ;; easy thing to do: inspect the function's form, replace occurences of |
| 193 | ;; <nnfrom> (even in strings) with <nnto>, and you're done. | 73 | ;; <nnfrom> (even in strings) with <nnto>, and you're done. |
| 194 | 74 | ||
| 195 | ;; * nndiary-get-new-mail, nndiary-mail-source and nndiary-split-methods: | 75 | ;; * nndiary-get-new-mail, nndiary-mail-source and nndiary-split-methods: |
| 196 | ;; NNDiary has some experimental parts, in the sense Gnus normally uses only | 76 | ;; NNDiary has some experimental parts, in the sense Gnus normally uses only |
| 197 | ;; one mail backends for mail retreival and splitting. This backend is also | 77 | ;; one mail back ends for mail retreival and splitting. This back end is |
| 198 | ;; an attempt to make it behave differently. For Gnus developpers: as you | 78 | ;; also an attempt to make it behave differently. For Gnus developpers: as |
| 199 | ;; can see if you snarf into the code, that was not a very difficult thing | 79 | ;; you can see if you snarf into the code, that was not a very difficult |
| 200 | ;; to do. Something should be done about the respooling breakage though. | 80 | ;; thing to do. Something should be done about the respooling breakage |
| 81 | ;; though. | ||
| 201 | 82 | ||
| 202 | 83 | ||
| 203 | ;;; Code: | 84 | ;;; Code: |
| @@ -220,10 +101,10 @@ | |||
| 220 | (apply #'error args)))) | 101 | (apply #'error args)))) |
| 221 | 102 | ||
| 222 | 103 | ||
| 223 | ;; Backend behavior customization =========================================== | 104 | ;; Back End behavior customization =========================================== |
| 224 | 105 | ||
| 225 | (defgroup nndiary nil | 106 | (defgroup nndiary nil |
| 226 | "The Gnus Diary backend." | 107 | "The Gnus Diary back end." |
| 227 | :version "22.1" | 108 | :version "22.1" |
| 228 | :group 'gnus-diary) | 109 | :group 'gnus-diary) |
| 229 | 110 | ||
| @@ -326,27 +207,27 @@ The hooks will be called with the article in the current buffer." | |||
| 326 | :type 'boolean) | 207 | :type 'boolean) |
| 327 | 208 | ||
| 328 | 209 | ||
| 329 | ;; Backend declaration ====================================================== | 210 | ;; Back End declaration ====================================================== |
| 330 | 211 | ||
| 331 | ;; Well, most of this is nnml clonage. | 212 | ;; Well, most of this is nnml clonage. |
| 332 | 213 | ||
| 333 | (nnoo-declare nndiary) | 214 | (nnoo-declare nndiary) |
| 334 | 215 | ||
| 335 | (defvoo nndiary-directory (nnheader-concat gnus-directory "diary/") | 216 | (defvoo nndiary-directory (nnheader-concat gnus-directory "diary/") |
| 336 | "Spool directory for the nndiary backend.") | 217 | "Spool directory for the nndiary back end.") |
| 337 | 218 | ||
| 338 | (defvoo nndiary-active-file | 219 | (defvoo nndiary-active-file |
| 339 | (expand-file-name "active" nndiary-directory) | 220 | (expand-file-name "active" nndiary-directory) |
| 340 | "Active file for the nndiary backend.") | 221 | "Active file for the nndiary back end.") |
| 341 | 222 | ||
| 342 | (defvoo nndiary-newsgroups-file | 223 | (defvoo nndiary-newsgroups-file |
| 343 | (expand-file-name "newsgroups" nndiary-directory) | 224 | (expand-file-name "newsgroups" nndiary-directory) |
| 344 | "Newsgroups description file for the nndiary backend.") | 225 | "Newsgroups description file for the nndiary back end.") |
| 345 | 226 | ||
| 346 | (defvoo nndiary-get-new-mail nil | 227 | (defvoo nndiary-get-new-mail nil |
| 347 | "Whether nndiary gets new mail and split it. | 228 | "Whether nndiary gets new mail and split it. |
| 348 | Contrary to traditional mail backends, this variable can be set to t | 229 | Contrary to traditional mail back ends, this variable can be set to t |
| 349 | even if your primary mail backend also retreives mail. In such a case, | 230 | even if your primary mail back end also retreives mail. In such a case, |
| 350 | NDiary uses its own mail-sources and split-methods.") | 231 | NDiary uses its own mail-sources and split-methods.") |
| 351 | 232 | ||
| 352 | (defvoo nndiary-nov-is-evil nil | 233 | (defvoo nndiary-nov-is-evil nil |
| @@ -367,10 +248,10 @@ all. This may very well take some time.") | |||
| 367 | 248 | ||
| 368 | 249 | ||
| 369 | (defconst nndiary-version "0.2-b14" | 250 | (defconst nndiary-version "0.2-b14" |
| 370 | "Current Diary backend version.") | 251 | "Current Diary back end version.") |
| 371 | 252 | ||
| 372 | (defun nndiary-version () | 253 | (defun nndiary-version () |
| 373 | "Current Diary backend version." | 254 | "Current Diary back end version." |
| 374 | (interactive) | 255 | (interactive) |
| 375 | (message "NNDiary version %s" nndiary-version)) | 256 | (message "NNDiary version %s" nndiary-version)) |
| 376 | 257 | ||
| @@ -631,7 +512,7 @@ all. This may very well take some time.") | |||
| 631 | 512 | ||
| 632 | (deffoo nndiary-request-scan (&optional group server) | 513 | (deffoo nndiary-request-scan (&optional group server) |
| 633 | ;; Use our own mail sources and split methods while Gnus doesn't let us have | 514 | ;; Use our own mail sources and split methods while Gnus doesn't let us have |
| 634 | ;; multiple backends for retrieving mail. | 515 | ;; multiple back ends for retrieving mail. |
| 635 | (let ((mail-sources nndiary-mail-sources) | 516 | (let ((mail-sources nndiary-mail-sources) |
| 636 | (nnmail-split-methods nndiary-split-methods)) | 517 | (nnmail-split-methods nndiary-split-methods)) |
| 637 | (setq nndiary-article-file-alist nil) | 518 | (setq nndiary-article-file-alist nil) |