* Change terminology to refer to "seen" articles as "deleted".
authorChris Hanson <org/chris-hanson/cph>
Wed, 25 Dec 1996 07:20:15 +0000 (07:20 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 25 Dec 1996 07:20:15 +0000 (07:20 +0000)
* Introduce new marking, "browsed", to indicate articles whose headers
  have been shown in a news-group buffer.  These "browsed" markings
  are used to prevent a common problem with cross posts: after having
  marked an article in one group, re-marking the cross-posted article
  differently in another group clobbers the original markings.  The
  news reader now examines the "browsed" marking, and does not re-mark
  any cross post that has already been "browsed".

* Change code that selects initial header when opening a news-group
  buffer for the first time.  New code does not automatically expand a
  thread whose first message is "deleted".

v7/src/edwin/snr.scm

index 3ebf592c5e42d4dcadea706069309a484f7e26c2..f9fad8d2f29ec3857fd80c82919ed28899fb30c9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: snr.scm,v 1.25 1996/12/25 06:50:07 cph Exp $
+;;;    $Id: snr.scm,v 1.26 1996/12/25 07:20:15 cph Exp $
 ;;;
 ;;;    Copyright (c) 1995-96 Massachusetts Institute of Technology
 ;;;
@@ -4012,62 +4012,6 @@ With prefix arg, replaces the file with the list information."
     (set-news-group:ranges-deleted! group ranges)
     ranges))
 \f
-(define ((range-predicate group-ranges) header)
-  (member-of-ranges? (group-ranges (news-header:group header))
-                    (news-header:number header)))
-
-(define news-header:article-deleted?
-  (range-predicate news-group:ranges-deleted))
-
-(define news-header:article-marked?
-  (range-predicate news-group:ranges-marked))
-
-(define (news-group:article-browsed? group number)
-  (member-of-ranges? (news-group:ranges-browsed group) number))
-
-(define (ranges-marker group-ranges set-group-ranges! handle-xrefs? procedure)
-  (news-group:adjust-article-status! handle-xrefs?
-    (lambda (group number)
-      (set-group-ranges! group (procedure (group-ranges group) number)))))
-
-(define (ranges-deleted-marker procedure)
-  (let ((marker
-        (ranges-marker news-group:ranges-deleted
-                       set-news-group:ranges-deleted!
-                       #t
-                       procedure)))
-    (lambda (header buffer)
-      (news-group:article-unmarked! header buffer)
-      (marker header buffer))))
-
-(define news-group:article-deleted!
-  (ranges-deleted-marker add-to-ranges!))
-
-(define news-group:article-not-deleted!
-  (ranges-deleted-marker remove-from-ranges!))
-
-(define news-group:article-marked!
-  (let ((marker
-        (ranges-marker news-group:ranges-marked
-                       set-news-group:ranges-marked!
-                       #t
-                       add-to-ranges!)))
-    (lambda (header buffer)
-      (news-group:article-not-deleted! header buffer)
-      (marker header buffer))))
-
-(define news-group:article-unmarked!
-  (ranges-marker news-group:ranges-marked
-                set-news-group:ranges-marked!
-                #t
-                remove-from-ranges!))
-
-(define news-group:article-browsed!
-  (ranges-marker news-group:ranges-browsed
-                set-news-group:ranges-browsed!
-                #f
-                add-to-ranges!))
-\f
 (define ((news-group:adjust-article-status! handle-xrefs? procedure)
         header buffer)
   (let ((do-it
@@ -4127,6 +4071,62 @@ With prefix arg, replaces the file with the list information."
        ((news-group:< t2 t1) 'GREATER)
        (else 'EQUAL)))
 \f
+(define ((range-predicate group-ranges) header)
+  (member-of-ranges? (group-ranges (news-header:group header))
+                    (news-header:number header)))
+
+(define news-header:article-deleted?
+  (range-predicate news-group:ranges-deleted))
+
+(define news-header:article-marked?
+  (range-predicate news-group:ranges-marked))
+
+(define (news-group:article-browsed? group number)
+  (member-of-ranges? (news-group:ranges-browsed group) number))
+
+(define (ranges-marker group-ranges set-group-ranges! handle-xrefs? procedure)
+  (news-group:adjust-article-status! handle-xrefs?
+    (lambda (group number)
+      (set-group-ranges! group (procedure (group-ranges group) number)))))
+
+(define (ranges-deleted-marker procedure)
+  (let ((marker
+        (ranges-marker news-group:ranges-deleted
+                       set-news-group:ranges-deleted!
+                       #t
+                       procedure)))
+    (lambda (header buffer)
+      (news-group:article-unmarked! header buffer)
+      (marker header buffer))))
+
+(define news-group:article-deleted!
+  (ranges-deleted-marker add-to-ranges!))
+
+(define news-group:article-not-deleted!
+  (ranges-deleted-marker remove-from-ranges!))
+
+(define news-group:article-marked!
+  (let ((marker
+        (ranges-marker news-group:ranges-marked
+                       set-news-group:ranges-marked!
+                       #t
+                       add-to-ranges!)))
+    (lambda (header buffer)
+      (news-group:article-not-deleted! header buffer)
+      (marker header buffer))))
+
+(define news-group:article-unmarked!
+  (ranges-marker news-group:ranges-marked
+                set-news-group:ranges-marked!
+                #t
+                remove-from-ranges!))
+
+(define news-group:article-browsed!
+  (ranges-marker news-group:ranges-browsed
+                set-news-group:ranges-browsed!
+                #f
+                add-to-ranges!))
+\f
 ;;;; Ignored-Subjects Database
 
 (define (news-header:ignore?! header table t)