;;; Code:
(require 'nnheader)
-(require 'cl)
+(eval-when-compile (require 'cl))
(defvar nnoo-definition-alist nil)
(defvar nnoo-state-alist nil)
(defmacro nnoo-declare (backend &rest parents)
`(eval-and-compile
- (push (list ',backend
+ (push (list ',backend
(mapcar (lambda (p) (list p)) ',parents)
nil nil)
nnoo-definition-alist)
(pop functions)))))
(defun nnoo-parent-function (backend function args)
- (let* ((pbackend (nnoo-backend function)))
+ (let ((pbackend (nnoo-backend function)))
(nnoo-change-server pbackend (nnoo-current-server backend)
(cdr (assq pbackend (nnoo-parents backend))))
(apply function args)))
(defun nnoo-execute (backend function &rest args)
"Execute FUNCTION on behalf of BACKEND."
- (let* ((pbackend (nnoo-backend function)))
+ (let ((pbackend (nnoo-backend function)))
(nnoo-change-server pbackend (nnoo-current-server backend)
(cdr (assq pbackend (nnoo-parents backend))))
(apply function args)))
(&rest args)
(nnoo-parent-function ',backend ',(car m)
,(cons 'list (nreverse margs))))))))
-
+
(defun nnoo-backend (symbol)
(string-match "^[^-]+-" (symbol-name symbol))
(intern (substring (symbol-name symbol) 0 (1- (match-end 0)))))
(def (assq backend nnoo-definition-alist))
(parents (nth 1 def)))
(unless def
- (error "%s belongs to a backend that hasn't been declared." var))
+ (error "%s belongs to a backend that hasn't been declared" var))
(setcar (nthcdr 2 def)
(delq (assq var (nth 2 def)) (nth 2 def)))
(setcar (nthcdr 2 def)
(symbol-value (car def)))))))
(set (car def) (cadr def))))
(while parents
- (nnoo-change-server
- (caar parents) server
+ (nnoo-change-server
+ (caar parents) server
(mapcar (lambda (def) (list (car def) (symbol-value (cadr def))))
(cdar parents)))
(pop parents))))
(defs (nnoo-variables backend)))
;; Remove the old definition.
(setcdr (cdr bstate) (delq (assoc current (cddr bstate)) (cddr bstate)))
- ;; If this is the first time we push the server (i. e., this is
+ ;; If this is the first time we push the server (i. e., this is
;; the nil server), then we update the default values of
;; all the variables to reflect the current values.
(when (equal current "*internal-non-initialized-backend*")
(pop defs))
(nconc bstate (list (cons current state))))))
-(defun nnoo-current-server-p (backend server)
+(defsubst nnoo-current-server-p (backend server)
(equal (nnoo-current-server backend) server))
(defun nnoo-current-server (backend)
(defun nnoo-define-skeleton-1 (backend)
(let ((functions '(retrieve-headers
request-close request-article
- open-group request-group close-group
+ request-group close-group
request-list request-post request-list-newsgroups))
function fun)
(while (setq function (pop functions))