(require 'nnheader)
(require 'nnoo)
(require 'gnus-util)
+(require 'gnus)
(nnoo-declare nntp)
+(defgroup nntp nil
+ "NNTP access for Gnus."
+ :group 'gnus)
+
(defvoo nntp-address nil
"Address of the physical nntp server.")
;; Marks
(defvoo nntp-marks-is-evil nil
- "*If non-nil, GNus will never generate and use marks file for nntp groups.
+ "*If non-nil, Gnus will never generate and use marks file for nntp groups.
See `nnml-marks-is-evil' for more information.")
(defvoo nntp-marks-file-name ".marks")
(defcustom nntp-authinfo-file "~/.authinfo"
".netrc-like file that holds nntp authinfo passwords."
+ :group 'nntp
:type
'(choice file
(repeat :tag "Entries"
t)
(deffoo nntp-request-set-mark (group actions &optional server)
- (nntp-possibly-change-group group server)
(unless nntp-marks-is-evil
+ (nntp-possibly-create-directory group server)
(nntp-open-marks group server)
(dolist (action actions)
(let ((range (nth 0 action))
nil)
(deffoo nntp-request-update-info (group info &optional server)
- (nntp-possibly-change-group group server)
- (when (and (not nntp-marks-is-evil) (nntp-marks-changed-p group))
+ (unless nntp-marks-is-evil
+ (nntp-possibly-create-directory group server))
+ (when (and (not nntp-marks-is-evil) (nntp-marks-changed-p group server))
(nnheader-message 8 "Updating marks for %s..." group)
(nntp-open-marks group server)
;; Update info using `nntp-marks'.
If SEND-IF-FORCE, only send authinfo to the server if the
.authinfo file has the FORCE token."
- (let* ((list (gnus-parse-netrc nntp-authinfo-file))
- (alist (gnus-netrc-machine list nntp-address "nntp"))
- (force (gnus-netrc-get alist "force"))
- (user (or (gnus-netrc-get alist "login") nntp-authinfo-user))
- (passwd (gnus-netrc-get alist "password")))
+ (let* ((list (netrc-parse nntp-authinfo-file))
+ (alist (netrc-machine list nntp-address "nntp"))
+ (force (netrc-get alist "force"))
+ (user (or (netrc-get alist "login") nntp-authinfo-user))
+ (passwd (netrc-get alist "password")))
(when (or (not send-if-force)
force)
(unless user
"Find out what the name of the server we have connected to is."
;; Wait for the status string to arrive.
(setq nntp-server-type (buffer-string))
- (let ((alist nntp-server-action-alist)
- (case-fold-search t)
- entry)
+ (let ((case-fold-search t))
;; Run server-specific commands.
- (while alist
- (setq entry (pop alist))
+ (dolist (entry nntp-server-action-alist)
(when (string-match (car entry) nntp-server-type)
(if (and (listp (cadr entry))
(not (eq 'lambda (caadr entry))))
(make-directory (directory-file-name dir) t)
(nnheader-message 5 "Creating nntp marks directory %s" dir))))
-(defun nntp-marks-changed-p (group)
+(defun nntp-marks-changed-p (group server)
(let ((file (expand-file-name
nntp-marks-file-name
(nnmail-group-pathname