annotate lisp/gnus/nnregistry.el @ 110804:30fed27e97bc

Merge changes made in Gnus trunk. nnimap.el (nnimap-request-rename-group): Add this method. shr.el: Keep track of the natural width of TD elements, so we know which ones to expand. shr.el: Expand TD elements to fill available space.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 07 Oct 2010 11:46:01 +0000
parents 295298da2c13
children 7aa4fdb60d57
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
110699
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
1 ;;; nnregistry.el --- access to articles via Gnus' message-id registry
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
2 ;;; -*- coding: utf-8 -*-
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
3
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
4 ;; Copyright (C) 2010 Free Software Foundation, Inc.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
5
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
6 ;; Authors: Ludovic Courtès <ludo@gnu.org>
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
7 ;; Keywords: news, mail
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
8
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
10
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
13 ;; the Free Software Foundation, either version 3 of the License, or
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
14 ;; (at your option) any later version.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
15
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
20
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
23
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
24 ;;; Commentary:
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
25
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
26 ;; This file provides the `nnregistry' Gnus back-end. It can be used
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
27 ;; in `gnus-refer-article-method' to quickly search for a message by
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
28 ;; id, regardless of the back-end that stores it.
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
29
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
30 ;;; Code:
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
31
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
32 (require 'nnoo)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
33 (require 'gnus-registry)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
34 (require 'gnus-int)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
35
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
36 (nnoo-declare nnregistry)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
37
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
38 (deffoo nnregistry-server-opened (server)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
39 (eq gnus-registry-install t))
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
40
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
41 (deffoo nnregistry-close-server (server)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
42 t)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
43
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
44 (deffoo nnregistry-status-message (server)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
45 nil)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
46
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
47 (deffoo nnregistry-open-server (server &optional defs)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
48 (eq gnus-registry-install t))
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
49
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
50 (defvar nnregistry-within-nnregistry nil)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
51
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
52 (deffoo nnregistry-request-article (id &optional group server buffer)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
53 (and (not nnregistry-within-nnregistry)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
54 (let* ((nnregistry-within-nnregistry t)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
55 (group (gnus-registry-fetch-group id))
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
56 (gnus-override-method nil))
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
57 (message "nnregistry: requesting article `%s' in group `%s'"
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
58 id group)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
59 (and group
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
60 (gnus-check-group group)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
61 (gnus-request-article id group buffer)))))
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
62
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
63 (provide 'nnregistry)
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
64
295298da2c13 Add lisp/gnus/nnregistry.el.
Katsumi Yamaoka <yamaoka@jpl.org>
parents:
diff changeset
65 ;;; nnregistry.el ends here