X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fnnwarchive.el;h=1abc4dd1a08879c697b31f645a225d5dcddb22c6;hb=babe54cf5412efcfc7159935a3fb6d766ddf21f1;hp=1a34dde0debc08671f48b5e775d7fbd44d4f3e7b;hpb=a6c96b16c6184d722fe45f8f6af91f00af3ba021;p=gnus diff --git a/lisp/nnwarchive.el b/lisp/nnwarchive.el index 1a34dde0d..1abc4dd1a 100644 --- a/lisp/nnwarchive.el +++ b/lisp/nnwarchive.el @@ -26,7 +26,7 @@ ;; Note: You need to have `url' (w3 0.46) or greater version ;; installed for this backend to work. -;; Todo: +;; Todo: ;; 1. To support more web archives. ;; 2. Generalize webmail to other MHonArc archive. @@ -60,20 +60,20 @@ (defvar nnwarchive-type-definition '((egroups (address . "www.egroups.com") - (open-url - "http://www.egroups.com/login.cgi?&login_email=%s&login_password=%s" + (open-url + "http://www.egroups.com/login.cgi?&login_email=%s&login_password=%s" nnwarchive-login nnwarchive-passwd) - (list-url + (list-url "http://www.egroups.com/mygroups") (list-dissect . nnwarchive-egroups-list) (list-groups . nnwarchive-egroups-list-groups) - (xover-url + (xover-url "http://www.egroups.com/messages/%s/%d" group aux) - (xover-last-url + (xover-last-url "http://www.egroups.com/messages/%s/" group) (xover-page-size . 13) (xover-dissect . nnwarchive-egroups-xover) - (article-url + (article-url "http://www.egroups.com/message/%s/%d?source=1" group article) (article-dissect . nnwarchive-egroups-article) (authentication . t) @@ -82,17 +82,17 @@ (mail-archive (address . "www.mail-archive.com") (open-url) - (list-url + (list-url "http://www.mail-archive.com/lists.html") (list-dissect . nnwarchive-mail-archive-list) (list-groups . nnwarchive-mail-archive-list-groups) - (xover-url + (xover-url "http://www.mail-archive.com/%s/mail%d.html" group aux) - (xover-last-url + (xover-last-url "http://www.mail-archive.com/%s/maillist.html" group) (xover-page-size) (xover-dissect . nnwarchive-mail-archive-xover) - (article-url + (article-url "http://www.mail-archive.com/%s/msg%05d.html" group article1) (article-dissect . nnwarchive-mail-archive-article) (xover-files . nnwarchive-mail-archive-xover-files) @@ -163,12 +163,12 @@ (let ((defs (cdr (assq type nnwarchive-type-definition))) def) (dolist (def defs) - (set (intern (concat "nnwarchive-" (symbol-name (car def)))) + (set (intern (concat "nnwarchive-" (symbol-name (car def)))) (cdr def))))) (defmacro nnwarchive-backlog (&rest form) `(let ((gnus-keep-backlog nnwarchive-keep-backlog) - (gnus-backlog-buffer + (gnus-backlog-buffer (format " *nnwarchive backlog %s*" nnwarchive-address)) (gnus-backlog-articles nnwarchive-backlog-articles) (gnus-backlog-hashtb nnwarchive-backlog-hashtb)) @@ -183,10 +183,10 @@ (nnwarchive-backlog (gnus-backlog-enter-article group number buffer))) -(defun nnwarchive-get-article (article &optional group server buffer) +(defun nnwarchive-get-article (article &optional group server buffer) (if (numberp article) (if (nnwarchive-backlog - (gnus-backlog-request-article group article + (gnus-backlog-request-article group article (or buffer nntp-server-buffer))) (cons group article) (let (contents) @@ -298,7 +298,7 @@ (setq nnwarchive-passwd (or nnwarchive-passwd (mail-source-read-passwd - (format "Password for %s at %s: " + (format "Password for %s at %s: " nnwarchive-login server))))) (unless nnwarchive-groups (nnwarchive-read-groups)) @@ -322,7 +322,7 @@ (nnwarchive-open-server server))) (defun nnwarchive-read-groups () - (let ((file (expand-file-name (concat "groups-" nnwarchive-address) + (let ((file (expand-file-name (concat "groups-" nnwarchive-address) nnwarchive-directory))) (when (file-exists-p file) (with-temp-buffer @@ -331,14 +331,14 @@ (setq nnwarchive-groups (read (current-buffer))))))) (defun nnwarchive-write-groups () - (with-temp-file (expand-file-name (concat "groups-" nnwarchive-address) + (with-temp-file (expand-file-name (concat "groups-" nnwarchive-address) nnwarchive-directory) (prin1 nnwarchive-groups (current-buffer)))) (defun nnwarchive-init (server) "Initialize buffers and such." (let ((type (intern server)) (defs nnwarchive-type-definition) def) - (cond + (cond ((equal server "") (setq type nnwarchive-default-type)) ((assq type nnwarchive-type-definition) t) @@ -390,13 +390,13 @@ (mm-with-unibyte-current-buffer (let ((url-confirmation-func 'identity) (url-cookie-multiple-line nil)) - (cond + (cond ((eq (car xurl) 'post) (pop xurl) (nnwarchive-fetch-form (car xurl) (nnwarchive-eval (cdr xurl)))) (t (nnweb-insert (apply 'format (nnwarchive-eval xurl)))))))) - + (defun nnwarchive-generate-active () (save-excursion (set-buffer nntp-server-buffer) @@ -420,12 +420,12 @@ (save-excursion (let (articles) (set-buffer nnwarchive-buffer) - (dolist (group groups) + (dolist (group groups) (erase-buffer) (nnwarchive-url nnwarchive-xover-last-url) (goto-char (point-min)) (when (re-search-forward "of \\([0-9]+\\)[ \t\n\r]*" nil t) - (setq articles (string-to-number (match-string 1)))) + (setq articles (string-to-number (match-string 1)))) (let ((elem (assoc group nnwarchive-groups))) (if elem (setcar (cdr elem) articles) @@ -441,7 +441,7 @@ (let ((case-fold-search t) group description elem articles) (goto-char (point-min)) - (while + (while (re-search-forward "href=\"/group/\\([^/\"\> ]+\\)" nil t) (setq group (match-string 1) description (match-string 2)) @@ -469,12 +469,12 @@ (push (cons article (make-full-mail-header - article + article (nnweb-decode-entities-string subject) (nnweb-decode-entities-string from) date (concat "<" group "%" - (number-to-string article) + (number-to-string article) "@egroup.com>") "" 0 0 "")) nnwarchive-headers)))) @@ -523,7 +523,7 @@ (let ((elem (assoc group nnwarchive-headers-cache))) (if elem (setcdr elem nnwarchive-headers) - (push (cons group nnwarchive-headers) + (push (cons group nnwarchive-headers) nnwarchive-headers-cache))))))) (defun nnwarchive-mail-archive-list () @@ -558,7 +558,7 @@ (push (cons article (make-full-mail-header - article + article (nnweb-decode-entities-string subject) (nnweb-decode-entities-string from) date @@ -608,14 +608,14 @@ (insert from-r13) (let ((message-caesar-translation-table (or nnwarchive-caesar-translation-table - (setq nnwarchive-caesar-translation-table + (setq nnwarchive-caesar-translation-table (nnwarchive-make-caesar-translation-table))))) (message-caesar-region (point-min) (point-max)) (buffer-string))))) (defun nnwarchive-mail-archive-article (group article) - (let (p refs url mime e - from subject date id + (let (p refs url mime e + from subject date id done (case-fold-serch t)) (save-restriction @@ -630,9 +630,9 @@ (goto-char (point-min)) (while (search-forward " -->" nil t) (replace-match "")) - (setq from + (setq from (or (mail-fetch-field "from") - (nnwarchive-from-r13 + (nnwarchive-from-r13 (mail-fetch-field "from-r13")))) (setq date (mail-fetch-field "date")) (setq id (mail-fetch-field "message-id")) @@ -667,7 +667,7 @@ (goto-char (point-max)) (widen) (insert "\n")) - (setq p (point)) + (setq p (point)) (when (search-forward "X-Body-of-Message" nil t) (forward-line) (delete-region p (point)) @@ -679,8 +679,8 @@ (if (> (skip-chars-forward "\040\n\r\t") 0) (delete-region (point-min) (point))) (while (not (eobp)) - (cond - ((looking-at "
\r?\n?") 
+	    (cond
+	     ((looking-at "
\r?\n?")
 	      (delete-region (match-beginning 0) (match-end 0))
 	      (setq p (point))
 	      (when (search-forward "
" nil t) @@ -692,9 +692,9 @@ (goto-char (point-max))))) ((looking-at "

\n" "<#/external>") @@ -712,8 +712,8 @@ (setq p (point)) (insert "<#part type=\"text/html\" disposition=inline>") (goto-char - (if (re-search-forward - "[\040\n\r\t]*

\\|[\040\n\r\t]*

\\|[\040\n\r\t]*