diff lisp/gnus/nneething.el @ 114:8619ce7e4c50 r20-1b9

Import from CVS: tag r20-1b9
author cvs
date Mon, 13 Aug 2007 09:21:54 +0200
parents 48d667d6f17f
children
line wrap: on
line diff
--- a/lisp/gnus/nneething.el	Mon Aug 13 09:20:50 2007 +0200
+++ b/lisp/gnus/nneething.el	Mon Aug 13 09:21:54 2007 +0200
@@ -55,7 +55,6 @@
   "Current news group directory.")
 
 (defvoo nneething-status-string "")
-(defvoo nneething-group-alist nil)
 
 (defvoo nneething-message-id-number 0)
 (defvoo nneething-work-buffer " *nneething work*")
@@ -151,28 +150,27 @@
   (setq nneething-current-directory nil)
   t)
 
+(deffoo nneething-open-server (server &optional defs)
+  (nnheader-init-server-buffer)
+  (if (nneething-server-opened server)
+      t
+    (unless (assq 'nneething-directory defs)
+      (setq defs (append defs (list (list 'nneething-directory server)))))
+    (nnoo-change-server 'nneething server defs)))
+
 
 ;;; Internal functions.
 
-(defun nneething-possibly-change-directory (group &optional dir)
-  (when group
-    (if (and nneething-group
-	     (string= group nneething-group))
-	t
-      (let (entry)
-	(if (setq entry (assoc group nneething-group-alist))
-	    (progn
-	      (setq nneething-group group)
-	      (setq nneething-directory (nth 1 entry))
-	      (setq nneething-map (nth 2 entry))
-	      (setq nneething-active (nth 3 entry)))
-	  (setq nneething-group group)
-	  (setq nneething-directory dir)
-	  (setq nneething-map nil)
-	  (setq nneething-active (cons 1 0))
-	  (nneething-create-mapping)
-	  (push (list group dir nneething-map nneething-active)
-		nneething-group-alist))))))
+(defun nneething-possibly-change-directory (group &optional server)
+  (when (and server
+	     (not (nneething-server-opened server)))
+    (nneething-open-server server))
+  (when (and group
+	     (not (equal nneething-group group)))
+    (setq nneething-group group)
+    (setq nneething-map nil)
+    (setq nneething-active (cons 1 0))
+    (nneething-create-mapping)))
 
 (defun nneething-map-file ()
   ;; We make sure that the .nneething directory exists.