# HG changeset patch # User Richard M. Stallman # Date 872376549 0 # Node ID 77c68461cbb016a834e3be80c9da586eb561eeb5 # Parent 50eec8e7a0054b16d104db672d87079f7d7b09fc (nnvirtual-merge-sorted-lists): Use sort, not merge. (nnvirtual-partition-sequence): use mapcar, not mapc. (nnvirtual-create-mapping): Don't use delete-if-not. diff -r 50eec8e7a005 -r 77c68461cbb0 lisp/gnus/nnvirtual.el --- a/lisp/gnus/nnvirtual.el Sat Aug 23 22:36:43 1997 +0000 +++ b/lisp/gnus/nnvirtual.el Sat Aug 23 22:49:09 1997 +0000 @@ -465,10 +465,7 @@ "Merge many sorted lists of numbers." (if (null (cdr lists)) (car lists) - (apply 'nnvirtual-merge-sorted-lists - (merge 'list (car lists) (cadr lists) '<) - (cddr lists)))) - + (sort (apply 'nconc lists) '<))) ;;; We map between virtual articles and real articles in a manner @@ -626,8 +623,8 @@ (setq entry (assoc (car article) carticles)) (setcdr entry (cons (cdr article) (cdr entry)))) (setq i (1+ i)))) - (mapc (lambda (x) (setcdr x (nreverse (cdr x)))) - carticles) + (mapcar (lambda (x) (setcdr x (nreverse (cdr x)))) + carticles) carticles)) @@ -732,7 +729,11 @@ gnus-article-mark-lists)) ;; Remove any empty marks lists, and store. - (setq nnvirtual-mapping-marks (delete-if-not 'cdr marks)) + (setq nnvirtual-mapping-marks nil) + (while marks + (if (cdr (car marks)) + (push (car marks) nnvirtual-mapping-marks)) + (setq marks (cdr marks))) ;; We need to convert the unreads to reads. We compress the ;; sequence as we go, otherwise it could be huge.