1 2011-04-25 Teodor Zlatanov <tzz@lifelogs.com>
3 * gnus-registry.el (gnus-registry-ignore-group-p): Don't call
4 `gnus-parameter-registry-ignore' if the *Group* buffer doesn't exist.
6 2011-04-23 Glenn Morris <rgm@gnu.org>
8 * gnus-sum.el (gnus-extra-headers): Bump :version.
10 2011-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
12 * shr.el (shr-tag-sup): New function.
15 2011-04-22 Teodor Zlatanov <tzz@lifelogs.com>
17 * gnus-registry.el (gnus-registry-ignore-group-p): Test specifically
18 for the case where `gnus-registry-ignored-groups' is a list of lists,
19 and don't call `gnus-parameter-registry-ignore' otherwise.
21 2011-04-21 Teodor Zlatanov <tzz@lifelogs.com>
23 * nnimap.el (nnimap-user): New backend variable.
24 (nnimap-open-connection-1): Use it.
25 (nnimap-credentials): Accept user parameter so it's explicit what user
28 * gnus-sum.el (gnus-extra-headers): Add Keywords, Cc, and Gcc to
31 * gnus.el (gnus-registry-ignored-groups): Provide default in gnus.el,
34 * gnus-registry.el: Mention in comments how to modify
35 `gnus-extra-headers' for proper recipient tracking and that it may
36 already have To and Cc recently, which it does as of this commit.
37 (gnus-registry-ignored-groups): Remove defcustom.
38 Explain why in comments.
39 (gnus-registry-action): Fix data-header reference to use the extra
40 headers. Explain in package commentary how to add To and Cc headers to
41 the gnus-extra-headers.
42 (gnus-registry-ignored-groups): Adjust defaults to match the parameter.
43 (gnus-registry-ignore-group-p): Adjust to take either a group/topic
44 parameter list or a string list in `gnus-registry-ignored-groups'. Fix
47 2011-04-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
49 * shr.el (shr-expand-url): Protect against null urls.
51 2011-04-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
53 * shr.el (shr-base): New binding.
54 (shr-tag-base): Keep track of <base>.
55 (shr-expand-url): New function used throughout.
57 2011-04-20 Teodor Zlatanov <tzz@lifelogs.com>
60 (gnus-registry--split-fancy-with-parent-internal): Fix loop bugs.
61 (gnus-registry-ignored-groups): New variable.
62 (gnus-registry-ignore-group-p): Use it.
63 (gnus-registry-handle-action): Use `gnus-registry-ignore-group-p' and
64 set the destination group to nil (same as delete) if it's ignored.
66 2011-04-20 David Engster <dengste@eml.cc>
68 * tests/gnustest-nntp.el: New file for simple NNTP testing.
70 * Makefile.in (test-nntp): New rule.
72 (test-registry): Change '$(EMACS_COMP)' to '$(EMACS) $(FLAGS)'.
74 2011-04-20 Katsumi Yamaoka <yamaoka@jpl.org>
76 * gnus-registry.el (gnus-registry-action)
77 (gnus-registry-fetch-header-fast):
78 Don't use mail-header that looks an internal function of mailheader.el.
80 2011-04-19 Glenn Morris <rgm@gnu.org>
82 * time-date.el (time-to-days): Remove unused local variables.
84 2011-04-18 Katsumi Yamaoka <yamaoka@jpl.org>
86 * gnus-registry.el: Eliminate cl functions.
87 (gnus-registry-sort-addresses): New function that replaces mapcan.
88 (gnus-registry-action, gnus-registry-spool-action)
89 (gnus-registry-split-fancy-with-parent)
90 (gnus-registry-fetch-recipients-fast): Use it.
91 (gnus-registry-import-eld): Replace delete* with dolist + delq.
93 * registry.el (initialize-instance, registry-lookup)
94 (registry-lookup-breaks-before-lexbind, registry-lookup-secondary)
95 (registry-lookup-secondary-value, registry-search, registry-delete)
96 (registry-insert, registry-reindex, registry-size, registry-prune):
99 2011-04-16 Teodor Zlatanov <tzz@lifelogs.com>
101 * registry.el (registry-reindex): New method to recreate the secondary
104 * gnus-registry.el (gnus-registry-fixup-registry): Use it if the
105 tracked field changes.
106 (gnus-registry-unfollowed-addresses, gnus-registry-track-extra)
107 (gnus-registry-action, gnus-registry-spool-action)
108 (gnus-registry-handle-action)
109 (gnus-registry--split-fancy-with-parent-internal)
110 (gnus-registry-split-fancy-with-parent)
111 (gnus-registry-register-message-ids): Add recipient tracking on spool,
112 move, and delete actions, and for fancy splitting with parent.
113 (gnus-registry-extract-addresses)
114 (gnus-registry-fetch-recipients-fast)
115 (gnus-registry-fetch-header-fast): Convenience functions.
116 (gnus-registry-misc-test): ERT test of
117 `gnus-registry-extract-addresses'.
119 2011-04-15 Teodor Zlatanov <tzz@lifelogs.com>
121 * gnus-registry.el (gnus-registry--split-fancy-with-parent-internal):
122 Track by subject first, then sender.
124 2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
126 * message.el (message-bogus-system-names): Replace ^...$ => \`...\'.
128 * gnus.el (gnus-splash-svg-color-symbols): Don't use insert-file from
131 * gnus-draft.el (gnus-draft-setup): New arg `dont-pop'.
132 (gnus-draft-send): Use it to avoid popping
133 up frames from gnus-group-send-queue.
135 2011-04-14 Teodor Zlatanov <tzz@lifelogs.com>
137 * gnus-registry.el: Updated gnus-registry docs.
139 2011-04-12 Teodor Zlatanov <tzz@lifelogs.com>
141 * gnus-registry.el (gnus-registry--split-fancy-with-parent-internal):
143 (gnus-registry-post-process-groups): Fix logging of no results and
144 quote sender and subject.
146 2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
148 * proto-stream.el (proto-stream-open-starttls): Only do opportunistic
149 STARTTLS upgrades if we have built-in gnutls support. Upgrades via
150 gnutls-cli are too slow to be done opportunistically.
152 * gnus-start.el (gnus-get-unread-articles): Slight cleanup.
153 (gnus-read-active-for-groups): Don't try to finish getting stuff where
154 we had no early-data returned.
155 (gnus-get-unread-articles): Add a sanity check so that we don't issue
156 two async commands to the same server at the same time.
158 2011-04-12 Stig Sandbeck Mathisen <ssm@fnord.no> (tiny change)
160 * gnus-sum.el (gnus-summary-select-article-buffer): Doc fix.
162 2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
164 * gnus-registry.el (gnus-registry-remake-db): Put the warning on a
167 * mm-url.el (mm-url-package-name): Removed to ease third-party reuse.
168 (mm-url-insert-file-contents): Don't set the package names.
170 2011-04-11 Teodor Zlatanov <tzz@lifelogs.com>
172 * gnus-registry.el (gnus-registry-action): Remove properties and
173 simplify subject in `gnus-registry-handle-action'.
174 (gnus-registry-spool-action): Get subject and sender from message if
175 they are not passed in.
176 (gnus-registry-handle-action): Remove properties and simplify subject
179 2011-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
181 * registry.el: Require CL before using defmacro*.
183 2011-04-11 Katsumi Yamaoka <yamaoka@jpl.org>
185 * gnus-art.el (article-treat-date): Assume that
186 gnus-article-date-headers may be a group parameter.
188 2011-04-07 Teodor Zlatanov <tzz@lifelogs.com>
190 * gnus-registry.el (gnus-registry-handle-action): More debugging.
192 * gnus-start.el (gnus-gnus-to-newsrc-format): Add a way to run
193 interactively so the newsrc file can contain foreign groups too.
194 Useful for debugging but not much for users.
196 2011-04-07 David Engster <dengste@eml.cc>
198 * registry.el (registry-usage-test): Only do
199 `registry-lookup-breaks-before-lexbind' testing for Emacs24 with
202 2011-04-07 David Engster <dengste@eml.cc>
204 * Makefile.in (check, test-registry): New rules for test-suite.
206 2011-04-06 David Engster <dengste@eml.cc>
208 * registry.el, gnus-registry.el: Use `ignore-errors' instead of third
209 argument NOERROR for `require', since XEmacs 21.4 does not support it.
211 2011-04-06 David Engster <dengste@eml.cc>
213 * registry.el (initialize-instance): Change :after to :AFTER to be
214 compatible with old EIEIO version in XEmacs.
216 2011-04-06 Teodor Zlatanov <tzz@lifelogs.com>
218 * gnus-registry.el (gnus-registry-post-process-groups)
219 (gnus-registry--split-fancy-with-parent-internal): Fix splitting bugs
220 and provide better messaging.
222 2011-04-06 David Engster <dengste@eml.cc>
224 * Makefile.in (fail-on-warning): New rule to compile with warnings as
227 * dgnushack.el (dgnushack-compile-error-on-warn): New function to call
228 dgnushack-compile with error-on-warn enabled, and to signal an error if
229 clean compilation failed.
230 (dgnushack-compile): New argument 'error-on-warn'. If non-nil, compile
231 with `byte-compile-error-on-warn'. Return nil if errors occured.
233 2011-04-06 Teodor Zlatanov <tzz@lifelogs.com>
235 * gnus-registry.el: Don't use ERT if it's not available. Load it
236 unconditionally anyway, discarding errors.
237 (gnus-registry-delete-entries): New convenience function.
238 (gnus-registry-import-eld): Import from old .eld registry.
240 * registry.el: Don't use ERT if it's not available. Load it
241 unconditionally anyway, discarding errors.
243 * proto-stream.el (gnutls-negotiate): Revert inadvertent commit of the
244 version from the Claudio Bley GnuTLS patch (extra optional parameters
247 2011-04-05 Teodor Zlatanov <tzz@lifelogs.com>
249 * gnus-registry.el (gnus-registry-fixup-registry): New function to
250 fixup the parameters that can be customized by the user between
252 (gnus-registry-read): Use it.
253 (gnus-registry-make-db): Use it.
254 (gnus-registry-spool-action, gnus-registry-handle-action): Fix
256 (gnus-registry--split-fancy-with-parent-internal): Fix loop. Map
257 references to actual group names with sender and subject tracking.
258 (gnus-registry-post-process-groups): Use `cond' for better messaging.
259 (gnus-registry-usage-test): Add subject lookup test.
261 * registry.el (registry-db, initialize-instance): Set up constructor
262 instead of :initform arguments for the sake of older Emacsen.
263 (registry-lookup-breaks-before-lexbind): New method to demonstrate
264 pre-lexbind merge bug.
265 (registry-usage-test): Use it.
266 (initialize-instance, registry-db): Move the non-function initforms
267 back to the class definition.
269 2011-04-03 Teodor Zlatanov <tzz@lifelogs.com>
271 * registry.el: New library to manage gnus-registry-style data.
273 * gnus-registry.el: Use it (major rewrite).
275 * nnregistry.el: Use it.
279 2011-04-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
281 * gnus-sum.el (gnus-update-marks): Reinstate the code to not alter
282 marks on non-selected articles.
284 2011-04-02 Chong Yidong <cyd@stupidchicken.com>
286 * nnimap.el (nnimap-open-connection-1): Pass explicit :end-of-command
287 parameter to open-protocol-stream.
289 2011-04-01 Julien Danjou <julien@danjou.info>
291 * mm-view.el (mm-display-inline-fontify): Do not fontify with
294 2011-04-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
296 * gnus-start.el (gnus-get-unread-articles): Don't try to contact denied
299 2011-03-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
301 * gnus-sum.el (gnus-update-marks): Revert intersection change, which
302 made marks not propagate, again.
304 2011-03-30 Chong Yidong <cyd@stupidchicken.com>
306 * proto-stream.el (open-protocol-stream): Bring back `network' type.
307 Make this the default type.
308 (proto-stream-open-plain): Rename from proto-stream-open-default.
309 (open-protocol-stream, proto-stream-open-starttls)
310 (proto-stream-open-tls, proto-stream-open-shell): Replace `default'
313 * nnimap.el (nnimap-stream, nnimap-open-connection-1): Accept `network'
316 * nntp.el (nntp-open-connection-function): Document the fact that some
317 values are not functions but are instead handled specially. Recognize
318 nntp-open-plain-stream value.
319 (nntp-open-connection): Recognize that value.
321 2011-03-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
323 * dgnushack.el: Only do the defcustom compilation thing on XEmacs,
324 where it seems to be needed.
326 2011-03-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
328 * gssapi.el (open-gssapi-stream): Remove the last mentions of the IMAP
331 * gnus-score.el (gnus-score-string): Fix calling convention of
332 `gnus-simplify-buffer-fuzzy' after last patches.
334 * gnus-sum.el (gnus-update-marks): Don't send any marks updates to the
335 server for articles we didn't get any headers for. This is a sanity
338 2011-03-29 Michael Welsh Duggan <md5i@md5i.com>
340 * nnimap.el (nnimap-open-connection-1): Is the login responds with a
341 new CAPABILITY, use it.
343 2011-03-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
345 * gnus-agent.el (gnus-agent-fetch-headers): Don't message if we're not
346 downloading anything.
348 * gnus.el (gnus-splash-svg-color-symbols): Removed superfluous `and'.
350 2011-03-29 Adam Sjøgren <asjo@koldfront.dk>
352 * gnus.el (gnus-group-startup-message): Prefer svg file and replace
354 (gnus-splash-svg-color-symbols): New function.
356 2011-03-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
358 * gnus-sum.el (gnus-simplify-buffer-fuzzy): Take the regexp explicitly
359 instead of using the global gnus-simplify-subject-fuzzy-regexp.
360 (gnus-simplify-subject-fuzzy): Use the local
361 gnus-simplify-subject-fuzzy-regex instead of the global one. This
362 makes using this variable in group parameters work.
364 2011-03-29 Teodor Zlatanov <tzz@lifelogs.com>
366 * gnus-registry.el (gnus-registry-unfollowed-groups): Add
367 "archive:sent" to the unfollowed group regex (for the recent Gnus
368 archive:sent-YYYY-MM-DD groups).
369 (gnus-registry-split-fancy-with-parent): Bail out early in sender
370 tracking if there are more than `gnus-registry-max-track-groups'
373 2011-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
375 * message.el (message--yank-original-internal): New function to do the
376 insertion cleanly inside eval in `message-yank-original'.
377 (message-yank-original): Use it.
379 2011-03-29 Julien Danjou <julien@danjou.info>
381 * mm-view.el (mm-display-inline-fontify): Use `set-normal-mode' with
382 local variables disabled rather than `normal-mode'.
384 2011-03-28 Brian T. Sniffen <bsniffen@akamai.com> (tiny change)
386 * imap.el (imap-shell-open, imap-process-connection-type): Use
387 imap-process-connection-type for 'shell' streams as well as
388 Kerberos, SSL, other subprocesses.
390 2011-03-26 Chong Yidong <cyd@stupidchicken.com>
392 * proto-stream.el: Changes preparatory to merging open-protocol-stream
393 with open-network-stream.
394 (proto-stream-always-use-starttls): Option removed.
395 (open-protocol-stream): Return a process object by default. Provide a
396 new parameter :return-list specifying a list-type return value, which
397 now has the form (PROP . PLIST) instead of a fixed-length list. Change
398 :type `network' to `try-starttls', and `network-only' to `default'.
399 Make `default' the default, for compatibility with open-network-stream.
400 Handle the no-parameter case exactly as open-network-stream, with no
401 additional stream processing. Search plists using plist-get.
402 Explicitly add :end-of-commend parameter if it is missing.
403 (proto-stream-open-default): Renamed from
404 proto-stream-open-network-only. Return 'default as the type.
405 (proto-stream-open-starttls): Rename from proto-stream-open-network.
406 Use plist-get. Don't return `tls' as the type if STARTTLS negotiation
407 failed. Always return a list with a (possibly dead) process as the
408 first element, for compatibility with open-network-stream.
409 (proto-stream-open-tls): Use plist-get. Always return a list.
410 (proto-stream-open-shell): Return `default' as connection type.
411 (proto-stream-capability-open): Use plist-get.
412 (proto-stream-eoc): Function deleted.
414 * nnimap.el (nnimap-stream, nnimap-open-connection)
415 (nnimap-open-connection-1): Handle renaming of :type parameter for
416 open-protocol-stream.
417 (nnimap-open-connection-1): Pass a :return-list parameter
418 open-protocol-stream to obtain a list return value. Parse this list
421 * nntp.el (nntp-open-connection): Handle renaming of :type parameter
422 for open-protocol-stream. Accept open-protocol-stream return value
423 that is a subprocess object instead of a list. Handle the case of a
424 dead returned process.
426 2011-03-25 Teodor Zlatanov <tzz@lifelogs.com>
428 * mm-util.el (mm-handle-filename): Move to mm-decode.el (bug#8330).
430 * mm-decode.el (mm-handle-filename): Move from mm-util.el (bug#8330).
432 2011-03-21 Julien Danjou <julien@danjou.info>
434 * mm-view.el (mm-display-inline-fontify): Make mode optional, and call
435 normal-mode if not set. Set temp buffer unmodified to avoid kill-buffer
437 (mm-inline-text): Render normal text with fontification whenever
440 * gnus-sum.el (gnus-summary-save-parts-1):
441 * gnus-art.el (gnus-article-browse-html-save-cid-content)
442 (gnus-article-browse-html-parts, gnus-mime-delete-part)
443 (gnus-mime-copy-part, gnus-mime-inline-part, gnus-insert-mime-button):
444 Use `mm-handle-filename'.
446 * mm-util.el (mm-handle-filename): New function, return the filename of
449 2011-03-18 Julien Danjou <julien@danjou.info>
451 * gnus-util.el (gnus-buffer-live-p): Simplify gnus-buffer-live-p.
452 (gnus-buffer-live-p): Check that buffer is not nil.
454 2011-03-17 Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
456 * gnus.el: No Gnus v0.15 is released.
458 2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
460 * time-date.el (format-seconds): Use assoc instead of assoc-string to
461 avoid warning on XEmacs.
463 * dgnushack.el: Bind help-echo-owns-message to avoid a compiler warning
466 * gnus-art.el: Require mouse, which the build bot seems to say is
469 * dgnushack.el: Define url-retrieve-synchronously unless not defined.
471 * gravatar.el (gravatar-retrieve-synchronously): Use `url-retrieve' on
472 XEmacs, since it doesn't have url-retrieve-synchronously.
474 * time-date.el (format-seconds): Use assoc instead of assoc-string,
475 since assoc-string doesn't exist in XEmacs.
477 2011-03-17 Antoine Levitt <antoine.levitt@gmail.com>
479 * gnus-group.el (gnus-group-list-ticked): New function.
480 (gnus-group-make-menu-bar): Provide a menu entry for it.
481 (gnus-group-list-map): Provide a binding for it.
483 2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
485 * shr.el (shr-visit-file): New command.
487 * nnimap.el (nnimap-fetch-inbox): Rewrite slightly last patch.
489 2011-03-17 Bjørn Mork <bjorn@mork.no>
491 * nnimap.el (nnimap-fetch-inbox): Don't download bodies on ver4-capable
494 2011-03-16 Julien Danjou <julien@danjou.info>
496 * mm-uu.el (mm-uu-dissect-text-parts): Only dissect handle that are
499 * gnus-art.el (article-hide-list-identifiers): Use
500 gnus-group-get-list-identifiers.
502 * gnus-sum.el (gnus-group-get-list-identifiers): New function.
503 (gnus-summary-remove-list-identifiers): Use
504 gnus-group-get-list-identifiers to get regexp.
505 (gnus-select-newsgroup, gnus-summary-insert-subject)
506 (gnus-summary-insert-articles): Call
507 gnus-summary-remove-list-identifiers unconditionally.
509 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
511 * gnus-sum.el (gnus-articles-to-read): Revert back to old behaviour if
512 we're selecting a group with unread articles.
514 * nnimap.el (nnimap-open-connection-1): Allow `network-only', too.
516 * gssapi.el: New file separated out from imap.el to provide a general
517 Kerberos 5 connection facility for Emacs.
519 * message.el (message-elide-ellipsis): Document the format spec
522 2011-03-15 Reiner Steib <Reiner.Steib@gmx.de>
524 * message.el (message-elide-region): Allow the ellipsis to say how many
527 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
529 * gnus-win.el (gnus-configure-frame): Protect against trying to restore
530 window configurations containing buffers that are now dead.
532 * nnimap.el (nnimap-parse-flags): Remove all MODSEQ entries before
533 parsing to avoid integer overflows.
534 (nnimap-parse-flags): Simplify the last change.
535 (nnimap-parse-flags): Store HIGHESTMODSEQ as a string, since it may be
536 too large for 32-bit Emacsen.
538 2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
540 * auth-source.el (auth-source-netrc-create):
541 * message.el (message-yank-original): Fix use of `case'.
543 2011-03-15 Nelson Ferreira <nelson.ferreira@ieee.org> (tiny change)
545 * gnus-art.el (gnus-article-treat-body-boundary): Fix boundary width on
546 XEmacs, which was one character too wide.
548 2011-03-09 Antoine Levitt <antoine.levitt@gmail.com>
550 * gnus-sum.el (gnus-articles-to-read): Use gnus-large-newsgroup as
551 default number of articles to display.
552 (gnus-articles-to-read): Use pretty names for prompt.
554 2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
556 * gnus-int.el (gnus-open-server): Ditto.
558 * gnus-start.el (gnus-activate-group): Give a backtrace if
559 debug-on-quit is set and the user hits `C-g'.
560 (gnus-read-active-file): Ditto.
562 * gnus-group.el (gnus-group-read-ephemeral-group): Ditto.
564 2011-03-15 Teodor Zlatanov <tzz@lifelogs.com>