Mercurial > hg > xemacs-beta
diff lisp/gnus/gnus.el @ 110:fe104dbd9147 r20-1b7
Import from CVS: tag r20-1b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:19:45 +0200 |
parents | 360340f9fd5f |
children | 48d667d6f17f |
line wrap: on
line diff
--- a/lisp/gnus/gnus.el Mon Aug 13 09:18:41 2007 +0200 +++ b/lisp/gnus/gnus.el Mon Aug 13 09:19:45 2007 +0200 @@ -226,7 +226,7 @@ :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.4.23" +(defconst gnus-version-number "5.4.26" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) @@ -711,7 +711,14 @@ (require 'gnus-util) (require 'nnheader) -(defcustom gnus-directory (or (getenv "SAVEDIR") "~/News/") +(defcustom gnus-home-directory "~/" + "Directory variable that specifies the \"home\" directory. +All other Gnus path variables are initialized from this variable." + :group 'gnus-files + :type 'directory) + +(defcustom gnus-directory (or (getenv "SAVEDIR") + (nnheader-concat gnus-home-directory "News/")) "Directory variable from which all other Gnus file variables are derived." :group 'gnus-files :type 'directory) @@ -2378,18 +2385,6 @@ (memq option (assoc (format "%s" (car method)) gnus-valid-select-methods))) -(defun gnus-server-extend-method (group method) - ;; This function "extends" a virtual server. If the server is - ;; "hello", and the select method is ("hello" (my-var "something")) - ;; in the group "alt.alt", this will result in a new virtual server - ;; called "hello+alt.alt". - (if (or (not (gnus-similar-server-opened method)) - (not (cddr method))) - method - `(,(car method) ,(concat (cadr method) "+" group) - (,(intern (format "%s-address" (car method))) ,(cadr method)) - ,@(cddr method)))) - (defun gnus-similar-server-opened (method) (let ((opened gnus-opened-servers)) (while (and method opened) @@ -2399,6 +2394,18 @@ (pop opened)) (not method))) +(defun gnus-server-extend-method (group method) + ;; This function "extends" a virtual server. If the server is + ;; "hello", and the select method is ("hello" (my-var "something")) + ;; in the group "alt.alt", this will result in a new virtual server + ;; called "hello+alt.alt". + (if (or (not (inline (gnus-similar-server-opened method))) + (not (cddr method))) + method + `(,(car method) ,(concat (cadr method) "+" group) + (,(intern (format "%s-address" (car method))) ,(cadr method)) + ,@(cddr method)))) + (defun gnus-server-status (method) "Return the status of METHOD." (nth 1 (assoc method gnus-opened-servers))) @@ -2426,9 +2433,9 @@ gnus-select-method (setq method (cond ((stringp method) - (gnus-server-to-method method)) + (inline (gnus-server-to-method method))) ((stringp (cadr method)) - (gnus-server-extend-method group method)) + (inline (gnus-server-extend-method group method))) (t method))) (cond ((equal (cadr method) "") @@ -2438,7 +2445,7 @@ (t (gnus-server-add-address method))))))) -(defun gnus-check-backend-function (func group) +(defsubst gnus-check-backend-function (func group) "Check whether GROUP supports function FUNC. GROUP can either be a string (a group name) or a select method." (ignore-errors