From 9e50145fa2061cd5c6f9f01744aa50c7a30a7625 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 30 Oct 2000 22:00:22 +0000 Subject: [PATCH] Synch with Gnus. --- lisp/ChangeLog | 27 +++++++++++++++++++++++++++ lisp/gnus-group.el | 10 +++++++--- lisp/gnus-srvr.el | 10 ++++------ lisp/gnus-sum.el | 26 +++++++++++++------------- lisp/gnus.el | 3 --- lisp/mml-sec.el | 4 ++-- lisp/mml2015.el | 11 +++++++++-- lisp/nnultimate.el | 8 +++++--- 8 files changed, 67 insertions(+), 32 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2f82b68..d800645 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,30 @@ +2000-10-16 11:36:52 Lars Magne Ingebrigtsen + + * nnultimate.el (nnultimate-forum-table-p): Be a bit more + restrictive. + (nnultimate-table-regexp): New variable. + (nnultimate-forum-table-p): Use it. + +2000-10-30 Ed L Cashin + + * gnus-sum.el (gnus-summary-expire-articles): Save point. + +2000-10-30 08:52:50 ShengHuo ZHU + + * mml-sec.el (mml-pgpmime-sign-buffer): Use mml2015-sign. + (mml-pgpmime-encrypt-buffer): Use mml2015-encrypt. + +2000-10-30 08:38:12 ShengHuo ZHU + + * mml2015.el: Shut up. + +2000-10-30 08:17:46 ShengHuo ZHU + + * gnus.el (gnus-server-browse-hashtb): Removed. + * gnus-group.el (gnus-group-prepare-flat-list-dead): Use gnus-active. + (gnus-group-insert-group-line-info): Use simplified method. + * gnus-srvr.el (gnus-browse-foreign-server): Use gnus-set-active. + 2000-10-30 01:52:40 ShengHuo ZHU * gnus-util.el (gnus-union): Renamed from gnus-agent-union, and diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index df4f371..22fec6a 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1154,8 +1154,12 @@ if it is a string, only list groups matching REGEXP." ;;; 'gnus-level level)) (gnus-group-insert-group-line group level nil - (if gnus-server-browse-hashtb - (gnus-gethash group gnus-server-browse-hashtb) t) + (let ((active (gnus-active group))) + (if active + (if (zerop (cdr active)) + 0 + (- (1+ (cdr active)) (car active))) + nil)) (gnus-method-simplify (gnus-find-method-for-group group))))))) (defun gnus-group-update-group-line () @@ -1199,7 +1203,7 @@ if it is a string, only list groups matching REGEXP." 0 (- (1+ (cdr active)) (car active))) nil) - nil)))) + (gnus-method-simplify (gnus-find-method-for-group group)))))) (defun gnus-group-insert-group-line (gnus-tmp-group gnus-tmp-level gnus-tmp-marked number diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index b217086..eb31093 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -618,7 +618,8 @@ The following commands are available: (setq name (concat name (buffer-substring p (point))))) name)) - (max 0 (- (1+ (read cur)) (read cur)))) + (let ((last (read cur))) + (cons (read cur) last))) groups)) (forward-line)))) (setq groups (sort groups @@ -626,15 +627,12 @@ The following commands are available: (string< (car l1) (car l2))))) (if gnus-server-browse-in-group-buffer (let* ((gnus-select-method orig-select-method) - (gnus-server-browse-hashtb - (gnus-make-hashtable (length groups))) (gnus-group-listed-groups (mapcar (lambda (group) (let ((name (gnus-group-prefixed-name (car group) method))) - (gnus-sethash name (cdr group) - gnus-server-browse-hashtb) + (gnus-set-active name (cdr group)) name)) groups))) (gnus-configure-windows 'group) @@ -669,7 +667,7 @@ The following commands are available: ((<= level gnus-level-unsubscribed) ?U) ((= level gnus-level-zombie) ?Z) (t ?K))) - (cdr group) + (max 0 (- (1+ (cddr group)) (cadr group))) (gnus-group-name-decode (car group) charset)))) (list 'gnus-group (car group))) (setq groups (cdr groups)))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 6a9e611..2719222 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -7897,19 +7897,19 @@ This will be the case if the article has both been mailed and posted." (setq es (gnus-request-expire-articles expirable gnus-newsgroup-name))) (setq es (gnus-request-expire-articles - expirable gnus-newsgroup-name)))) - (unless total - (setq gnus-newsgroup-expirable es)) - ;; We go through the old list of expirable, and mark all - ;; really expired articles as nonexistent. - (unless (eq es expirable) ;If nothing was expired, we don't mark. - (let ((gnus-use-cache nil)) - (while expirable - (unless (memq (car expirable) es) - (when (gnus-data-find (car expirable)) - (gnus-summary-mark-article - (car expirable) gnus-canceled-mark))) - (setq expirable (cdr expirable))))) + expirable gnus-newsgroup-name))) + (unless total + (setq gnus-newsgroup-expirable es)) + ;; We go through the old list of expirable, and mark all + ;; really expired articles as nonexistent. + (unless (eq es expirable) ;If nothing was expired, we don't mark. + (let ((gnus-use-cache nil)) + (while expirable + (unless (memq (car expirable) es) + (when (gnus-data-find (car expirable)) + (gnus-summary-mark-article + (car expirable) gnus-canceled-mark))) + (setq expirable (cdr expirable)))))) (gnus-message 6 "Expiring articles...done"))))) (defun gnus-summary-expire-articles-now () diff --git a/lisp/gnus.el b/lisp/gnus.el index 5b7730a..a768887 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1693,9 +1693,6 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") (defvar gnus-moderated-hashtb nil "Hashtable of moderated newsgroups.") -(defvar gnus-server-browse-hashtb nil - "Hashtable of existing articles.") - ;; Save window configuration. (defvar gnus-prev-winconf nil) diff --git a/lisp/mml-sec.el b/lisp/mml-sec.el index e7d9d03..40fd25d 100644 --- a/lisp/mml-sec.el +++ b/lisp/mml-sec.el @@ -71,11 +71,11 @@ (error "Encryption failed... inspect message logs for errors")))) (defun mml-pgpmime-sign-buffer (cont) - (or (mml2015-mailcrypt-sign cont) + (or (mml2015-sign cont) (error "Signing failed... inspect message logs for errors"))) (defun mml-pgpmime-encrypt-buffer (cont) - (or (mml2015-mailcrypt-encrypt cont) + (or (mml2015-encrypt cont) (error "Encryption failed... inspect message logs for errors"))) (defun mml-secure-part-smime-sign () diff --git a/lisp/mml2015.el b/lisp/mml2015.el index 28425bc..9651553 100644 --- a/lisp/mml2015.el +++ b/lisp/mml2015.el @@ -36,6 +36,7 @@ ;;; Code: (eval-when-compile (require 'cl)) +(require 'mm-decode) (defvar mml2015-decrypt-function 'mailcrypt-decrypt) (defvar mml2015-verify-function 'mailcrypt-verify) @@ -87,7 +88,14 @@ (unless (funcall mml2015-verify-function) (error "Verify error."))))) -(autoload 'mc-sign-generic "mc-toplev") +(eval-and-compile + (autoload 'mc-encrypt-generic "mc-toplev") + (autoload 'mc-cleanup-recipient-headers "mc-toplev") + (autoload 'mc-sign-generic "mc-toplev")) + +(eval-when-compile + (defvar mc-default-scheme) + (defvar mc-schemes)) (defun mml2015-mailcrypt-sign (cont) (mc-sign-generic (message-options-get 'message-sender) @@ -127,7 +135,6 @@ (insert (format "--%s--\n" boundary)) (goto-char (point-max)))) -(autoload 'mc-encrypt-generic "mc-toplev") (defun mml2015-mailcrypt-encrypt (cont) (mc-encrypt-generic diff --git a/lisp/nnultimate.el b/lisp/nnultimate.el index 0a5af46..edbdbcc 100644 --- a/lisp/nnultimate.el +++ b/lisp/nnultimate.el @@ -57,6 +57,8 @@ (defvoo nnultimate-groups nil) (defvoo nnultimate-headers nil) (defvoo nnultimate-articles nil) +(defvar nnultimate-table-regexp + "postings.*editpost\\|forumdisplay\\|Forum[0-9]+/HTML\\|getbio") ;;; Interface functions @@ -75,6 +77,8 @@ (old-total (or (nth 6 entry) 1)) (furl "forumdisplay.cgi?action=topics&number=%d&DaysPrune=1000") (furls (list (concat nnultimate-address (format furl sid)))) + (nnultimate-table-regexp + "postings.*editpost\\|forumdisplay\\|getbio") headers article subject score from date lines parent point contents tinfo fetchers map elem a href garticles topic old-max inc datel table string current-page total-contents pages @@ -439,9 +443,7 @@ (nth 2 parse)))) (let ((href (cdr (assq 'href (nth 1 (nnweb-parse-find 'a parse 20))))) case-fold-search) - (when (and href (string-match - "postings\\|forumdisplay\\|Forum[0-9]+/HTML\\|getbio" - href)) + (when (and href (string-match nnultimate-table-regexp href)) t)))) (provide 'nnultimate) -- 1.7.10.4