X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Flegacy-gnus-agent.el;h=3b55220ace50d67c7dbd02ca7713c3d6e97c0368;hb=8339220cc25db3fbdab4367d6252e596bddd9cb1;hp=16b0cf6c89fa87bdde7e86bb31aaefb13b7d7e31;hpb=3dad07b1da5436839729c63a5385c62055b0d554;p=gnus diff --git a/lisp/legacy-gnus-agent.el b/lisp/legacy-gnus-agent.el index 16b0cf6c8..3b55220ac 100644 --- a/lisp/legacy-gnus-agent.el +++ b/lisp/legacy-gnus-agent.el @@ -1,10 +1,37 @@ +;;; gnus-agent.el --- Legacy unplugged support for Gnus + +;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + +;; Author: Kevin Greiner +;; Keywords: news + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Conversion functions for the Agent. + +;;; Code: (require 'gnus-start) (require 'gnus-util) (require 'gnus-range) (require 'gnus-agent) -; Oort Gnus v0.08 - This release updated agent to no longer use -; history file and to support a compressed alist. +;; Oort Gnus v0.08 - This release updated agent to no longer use +;; history file and to support a compressed alist. (defvar gnus-agent-compressed-agentview-search-only nil) @@ -25,7 +52,7 @@ converted to the compressed format." ((file-directory-p member) (push member search-in)) ((equal (file-name-nondirectory member) ".agentview") - (setq converted-something + (setq converted-something (or (gnus-agent-convert-agentview member) converted-something)))))) @@ -81,23 +108,20 @@ converted to the compressed format." (throw 'found-file-to-convert t)) (erase-buffer) - (let ((compressed nil)) - (mapcar (lambda (pair) - (let* ((article-id (car pair)) - (day-of-download (cdr pair)) - (comp-list (assq day-of-download compressed))) - (if comp-list - (setcdr comp-list - (cons article-id (cdr comp-list))) - (setq compressed - (cons (list day-of-download article-id) - compressed))) - nil)) alist) - (mapcar (lambda (comp-list) - (setcdr comp-list - (gnus-compress-sequence - (nreverse (cdr comp-list))))) - compressed) + (let (article-id day-of-download comp-list compressed) + (while alist + (setq article-id (caar alist) + day-of-download (cdar alist) + comp-list (assq day-of-download compressed) + alist (cdr alist)) + (if comp-list + (setcdr comp-list (cons article-id (cdr comp-list))) + (push (list day-of-download article-id) compressed))) + (setq alist compressed) + (while alist + (setq comp-list (pop alist)) + (setcdr comp-list + (gnus-compress-sequence (nreverse (cdr comp-list))))) (princ compressed (current-buffer))) (insert "\n2\n") (write-file file) @@ -162,7 +186,7 @@ converted to the compressed format." (when (eq 0 (string-match (caar days) group)) - (throw 'found (cadar days))) + (throw 'found (cadr (car days)))) (setq days (cdr days))) nil))) (when day @@ -175,7 +199,7 @@ converted to the compressed format." (t t)))))) (kill-buffer buffer)) - (error "Change gnus-agent-expire-days to an integer for gnus to start.")))) + (error "Change gnus-agent-expire-days to an integer for gnus to start")))) ;; The gnus-agent-unlist-expire-days has its own conversion prompt. ;; Therefore, hide the default prompt. @@ -198,8 +222,8 @@ possible that the hook was persistently saved." (when (cond ((eq (type-of func) 'compiled-function) ;; Search def. of compiled function for gnus-agent-do-once string - (let* (definition - print-level + (let* (definition + print-level print-length (standard-output (lambda (char) @@ -224,4 +248,6 @@ possible that the hook was persistently saved." ;; the .newsrc.eld file. (gnus-convert-mark-converter-prompt 'gnus-agent-unhook-expire-days t) -;;; arch-tag: 845c7b8a-88f7-4468-b8d7-94e8fc72cf1a +(provide 'legacy-gnus-agent) + +;;; legacy-gnus-agent.el ends here