Commit 6b958814 authored by Gnus developers's avatar Gnus developers Committed by Katsumi Yamaoka

nnimap.el (nnimap-request-accept-article): Get the Message-ID without the \r.

nnimap.el (nnimap-find-article-by-message-id): Use EXAMINE instead of SELECT to get the message-id.
gnus-art.el, gnus.el, nnimap.el: Fix up make-obsolete-variable declarations throughout.
gnus.texi (Mail Source Specifiers): Remove webmail.el mentions.
mail-source.el: Removed webmail support.
nntp.el (nntp-server-list-active-group): Document.
gnus.texi (NNTP): Document nntp-server-list-active-group.
gnus.texi (Customizing the IMAP Connection): Remove extra quote.
nnimap.el (nnimap-find-article-by-message-id): Really return the article number.
nnimap.el: Add nnimap-split-fancy.
netrc.el (netrc-credentials, netrc-machine): Return the value of the "default" entry.
nnimap.el: Use tls.el exclusively, and not starttls.el at all.
nnimap.el (nnimap-wait-for-connection): Accept the moronic openssl s_client -starttls output, too.
nnrss.el (nnrss-use-local): Add documentation.
message.el (message-ignored-supersedes-headers): Strip Injection-* headers before superseding.
nnimap.el (nnimap-open-connection): Reinstate the auto-upgrade from unencrypted to STARTTLS, if possible.
nnir.el: Use the server names without suffixes.
gnus-sum.el (gnus-summary-show-thread): Skip past invisible text when expanding threads.
gnus-registry.el: Don't follow nnmairix references.  Install the nnregistry refer method.
gnus.texi (Spam Package Configuration Examples, SpamOracle): Remove nnimap-split-rule from examples.
parent 55e572ef
2010-09-30 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (Spam Package Configuration Examples, SpamOracle): Remove
nnimap-split-rule from examples.
2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Mail Source Specifiers): Remove webmail.el mentions.
(NNTP): Document nntp-server-list-active-group. Suggested by Barry
Fishman.
(Client-Side IMAP Splitting): Add nnimap-split-fancy.
2010-09-30 Julien Danjou <julien@danjou.info>
* gnus.texi (Gravatars): Fix documentation about
gnu-gravatar-properties.
2010-09-29 Daiki Ueno <ueno@unixuser.org>
* epa.texi (Bug Reports): New section.
......@@ -6,6 +23,16 @@
* Makefile.in (top_srcdir): Remove unused variable.
2010-09-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Using IMAP): Remove the @acronyms from the headings.
(Client-Side IMAP Splitting): Document 'default.
2010-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Customizing the IMAP Connection): Document
nnimap-fetch-partial-articles.
2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-news.texi: Mention nnimap-inbox.
......
......@@ -14394,6 +14394,12 @@ inhibit Gnus to add a @code{Message-ID} header, you could say:
Note that not all servers support the recommended ID. This works for
INN versions 2.3.0 and later, for instance.
@item nntp-server-list-active-group
If @code{nil}, then always use @samp{GROUP} instead of @samp{LIST
ACTIVE}. This is usually slower, but on misconfigured servers that
don't update their active files often, this can help.
@end table
@menu
......@@ -14836,7 +14842,7 @@ Here's an example method that's more complex:
(nnimap-inbox "INBOX")
(nnimap-split-methods default)
(nnimap-expunge t)
(nnimap-stream 'ssl)
(nnimap-stream ssl)
(nnir-search-engine imap)
(nnimap-expunge-inbox t))
@end example
......@@ -14906,6 +14912,9 @@ Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting
Mail}), except the symbol @code{default}, which means that it should
use the value of the @code{nnmail-split-methods} variable.
@item nnimap-split-fancy
Uses the same syntax as @code{nnmail-split-fancy}.
@end table
......@@ -15559,45 +15568,6 @@ An example @acronym{IMAP} mail source:
:fetchflag "\\Seen")
@end lisp
@item webmail
Get mail from a webmail server, such as @uref{http://www.hotmail.com/},
@uref{http://webmail.netscape.com/}, @uref{http://www.netaddress.com/},
@uref{http://mail.yahoo.com/}.
NOTE: Webmail largely depends on cookies. A "one-line-cookie" patch is
required for url "4.0pre.46".
WARNING: Mails may be lost. NO WARRANTY.
Keywords:
@table @code
@item :subtype
The type of the webmail server. The default is @code{hotmail}. The
alternatives are @code{netscape}, @code{netaddress}, @code{my-deja}.
@item :user
The user name to give to the webmail server. The default is the login
name.
@item :password
The password to give to the webmail server. If not specified, the user is
prompted.
@item :dontexpunge
If non-@code{nil}, only fetch unread articles and don't move them to
trash folder after finishing the fetch.
@end table
An example webmail source:
@lisp
(webmail :subtype 'hotmail
:user "user-name"
:password "secret")
@end lisp
@item group
Get the actual mail source from the @code{mail-source} group parameter,
@xref{Group Parameters}.
......@@ -24196,8 +24166,8 @@ From Ted Zlatanov <tzz@@lifelogs.com>.
spam-move-spam-nonspam-groups-only nil
spam-mark-only-unseen-as-spam t
spam-mark-ham-unread-before-move-from-spam-group t
nnimap-split-rule 'nnimap-split-fancy
;; @r{understand what this does before you copy it to your own setup!}
;; @r{for nnimap you'll probably want to set nnimap-split-methods, see the manual}
nnimap-split-fancy '(|
;; @r{trace references to parents and put in their group}
(: gnus-registry-split-fancy-with-parent)
......@@ -24919,8 +24889,8 @@ messages stay in @samp{INBOX}:
@example
(setq spam-use-spamoracle t
spam-split-group "Junk"
;; @r{for nnimap you'll probably want to set nnimap-split-methods, see the manual}
nnimap-split-inbox '("INBOX")
nnimap-split-rule 'nnimap-split-fancy
nnimap-split-fancy '(| (: spam-split) "INBOX"))
@end example
......@@ -26239,7 +26209,7 @@ wrong show.
Masanobu @sc{Umeda}---the writer of the original @sc{gnus}.
@item
Shenghuo Zhu---uudecode.el, mm-uu.el, rfc1843.el, webmail.el,
Shenghuo Zhu---uudecode.el, mm-uu.el, rfc1843.el,
nnwarchive and many, many other things connected with @acronym{MIME} and
other types of en/decoding, as well as general bug fixing, new
functionality and stuff.
2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
* tls.el (tls-starttls-switches): New variable.
(tls-find-starttls-argument): Use it.
(open-tls-stream): Ditto.
1 * netrc.el (netrc-credentials): Return the value of the "default"
entry.
(netrc-machine): Ditto.
2010-09-30 Eli Zaretskii <eliz@gnu.org>
* vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
......
2010-09-30 Teodor Zlatanov <tzz@lifelogs.com>
* gnus-registry.el (gnus-registry-install-nnregistry): New function to
install the nnregistry refer method.
(gnus-registry-install-hooks): Use it.
(gnus-registry-unfollowed-groups): Add nnmairix to the default
unfollowed groups.
2010-09-30 Jose A. Ortega Ruiz <jao@gnu.org> (tiny change)
* gnus-sum.el (gnus-summary-show-thread): Skip past invisible text when
expanding threads.
2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnir.el: Use the server names without suffixes (bug #7009).
* nnimap.el (nnimap-open-connection): Reinstate the auto-upgrade from
unencrypted to STARTTLS, if possible.
2010-09-30 Teemu Likonen <tlikonen@iki.fi> (tiny change)
* message.el (message-ignored-supersedes-headers): Strip Injection-*
headers before superseding.
2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnrss.el (nnrss-use-local): Add documentation.
* nnimap.el (nnimap-extend-tls-programs): New function.
(nnimap-open-connection): Use tls.el exclusively, and not starttls.el.
(nnimap-wait-for-connection): Accept the greeting from the stupid
output from openssl s_client -starttls, too.
* nnimap.el (nnimap-find-article-by-message-id): Really return the
article number.
(nnimap-split-fancy): New variable.
(nnimap-split-incoming-mail): Use it.
* nntp.el (nntp-server-list-active-group): Document.
* nnimap.el (nnimap-find-article-by-message-id): Use EXAMINE instead of
SELECT to get the message-id.
* mail-source.el (mail-sources): Removed webmail support.
(defvar): Ditto.
(mail-source-fetcher-alist): Ditto.
(mail-source-fetch-webmail): Removed.
* webmail.el: Removed -- doesn't seem relevant any more.
* gnus.el: Fix up make-obsolete-variable declarations throughout.
* nnimap.el (nnimap-request-accept-article): Get the Message-ID without
the \r.
2010-09-30 Julien Danjou <julien@danjou.info>
* gnus-agent.el (gnus-agent-add-group): Fix call to
......@@ -44,11 +100,13 @@
(nnimap-request-accept-article): Add \r\n to the lines to make this
work with Cyrus.
* nnregistry.el: Added.
* nndraft.el (nndraft-request-expire-articles): Use the group name
instead if "nndraft". Fix found by Nils Ackermann.
2010-09-29 Ludovic Courtes <ludo@gnu.org>
* nnregistry.el: Added.
2010-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
* nnmail.el (group, group-art-list, group-art):
......
......@@ -725,7 +725,7 @@ Each element is a regular expression."
:group 'gnus-article-various)
(make-obsolete-variable 'gnus-article-hide-pgp-hook nil
"Gnus 5.10 (Emacs-22.1)")
"Gnus 5.10 (Emacs 22.1)")
(defface gnus-button
'((t (:weight bold)))
......@@ -1412,7 +1412,7 @@ predicate. See Info node `(gnus)Customizing Articles'."
:type gnus-article-treat-custom)
(make-obsolete-variable 'gnus-treat-display-xface
'gnus-treat-display-x-face "22.1")
'gnus-treat-display-x-face "Emacs 22.1")
(defcustom gnus-treat-display-x-face
(and (not noninteractive)
......
......@@ -122,12 +122,14 @@ display."
:type 'symbol)
(defcustom gnus-registry-unfollowed-groups
'("delayed$" "drafts$" "queue$" "INBOX$")
'("delayed$" "drafts$" "queue$" "INBOX$" "^nnmairix:")
"List of groups that gnus-registry-split-fancy-with-parent won't return.
The group names are matched, they don't have to be fully
qualified. This parameter tells the Registry 'never split a
message into a group that matches one of these, regardless of
references.'"
references.'
nnmairix groups are specifically excluded because they are ephemeral."
:group 'gnus-registry
:type '(repeat regexp))
......@@ -1127,6 +1129,7 @@ Returns the first place where the trail finds a group name."
(setq gnus-registry-install t) ; in case it was 'ask or nil
(gnus-registry-install-hooks)
(gnus-registry-install-shortcuts)
(gnus-registry-install-nnregistry)
(gnus-registry-read))
;;;###autoload
......@@ -1143,6 +1146,19 @@ Returns the first place where the trail finds a group name."
(add-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids))
;;;###autoload
(defun gnus-registry-install-nnregistry ()
"Install the nnregistry refer method in `gnus-refer-article-method'."
(interactive)
(when (featurep 'nnregistry)
(setq gnus-refer-article-method
(delete-dups
(append
(if (listp gnus-refer-article-method)
gnus-refer-article-method
(list gnus-refer-article-method))
(list 'nnregistry))))))
(defun gnus-registry-unload-hook ()
"Uninstall the registry hooks."
(interactive)
......
......@@ -11327,15 +11327,19 @@ For compatibility with XEmacs."
(gnus-remove-overlays (point-min) (point-max) 'invisible 'gnus-sum)
(gnus-summary-position-point))
(defsubst gnus-summary--inv (p)
(and (eq (get-char-property p 'invisible) 'gnus-sum) p))
(defun gnus-summary-show-thread ()
"Show thread subtrees.
Returns nil if no thread was there to be shown."
(interactive)
(let* ((orig (point))
(end (point-at-eol))
(end (or (gnus-summary--inv end) (gnus-summary--inv (1- end))))
;; Leave point at bol
(beg (progn (beginning-of-line) (if (bobp) (point) (1- (point)))))
(eoi (when (eq (get-char-property end 'invisible) 'gnus-sum)
(eoi (when end
(if (fboundp 'next-single-char-property-change)
(or (next-single-char-property-change end 'invisible)
(point-max))
......
......@@ -1427,7 +1427,7 @@ no need to set this variable."
:group 'gnus-message
:type '(choice (const :tag "default" nil)
string))
(make-obsolete-variable 'gnus-local-domain nil "24.1")
(make-obsolete-variable 'gnus-local-domain nil "Emacs 24.1")
(defvar gnus-local-organization nil
"String with a description of what organization (if any) the user belongs to.
......
......@@ -217,34 +217,6 @@ See Info node `(gnus)Mail Source Specifiers'."
(const :format ""
:value :dontexpunge)
(boolean :tag "Dontexpunge"))
(group :inline t
(const :format "" :value :plugged)
(boolean :tag "Plugged"))))
(cons :tag "Webmail server"
(const :format "" webmail)
(checklist :tag "Options" :greedy t
(group :inline t
(const :format "" :value :subtype)
;; Should be generated from
;; `webmail-type-definition', but we
;; can't require webmail without W3.
(choice :tag "Subtype"
:value hotmail
(const hotmail)
(const yahoo)
(const netaddress)
(const netscape)
(const my-deja)))
(group :inline t
(const :format "" :value :user)
(string :tag "User"))
(group :inline t
(const :format "" :value :password)
(string :tag "Password"))
(group :inline t
(const :format ""
:value :dontexpunge)
(boolean :tag "Dontexpunge"))
(group :inline t
(const :format "" :value :plugged)
(boolean :tag "Plugged"))))))))
......@@ -387,13 +359,7 @@ Common keywords should be listed here.")
(:prescript)
(:prescript-delay)
(:postscript)
(:dontexpunge))
(webmail
(:subtype hotmail)
(:user (or (user-login-name) (getenv "LOGNAME") (getenv "USER")))
(:password)
(:dontexpunge)
(:authentication password)))
(:dontexpunge)))
"Mapping from keywords to default values.
All keywords that can be used must be listed here."))
......@@ -402,8 +368,7 @@ All keywords that can be used must be listed here."))
(directory mail-source-fetch-directory)
(pop mail-source-fetch-pop)
(maildir mail-source-fetch-maildir)
(imap mail-source-fetch-imap)
(webmail mail-source-fetch-webmail))
(imap mail-source-fetch-imap))
"A mapping from source type to fetcher function.")
(defvar mail-source-password-cache nil)
......@@ -1138,30 +1103,6 @@ This only works when `display-time' is enabled."
?s server ?P port ?u user))
found)))
(autoload 'webmail-fetch "webmail")
(defun mail-source-fetch-webmail (source callback)
"Fetch for webmail source."
(mail-source-bind (webmail source)
(let ((mail-source-string (format "webmail:%s:%s" subtype user))
(webmail-newmail-only dontexpunge)
(webmail-move-to-trash-can (not dontexpunge)))
(when (eq authentication 'password)
(setq password
(or password
(cdr (assoc (format "webmail:%s:%s" subtype user)
mail-source-password-cache))
(read-passwd
(format "Password for %s at %s: " user subtype))))
(when (and password
(not (assoc (format "webmail:%s:%s" subtype user)
mail-source-password-cache)))
(push (cons (format "webmail:%s:%s" subtype user) password)
mail-source-password-cache)))
(webmail-fetch mail-source-crash-box subtype user password)
(mail-source-callback callback (symbol-name subtype))
(mail-source-delete-crash-box))))
(provide 'mail-source)
;;; mail-source.el ends here
......@@ -283,7 +283,7 @@ This is a list of regexps and regexp matches."
:link '(custom-manual "(message)Mail Headers")
:type 'regexp)
(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-ID:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|^X-Payment:\\|^Approved:"
(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-ID:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|^X-Payment:\\|^Approved:\\|^Injection-Date:\\|^Injection-Info:"
"*Header lines matching this regexp will be deleted before posting.
It's best to delete old Path and Date headers before posting to avoid
any confusion."
......
......@@ -38,6 +38,7 @@
(require 'nnoo)
(require 'netrc)
(require 'utf7)
(require 'tls)
(require 'parse-time)
(autoload 'auth-source-forget-user-or-password "auth-source")
......@@ -70,8 +71,11 @@ Values are `ssl', `network', `starttls' or `shell'.")
"How mail is split.
Uses the same syntax as nnmail-split-methods")
(defvoo nnimap-split-fancy nil
"Uses the same syntax as nnmail-split-fancy.")
(make-obsolete-variable 'nnimap-split-rule "see `nnimap-split-methods'"
"Gnus 5.13")
"Emacs 24.1")
(defvoo nnimap-authenticator nil
"How nnimap authenticate itself to the server.
......@@ -306,9 +310,11 @@ textual parts.")
(setq port (or nnimap-server-port "imap")))
'("imap"))
((eq nnimap-stream 'starttls)
(starttls-open-stream
"*nnimap*" (current-buffer) nnimap-address
(setq port (or nnimap-server-port "imap")))
(let ((tls-program (nnimap-extend-tls-programs)))
(open-tls-stream
"*nnimap*" (current-buffer) nnimap-address
(setq port (or nnimap-server-port "imap"))
'starttls))
'("imap"))
((eq nnimap-stream 'ssl)
(open-tls-stream
......@@ -342,11 +348,23 @@ textual parts.")
#'upcase
(nnimap-find-parameter
"CAPABILITY" (cdr (nnimap-command "CAPABILITY")))))
(when (eq nnimap-stream 'starttls)
(nnimap-command "STARTTLS")
(starttls-negotiate (nnimap-process nnimap-object)))
(when nnimap-server-port
(push (format "%s" nnimap-server-port) ports))
;; If this is a STARTTLS-capable server, then sever the
;; connection and start a STARTTLS connection instead.
(when (and (eq nnimap-stream 'network)
(member "STARTTLS" (nnimap-capabilities nnimap-object)))
(let ((nnimap-stream 'starttls))
(let ((tls-process
(nnimap-open-connection buffer)))
;; If the STARTTLS connection was successful, we
;; kill our first non-encrypted connection. If it
;; wasn't successful, we just use our unencrypted
;; connection.
(when (memq (process-status tls-process) '(open run))
(delete-process (nnimap-process nnimap-object))
(kill-buffer (current-buffer))
(return tls-process)))))
(unless (equal connection-result "PREAUTH")
(if (not (setq credentials
(if (eq nnimap-authenticator 'anonymous)
......@@ -378,7 +396,16 @@ textual parts.")
(when nnimap-object
(when (member "QRESYNC" (nnimap-capabilities nnimap-object))
(nnimap-command "ENABLE QRESYNC"))
t)))))))
(nnimap-process nnimap-object))))))))
(defun nnimap-extend-tls-programs ()
(let ((programs tls-program)
result)
(unless (consp programs)
(setq programs (list programs)))
(dolist (program programs)
(push (concat program " " "%s") result))
(nreverse result)))
(defun nnimap-find-parameter (parameter elems)
(let (result)
......@@ -729,16 +756,20 @@ textual parts.")
(defun nnimap-find-article-by-message-id (group message-id)
(when (nnimap-possibly-change-group group nil)
(with-current-buffer (nnimap-buffer)
(let ((result
(nnimap-command "UID SEARCH HEADER Message-Id %S" message-id))
article)
(when (car result)
;; Select the last instance of the message in the group.
(and (setq article
(car (last (assoc "SEARCH" (cdr result)))))
(string-to-number article)))))))
(with-current-buffer (nnimap-buffer)
(erase-buffer)
(setf (nnimap-group nnimap-object) nil)
(nnimap-send-command "EXAMINE %S" (utf7-encode group t))
(let ((sequence
(nnimap-send-command "UID SEARCH HEADER Message-Id %S" message-id))
article result)
(setq result (nnimap-wait-for-response sequence))
(when (and result
(car (setq result (nnimap-parse-response))))
;; Select the last instance of the message in the group.
(and (setq article
(car (last (assoc "SEARCH" (cdr result)))))
(string-to-number article))))))
(defun nnimap-delete-article (articles)
(with-current-buffer (nnimap-buffer)
......@@ -796,10 +827,10 @@ textual parts.")
(deffoo nnimap-request-accept-article (group &optional server last)
(when (nnimap-possibly-change-group nil server)
(nnmail-check-syntax)
(nnimap-add-cr)
(let ((message (buffer-string))
(message-id (message-field-value "message-id"))
sequence)
(let ((message-id (message-field-value "message-id"))
sequence message)
(nnimap-add-cr)
(setq message (buffer-string))
(with-current-buffer (nnimap-buffer)
(setq sequence (nnimap-send-command
"APPEND %S {%d}" (utf7-encode group t)
......@@ -1183,11 +1214,11 @@ textual parts.")
(goto-char (point-min))
(while (and (memq (process-status process)
'(open run))
(not (re-search-forward "^\\* .*\n" nil t)))
(not (re-search-forward "^[*.] .*\n" nil t)))
(nnheader-accept-process-output process)
(goto-char (point-min)))
(forward-line -1)
(and (looking-at "\\* \\([A-Z0-9]+\\)")
(and (looking-at "[*.] \\([A-Z0-9]+\\)")
(match-string 1))))
(defun nnimap-wait-for-response (sequence &optional messagep)
......@@ -1299,6 +1330,8 @@ textual parts.")
(nnmail-split-methods (if (eq nnimap-split-methods 'default)
nnmail-split-methods
nnimap-split-methods))
(nnmail-split-fancy (or nnimap-split-fancy
nnmail-split-fancy))
(nnmail-inhibit-default-split-group t)
(groups (nnimap-get-groups))
new-articles)
......
......@@ -881,7 +881,9 @@ ready to be added to the list of search results."
(when (file-readable-p (concat prefix dirnam article))
;; remove trailing slash and, for nnmaildir, cur/new/tmp
(setq dirnam
(substring dirnam 0 (if (string= server "nnmaildir:") -5 -1)))
(substring dirnam 0
(if (string= (gnus-group-server server) "nnmaildir")
-5 -1)))
;; Set group to dirnam without any leading dots or slashes,
;; and with all subsequent slashes replaced by dots
......@@ -890,7 +892,7 @@ ready to be added to the list of search results."
"[/\\]" "." t)))
(vector (nnir-group-full-name group server)
(if (string= server "nnmaildir:")
(if (string= (gnus-group-server server) "nnmaildir")
(nnmaildir-base-name-to-article-number
(substring article 0 (string-match ":" article))
group nil)
......@@ -1200,7 +1202,7 @@ Windows NT 4.0."
;; is sufficient. Note that we can't only use the value of
;; nnml-use-compressed-files because old articles might have been
;; saved with a different value.
(article-pattern (if (string= server "nnmaildir:")
(article-pattern (if (string= (gnus-group-server server) "nnmaildir")
":[0-9]+"
"^[0-9]+\\(\\.[a-z0-9]+\\)?$"))
score artno dirnam filenam)
......@@ -1450,7 +1452,7 @@ Tested with Namazu 2.0.6 on a GNU/Linux system."
(when group
(error "The Namazu backend cannot search specific groups"))
(save-excursion
(let ((article-pattern (if (string= server "nnmaildir:")
(let ((article-pattern (if (string= (gnus-group-server server) "nnmaildir")
":[0-9]+"
"^[0-9]+$"))
artlist
......
......@@ -77,7 +77,8 @@ this variable to the list of fields to be ignored.")
(defvar nnrss-group-alist '()
"List of RSS addresses.")
(defvar nnrss-use-local nil)
(defvar nnrss-use-local nil
"If non-nil nnrss will read the feeds from local files in nnrss-directory.")
(defvar nnrss-description-field 'X-Gnus-Description
"Field name used for DESCRIPTION.
......
......@@ -267,6 +267,11 @@ NOTE: This variable is never seen to work in Emacs 20 and XEmacs 21.")
"*Hook run just before posting an article. It is supposed to be used
to insert Cancel-Lock headers.")
(defvoo nntp-server-list-active-group 'try
"If nil, then always use GROUP instead of LIST ACTIVE.
This is usually slower, but on misconfigured servers that don't
update their active files often, this can help.")
;;; Internal variables.
(defvar nntp-record-commands nil
......@@ -296,7 +301,6 @@ to insert Cancel-Lock headers.")
(defvoo nntp-inhibit-output nil)