;;; gnus-group.el --- group mode commands for Gnus
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
(autoload 'gnus-group-make-nnir-group "nnir")
-(defcustom gnus-no-groups-message "No Gnus is good news"
+(defcustom gnus-no-groups-message "No news is good news"
"*Message displayed by Gnus when no groups are available."
:group 'gnus-start
:type 'string)
gnus-group-news-low))
"*Controls the highlighting of group buffer lines.
-Below is a list of `Form'/`Face' pairs. When deciding how a a
+Below is a list of `Form'/`Face' pairs. When deciding how a
particular group line should be displayed, each form is
evaluated. The content of the face field after the first true form is
used. You can change how those group lines are displayed by
"M" gnus-group-list-limit
"l" gnus-group-list-limit
"c" gnus-group-list-limit
- "?" gnus-group-list-limit)
+ "?" gnus-group-list-limit
+ "!" gnus-group-list-limit)
(gnus-define-keys (gnus-group-list-flush-map "f" gnus-group-list-map)
"k" gnus-group-list-flush
"M" gnus-group-list-flush
"l" gnus-group-list-flush
"c" gnus-group-list-flush
- "?" gnus-group-list-flush)
+ "?" gnus-group-list-flush
+ "!" gnus-group-list-flush)
(gnus-define-keys (gnus-group-list-plus-map "p" gnus-group-list-map)
"k" gnus-group-list-plus
"M" gnus-group-list-plus
"l" gnus-group-list-plus
"c" gnus-group-list-plus
- "?" gnus-group-list-plus)
+ "?" gnus-group-list-plus
+ "!" gnus-group-list-plus)
(gnus-define-keys (gnus-group-score-map "W" gnus-group-mode-map)
"f" gnus-score-flush-cache
'gnus-group-tool-bar-retro)
"Specifies the Gnus group tool bar.
-It can be either a list or a symbol refering to a list. See
+It can be either a list or a symbol referring to a list. See
`gmm-tool-bar-from-list' for the format of the list. The
default key map is `gnus-group-mode-map'.
(predicate t) ; We list all groups?
(t
(or
- (if (eq unread t) ; Unactivated?
+ (if (eq unread t) ; Inactive?
gnus-group-list-inactive-groups
- ; We list unactivated
+ ; We list inactive
(and (numberp unread) (> unread 0)))
; We list groups with unread articles
(and gnus-list-groups-with-ticked-articles
(cdr (assq 'tick (gnus-info-marks info))))
- ; And groups with tickeds
+ ; And groups with ticked articles
;; Check for permanent visibility.
(and gnus-permanently-visible-groups
(string-match gnus-permanently-visible-groups
number)
"Read GROUP from METHOD as an ephemeral group.
If ACTIVATE, request the group first.
-If QUIT-CONFIG, use that window configuration when exiting from the
-ephemeral group.
+If QUIT-CONFIG, use that Gnus window configuration name when
+exiting from the ephemeral group.
If REQUEST-ONLY, don't actually read the group; just request it.
If SELECT-ARTICLES, only select those articles.
If PARAMETERS, use those as the group parameters.
(gnus-no-server))
(when (stringp method)
(setq method (gnus-server-to-method method)))
- (setq method
- `(,(car method) ,(concat (cadr method) "-ephemeral")
- (,(intern (format "%s-address" (car method))) ,(cadr method))
- ,@(cddr method)))
+ (let ((address-slot
+ (intern (format "%s-address" (car method)))))
+ (setq method
+ (if (assq address-slot (cddr method))
+ `(,(car method) ,(concat (cadr method) "-ephemeral")
+ ,@(cddr method))
+ `(,(car method) ,(concat (cadr method) "-ephemeral")
+ (,address-slot ,(cadr method))
+ ,@(cddr method)))))
(let ((group (if (gnus-group-foreign-p group) group
(gnus-group-prefixed-name (gnus-group-real-name group)
method))))
(gnus-read-ephemeral-gmane-group group start range)))
(defcustom gnus-bug-group-download-format-alist
- '((emacs . "http://debbugs.gnu.org/%s;mboxstat=yes")
+ '((emacs . "http://debbugs.gnu.org/%s;mboxmaint=yes;mboxstat=yes")
(debian
. "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s&mbox=yes;mboxmaint=yes"))
"Alist of symbols for bug trackers and the corresponding URL format string.
(gnus-activate-foreign-newsgroups level))
(gnus-group-get-new-news)))
-(defun gnus-group-get-new-news (&optional arg)
+(defun gnus-group-get-new-news (&optional arg one-level)
"Get newly arrived articles.
If ARG is a number, it specifies which levels you are interested in
re-scanning. If ARG is non-nil and not a number, this will force
-\"hard\" re-reading of the active files from all servers."
+\"hard\" re-reading of the active files from all servers.
+If ONE-LEVEL is not nil, then re-scan only the specified level,
+otherwise all levels below ARG will be scanned too."
(interactive "P")
(require 'nnmail)
(let ((gnus-inhibit-demon t)
(unless gnus-slave
(gnus-master-read-slave-newsrc))
- (gnus-get-unread-articles arg)
+ (gnus-get-unread-articles arg nil one-level)
;; If the user wants it, we scan for new groups.
(when (eq gnus-check-new-newsgroups 'always)
(gnus-agent-save-group-info
method (gnus-group-real-name group) active))
(gnus-group-update-group group nil t))
- (if (eq (gnus-server-status (gnus-find-method-for-group group))
- 'denied)
- (gnus-error 3 "Server previously determined to be down; not retrying")
- (gnus-error 3 "%s error: %s" group (gnus-status-message group)))))
+ (gnus-error 3 "%s error: %s" group (gnus-status-message group))))
(when beg
(goto-char beg))
(when gnus-goto-next-group-when-activating
(gnus-group-list-plus args)))
(defun gnus-group-list-limit (&optional args)
- "List groups limited within the current selection."
+ "List groups limited within the current selection.
+If you've limited the groups, you can further limit the selection
+with this command. If you've first limited to groups with
+dormant articles with `A ?', you can then further limit with
+`A / c', which will then limit to groups with cached articles, giving
+you the groups that have both dormant articles and cached articles."
(interactive "P")
(let ((gnus-group-list-option 'limit))
(gnus-group-list-plus args)))