Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
113:2ec2fe4a4c89 | 114:8619ce7e4c50 |
---|---|
53 | 53 |
54 (defvoo nneething-current-directory nil | 54 (defvoo nneething-current-directory nil |
55 "Current news group directory.") | 55 "Current news group directory.") |
56 | 56 |
57 (defvoo nneething-status-string "") | 57 (defvoo nneething-status-string "") |
58 (defvoo nneething-group-alist nil) | |
59 | 58 |
60 (defvoo nneething-message-id-number 0) | 59 (defvoo nneething-message-id-number 0) |
61 (defvoo nneething-work-buffer " *nneething work*") | 60 (defvoo nneething-work-buffer " *nneething work*") |
62 | 61 |
63 (defvoo nneething-group nil) | 62 (defvoo nneething-group nil) |
149 | 148 |
150 (deffoo nneething-close-group (group &optional server) | 149 (deffoo nneething-close-group (group &optional server) |
151 (setq nneething-current-directory nil) | 150 (setq nneething-current-directory nil) |
152 t) | 151 t) |
153 | 152 |
153 (deffoo nneething-open-server (server &optional defs) | |
154 (nnheader-init-server-buffer) | |
155 (if (nneething-server-opened server) | |
156 t | |
157 (unless (assq 'nneething-directory defs) | |
158 (setq defs (append defs (list (list 'nneething-directory server))))) | |
159 (nnoo-change-server 'nneething server defs))) | |
160 | |
154 | 161 |
155 ;;; Internal functions. | 162 ;;; Internal functions. |
156 | 163 |
157 (defun nneething-possibly-change-directory (group &optional dir) | 164 (defun nneething-possibly-change-directory (group &optional server) |
158 (when group | 165 (when (and server |
159 (if (and nneething-group | 166 (not (nneething-server-opened server))) |
160 (string= group nneething-group)) | 167 (nneething-open-server server)) |
161 t | 168 (when (and group |
162 (let (entry) | 169 (not (equal nneething-group group))) |
163 (if (setq entry (assoc group nneething-group-alist)) | 170 (setq nneething-group group) |
164 (progn | 171 (setq nneething-map nil) |
165 (setq nneething-group group) | 172 (setq nneething-active (cons 1 0)) |
166 (setq nneething-directory (nth 1 entry)) | 173 (nneething-create-mapping))) |
167 (setq nneething-map (nth 2 entry)) | |
168 (setq nneething-active (nth 3 entry))) | |
169 (setq nneething-group group) | |
170 (setq nneething-directory dir) | |
171 (setq nneething-map nil) | |
172 (setq nneething-active (cons 1 0)) | |
173 (nneething-create-mapping) | |
174 (push (list group dir nneething-map nneething-active) | |
175 nneething-group-alist)))))) | |
176 | 174 |
177 (defun nneething-map-file () | 175 (defun nneething-map-file () |
178 ;; We make sure that the .nneething directory exists. | 176 ;; We make sure that the .nneething directory exists. |
179 (gnus-make-directory nneething-map-file-directory) | 177 (gnus-make-directory nneething-map-file-directory) |
180 ;; We store it in a special directory under the user's home dir. | 178 ;; We store it in a special directory under the user's home dir. |