X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-srvr.el;h=66509c939dc128bbbedb604bfb1c8a5676c373c8;hb=5beb390633ce1e32cdf319c6ba19926244bbfdf2;hp=b532b7404557d49553f90165d6b399de4dc5f4d9;hpb=fd0c9a6e0a8c84c843e5bc3ed1c19f8bc262a528;p=gnus diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index b532b7404..66509c939 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -1,7 +1,6 @@ ;;; gnus-srvr.el --- virtual server support for Gnus -;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 1995-2012 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -34,6 +33,8 @@ (require 'gnus-int) (require 'gnus-range) +(autoload 'gnus-group-make-nnir-group "nnir") + (defcustom gnus-server-mode-hook nil "Hook run in `gnus-server-mode' buffers." :group 'gnus-server @@ -113,6 +114,7 @@ If nil, a faster, but more primitive, buffer is used instead." ["Kill" gnus-server-kill-server t] ["Yank" gnus-server-yank-server t] ["Copy" gnus-server-copy-server t] + ["Show" gnus-server-show-server t] ["Edit" gnus-server-edit-server t] ["Regenerate" gnus-server-regenerate-server t] ["Compact" gnus-server-compact-server t] @@ -150,6 +152,7 @@ If nil, a faster, but more primitive, buffer is used instead." "c" gnus-server-copy-server "a" gnus-server-add-server "e" gnus-server-edit-server + "S" gnus-server-show-server "s" gnus-server-scan-server "O" gnus-server-open-server @@ -165,6 +168,8 @@ If nil, a faster, but more primitive, buffer is used instead." "g" gnus-server-regenerate-server + "G" gnus-group-make-nnir-group + "z" gnus-server-compact-server "\C-c\C-i" gnus-info-find-node @@ -325,7 +330,7 @@ The following commands are available: (dolist (open gnus-opened-servers) (when (and (not (member (car open) done)) ;; Just ignore ephemeral servers. - (not (member (car open) gnus-ephemeral-servers))) + (not (gnus-method-ephemeral-p (car open)))) (push (car open) done) (gnus-server-insert-server-line (setq op-ser (format "%s:%s" (caar open) (nth 1 (car open)))) @@ -357,7 +362,8 @@ The following commands are available: (when entry (gnus-dribble-enter (concat "(gnus-server-set-info \"" server "\" '" - (gnus-prin1-to-string (cdr entry)) ")\n"))) + (gnus-prin1-to-string (cdr entry)) ")\n") + (concat "^(gnus-server-set-info \"" (regexp-quote server) "\""))) (when (or entry oentry) ;; Buffer may be narrowed. (save-restriction @@ -376,7 +382,8 @@ The following commands are available: (when (and server info) (gnus-dribble-enter (concat "(gnus-server-set-info \"" server "\" '" - (gnus-prin1-to-string info) ")")) + (gnus-prin1-to-string info) ")") + (concat "^(gnus-server-set-info \"" (regexp-quote server) "\"")) (let* ((server (nth 1 info)) (entry (assoc server gnus-server-alist)) (cached (assoc server gnus-server-method-cache))) @@ -546,7 +553,7 @@ The following commands are available: (gnus-server-list-servers)) (defun gnus-server-copy-server (from to) - "Copy a server definiton to a new name." + "Copy a server definition to a new name." (interactive (list (or (gnus-server-server-name) @@ -605,6 +612,18 @@ The following commands are available: (gnus-server-position-point)) 'edit-server))) +(defun gnus-server-show-server (server) + "Show the definition of the server on the current line." + (interactive (list (gnus-server-server-name))) + (unless server + (error "No server on current line")) + (let ((info (gnus-server-to-method server))) + (gnus-edit-form + info "Showing the server." + `(lambda (form) + (gnus-server-position-point)) + 'edit-server))) + (defun gnus-server-scan-server (server) "Request a scan from the current server." (interactive (list (gnus-server-server-name))) @@ -748,7 +767,8 @@ claim them." (with-current-buffer nntp-server-buffer (let ((cur (current-buffer))) (goto-char (point-min)) - (unless (string= gnus-ignored-newsgroups "") + (unless (or (null gnus-ignored-newsgroups) + (string= gnus-ignored-newsgroups "")) (delete-matching-lines gnus-ignored-newsgroups)) ;; We treat NNTP as a special case to avoid problems with ;; garbage group names like `"foo' that appear in some badly @@ -974,7 +994,8 @@ how new groups will be entered into the group buffer." ;; mechanism for new group subscription. (gnus-call-subscribe-functions gnus-browse-subscribe-newsgroup-method - group))) + group) + (gnus-request-update-group-status group 'subscribe))) (delete-char 1) (insert (let ((lvl (gnus-group-level group))) (cond