Synch with Oort Gnus.
authoryamaoka <yamaoka>
Fri, 24 Aug 2001 00:09:55 +0000 (00:09 +0000)
committeryamaoka <yamaoka>
Fri, 24 Aug 2001 00:09:55 +0000 (00:09 +0000)
lisp/ChangeLog
lisp/gnus-group.el
lisp/gnus-spec.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/lpath.el
lisp/nnrss.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index a7e5a9b..a5413a3 100644 (file)
@@ -1,3 +1,39 @@
+2001-08-23 18:43:05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-select-newsgroup): Use it.
+
+       * gnus-util.el (gnus-not-ignore): New function.
+
+       * lpath.el (featurep): Don't fbind char-int.
+
+       * gnus-util.el (gnus-create-info-command): New function.
+
+       * gnus-group.el (gnus-group-edit-group): Make C-c C-i go to the
+       right node.
+
+       * gnus-sum.el (gnus-select-newsgroup): Clean up.
+       (gnus-summary-limit-children): Use 'identity instead of `all'.
+       (gnus-summary-limit-to-display-predicate): New command and
+       keystroke. 
+
+2001-08-23 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * nnrss.el (nnrss-group-alist): Use fm-releases.rdf.
+
+       * gnus-spec.el (gnus-format-specs): Miss a right parenthesis.
+
+2001-08-23 18:43:05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-spec.el: Add the Gnus version.
+       (gnus-update-format-specifications): If the Gnus version changes,
+       nix out the format spec cache.
+
+       * gnus.el (gnus-continuum-version): Made into a command and
+       optionalize the VERSION.
+
+       * gnus-spec.el (gnus-parse-complex-format): Remove %C specs from
+       the start of the lines.
+
 2001-08-22 00:06:52  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.el (gnus-visual-p): Define function before use of
index f974de2..1ff22b6 100644 (file)
@@ -2250,7 +2250,17 @@ and NEW-NAME will be prompted for."
        (t "group info"))
       (gnus-group-decoded-name group))
      `(lambda (form)
-       (gnus-group-edit-group-done ',part ,group form)))))
+       (gnus-group-edit-group-done ',part ,group form)))
+    (local-set-key
+     "\C-c\C-i"
+     (gnus-create-info-command
+      (cond
+       ((eq part 'method)
+       "(gnus)Select Methods")
+       ((eq part 'params)
+       "(gnus)Group Parameters")
+       (t
+       "(gnus)Group Info"))))))
 
 (defun gnus-group-edit-group-method (group)
   "Edit the select method of GROUP."
index 1c87a0a..fc6c03f 100644 (file)
   (let (type val)
     (save-excursion
       (while (setq type (pop types))
-       ;; Jump to the proper buffer to find out the value of
-       ;; the variable, if possible.  (It may be buffer-local.)
+       ;; Jump to the proper buffer to find out the value of the
+       ;; variable, if possible.  (It may be buffer-local.)
        (let* ((new-format
                (let ((buffer (intern (format "gnus-%s-buffer" type))))
                  (when (and (boundp buffer)
@@ -461,6 +461,9 @@ by `gnus-xmas-redefine'."
     ;; Convert the buffer into the spec.
     (goto-char (point-min))
     (let ((form (read (current-buffer))))
+      ;; If the first element is '(point), we just remove it.
+      (when (equal (car form) '(point))
+       (pop form))
       (cons 'progn (gnus-complex-form-to-spec form spec-alist)))))
 
 (defun gnus-complex-form-to-spec (form spec-alist)
index a1fe9b7..a5cafed 100644 (file)
@@ -1619,6 +1619,7 @@ increase the score of each group you read."
     "d" gnus-summary-limit-exclude-dormant
     "t" gnus-summary-limit-to-age
     "x" gnus-summary-limit-to-extra
+    "p" gnus-summary-limit-to-display-predicate
     "E" gnus-summary-limit-include-expunged
     "c" gnus-summary-limit-exclude-childless-dormant
     "C" gnus-summary-limit-mark-excluded-as-read
@@ -2074,6 +2075,7 @@ increase the score of each group you read."
        ["Age..." gnus-summary-limit-to-age t]
        ["Extra..." gnus-summary-limit-to-extra t]
        ["Score" gnus-summary-limit-to-score t]
+       ["Score" gnus-summary-limit-to-display-predicate t]
        ["Unread" gnus-summary-limit-to-unread t]
        ["Non-dormant" gnus-summary-limit-exclude-dormant t]
        ["Articles" gnus-summary-limit-to-articles t]
@@ -4552,16 +4554,15 @@ If SELECT-ARTICLES, only select those articles from GROUP."
          gnus-newsgroup-unselected nil
          gnus-newsgroup-unreads (gnus-list-of-unread-articles group))
 
-    (setq gnus-newsgroup-display (gnus-group-find-parameter group 'display))
-    (setq gnus-newsgroup-display
-         (cond
-          ((eq gnus-newsgroup-display 'all)
-           'all)
-          ((arrayp gnus-newsgroup-display)
-           (gnus-summary-display-make-predicate
-            (mapcar 'identity gnus-newsgroup-display)))
-          (t
-           nil)))
+    (let ((display (gnus-group-find-parameter group 'display)))
+      (setq gnus-newsgroup-display
+           (cond
+            ((eq display 'all)
+             'gnus-not-ignore)
+            ((arrayp display)
+             (gnus-summary-display-make-predicate (mapcar 'identity display)))
+            (t
+             nil))))
 
     (gnus-summary-setup-default-charset)
 
@@ -4665,11 +4666,13 @@ If SELECT-ARTICLES, only select those articles from GROUP."
   (when (= (length display) 1)
     (setq display (car display)))
   (unless gnus-summary-display-cache
-    (dolist (elem gnus-article-mark-lists)
-       (push (cons (cdr elem)
-                   (gnus-byte-compile
-                    `(lambda () (gnus-article-marked-p ',(cdr elem)))))
-             gnus-summary-display-cache)))
+    (dolist (elem (append (list (cons 'read 'read)
+                               (cons 'unseen 'unseen))
+                         gnus-article-mark-lists))
+      (push (cons (cdr elem)
+                 (gnus-byte-compile
+                  `(lambda () (gnus-article-marked-p ',(cdr elem)))))
+           gnus-summary-display-cache)))
   (let ((gnus-category-predicate-alist gnus-summary-display-cache))
     (gnus-get-predicate display)))
 
@@ -4708,6 +4711,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
       (memq article gnus-newsgroup-cached))
      ((eq type 'forward)
       (memq article gnus-newsgroup-forwarded))
+     ((eq type 'seen)
+      (not (memq article gnus-newsgroup-unseen)))
      ((eq type 'recent)
       (memq article gnus-newsgroup-recent))
      (t t))))
@@ -4720,7 +4725,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
          (if (or read-all
                  (and (zerop (length gnus-newsgroup-marked))
                       (zerop (length gnus-newsgroup-unreads)))
-                 gnus-newsgroup-display)
+                 (eq gnus-newsgroup-display 'gnus-not-ignore))
              ;; We want to select the headers for all the articles in
              ;; the group, so we select either all the active
              ;; articles in the group, or (if that's nil), the
@@ -6907,6 +6912,18 @@ articles that are younger than AGE days."
          (gnus-summary-limit articles))
       (gnus-summary-position-point))))
 
+(defun gnus-summary-limit-to-display-predicate ()
+  "Limit the summary buffer to the predicated in the `display' group parameter."
+  (interactive)
+  (unless gnus-newsgroup-display
+    (error "There is no `diplay' group parameter"))
+  (let (articles)
+    (dolist (number gnus-newsgroup-articles)
+      (when (funcall gnus-newsgroup-display)
+       (push number articles)))
+    (gnus-summary-limit articles))
+  (gnus-summary-position-point))
+
 (defalias 'gnus-summary-delete-marked-as-read 'gnus-summary-limit-to-unread)
 (make-obsolete
  'gnus-summary-delete-marked-as-read 'gnus-summary-limit-to-unread)
@@ -7166,7 +7183,7 @@ fetch-old-headers verbiage, and so on."
   ;; Most groups have nothing to remove.
   (if (or gnus-inhibit-limiting
          (and (null gnus-newsgroup-dormant)
-              (eq gnus-newsgroup-display 'all)
+              (eq gnus-newsgroup-display 'gnus-not-ignore)
               (not (eq gnus-fetch-old-headers 'some))
               (not (numberp gnus-fetch-old-headers))
               (not (eq gnus-fetch-old-headers 'invisible))
@@ -7257,7 +7274,6 @@ fetch-old-headers verbiage, and so on."
              t)
            ;; Do the `display' group parameter.
            (and gnus-newsgroup-display
-                (not (eq gnus-newsgroup-display 'all))
                 (not (funcall gnus-newsgroup-display)))
            ;; Check NoCeM things.
            (if (and gnus-use-nocem
index 3be8990..7dc2c47 100644 (file)
@@ -1114,6 +1114,17 @@ sure of changing the value of `foo'."
       (cons (cons key value) (gnus-remassoc key alist))
     (gnus-remassoc key alist)))
 
+(defun gnus-create-info-command (node)
+  "Create a command that will go to info NODE."
+  `(lambda ()
+     ,(concat "Enter the info system at node " node)
+     (Info-goto-node ,node)
+     (setq gnus-info-buffer (current-buffer))
+     (gnus-configure-windows 'info)))
+
+(defun gnus-not-ignore (&rest args)
+  t)
+
 (provide 'gnus-util)
 
 ;;; gnus-util.el ends here
index bf39359..bc7257b 100644 (file)
@@ -90,7 +90,7 @@
                enable-multibyte-characters help-echo-owns-message))
   (maybe-fbind '(Info-goto-node
                 add-submenu annotation-glyph annotationp babel-as-string
-                button-press-event-p char-int characterp color-instance-name
+                button-press-event-p characterp color-instance-name
                 color-instance-rgb-components color-name delete-annotation
                 device-class device-on-window-system-p device-type
                 display-error event-glyph event-object event-point
index c76f4ff..f9af0e8 100644 (file)
@@ -81,7 +81,7 @@
      "http://www.cnn.com/cnn.rss"
      "The world's news leader.")
     ("FreshMeat"
-     "http://freshmeat.net/backend/fm.rdf"
+     "http://freshmeat.net/backend/fm-releases.rdf"
      "The one-stop-shop for all your Linux software needs.")
     ("The.Guardian.newspaper"
      "http://www.guardianunlimited.co.uk/rss/1,,,00.xml"
index 2a626ed..9a5fc61 100644 (file)
@@ -1,3 +1,9 @@
+2001-08-23 19:22:59  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Group Parameters): Fix.
+       (Group Parameters): Addition.
+       (Limiting): Addition.
+
 2001-08-21 23:55:48  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Score Variables): Fix.
index 066bd87..6a0a5e9 100644 (file)
@@ -2796,12 +2796,14 @@ kiboze \e$B%0%k!<%W$r:n@.$7$^$9!#%W%m%s%W%H$GL>A0$H!"\e(Bkiboze \e$B%0%k!<%W$K!V4^$
 \e$B%W$NE,1~%U%!%$%k$K$7$^$9!#A4$F$NE,1~%9%3%"EPO?$O$3$N%U%!%$%k$KF~$j$^$9!#\e(B
 
 @item admin-address
+@cindex admin-address
 \e$B%a!<%j%s%0%j%9%H$+$iC&2q$9$k$H$-$O!"C&2qDLCN%a!<%k$r$=$N%a!<%j%s%0%j%9%H\e(B
 \e$B<+?H$KAw?.$7$F$O$$$1$^$;$s!#Be$o$j$K4IM}MQ%"%I%l%9$K%a%C%;!<%8$rAw?.$7$^\e(B
 \e$B$9!#$3$N%Q%i%a!<%?$K$O$I$3$+JXMx$J4IM}MQ%"%I%l%9$r=q$$$F$*$/$3$H$,$G$-$^\e(B
 \e$B$9!#\e(B
 
 @item display
+@cindex display
 @code{(display . MODE)} \e$B$N$h$&$JMWAG$O!"%0%k!<%W$KF~$k$H$-$K$I$N5-;v$rI=\e(B
 \e$B<($9$k$+$r;XDj$7$^$9!#M-8z$JCM$O!"\e(B
 
@@ -2824,24 +2826,29 @@ kiboze \e$B%0%k!<%W$r:n@.$7$^$9!#%W%m%s%W%H$GL>A0$H!"\e(Bkiboze \e$B%0%k!<%W$K!V4^$
 @item [not expire]
 \e$B4|8B@Z$l>C5n2DG=$J5-;v0J30$N$9$Y$F$rI=<($7$^$9!#\e(B
 
-@item [and (not reply) (not expirable)]
+@item [and (not reply) (not expire)]
 \e$B4|8B@Z$l>C5n2DG=$H$9$G$KJV?.$7$?5-;v0J30$N$9$Y$F$rI=<($7$^$9!#\e(B
 @end table
 
 \e$BMxMQ$G$-$k1i;;;R$O\e(B @code{not}\e$B!"\e(B@code{and} \e$B$*$h$S\e(B @code{or} \e$B$G$9!#=R8l\e(B
-\e$B$O\e(B @code{tick}\e$B!"\e(B@code{unsend}\e$B!"\e(B@code{undownload}\e$B!"\e(B@code{unread}\e$B!"\e(B
-@code{read}\e$B!"\e(B@code{dormant}\e$B!"\e(B@code{}\e$B!"\e(B@code{}\e$B!"\e(B@code{}\e$B!"\e(B@code{expire}\e$B!"\e(B
-@code{reply}\e$B!"\e(B@code{killed}\e$B!"\e(B@code{bookmark}\e$B!"\e(B@code{score}\e$B!"\e(B@code{save}\e$B!"\e(B
-@code{cache}\e$B!"\e(B@code{forward} \e$B$*$h$S\e(B @code{recent} \e$B$r4^$_$^$9!#\e(B
+\e$B$O\e(B @code{read}\e$B!"\e(B@code{dormant}\e$B!"\e(B@code{expire}\e$B!"\e(B@code{reply}\e$B!"\e(B
+@code{killed}\e$B!"\e(B@code{bookmark}\e$B!"\e(B@code{score}\e$B!"\e(B@code{save}\e$B!"\e(B@code{cache}\e$B!"\e(B
+@code{forward}\e$B!"\e(B@code{seen} \e$B$*$h$S\e(B @code{recent} \e$B$r4^$_$^$9!#\e(B
 @end table
 
+@code{display} \e$B%Q%i%a!<%?$O!"35N,%P%C%U%!$r;XDj$7$?0lIt$NAH$@$1$K@)8B$9\e(B
+\e$B$k$h$&$KF/$-$^$9!#@)8B$r%9%?%C%/$+$i<h$j=P$9$N$O\e(B @kbd{/ w} \e$B%3%^%s%I$G$G\e(B
+\e$B$-$^$9\e(B (@pxref{Limiting})\e$B!#\e(B
+
 @item comment
+@cindex comment
 @code{(comment . "This is a comment")} \e$B$N$h$&$JMWAG$O!"$=$N%0%k!<%W$KBP\e(B
 \e$B$9$kG$0U$N%3%a%s%H$G$9!#$3$l$O8=:_$N\e(B gnus \e$B$G$OL5;k$5$l$^$9$,!"FCDj$N%0%k!<\e(B
 \e$B%W$KBP$9$k>pJs$r3JG<$9$k>l=j$rDs6!$7$^$9!#\e(B
 
 @ignore
 @item charset
+@cindex charset
 Elements that look like @code{(charset . iso-8859-1)} will make
 @code{iso-8859-1} the default charset; that is, the charset that will be
 used for all articles that do not specify a charset.
@@ -2849,6 +2856,7 @@ used for all articles that do not specify a charset.
 See also @code{gnus-group-charset-alist}.
 
 @item ignored-charsets
+@cindex ignored-charsets
 Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
 default charset will be used for decoding articles.
@@ -2856,6 +2864,7 @@ default charset will be used for decoding articles.
 See also @code{gnus-group-ignored-charsets-alist}.
 @end ignore
 @item posting-style
+@cindex posting-style
 \e$B$3$N%0%k!<%W$NDI2C$NEj9FMM<0$r$3$3$N$_$KJ]B8$9$k$3$H$,$G$-$^\e(B
 \e$B$9\e(B (@pxref{Posting Styles})\e$B!#=q<0$O\e(B @code{gnus-posting-style} \e$BO"A[%j%9%H\e(B
 \e$B$HF1$8$G$9$,!"$3$3$K$O%0%k!<%WL>$K9gCW$9$k@55,I=8=$O$"$j$^$;$s\e(B (\e$BEvA3$G\e(B
@@ -2878,6 +2887,7 @@ See also @code{gnus-group-ignored-charsets-alist}.
 \e$B$F\e(B @code{gnus-post-method} \e$B$NBe$o$j$K;H$o$l$^$9!#\e(B
 
 @item banner
+@cindex banner
 @code{(banner . "regex")} \e$B$N$h$&$J9`L\$O!"5-;v$N$9$Y$F$N>l=j$G@55,I=\e(B
 \e$B8=\e(B "regex" \e$B$K%^%C%A$9$k$b$N$r:o=|$7$^$9!#\e(B"regex" \e$B$NBe$o$j$K%7%s%\\e(B
 \e$B%k\e(B @code{signature} (\e$B:G8e$N=pL>$r:o\e(B
@@ -5648,6 +5658,13 @@ gnus \e$B<+BN$O2D;k5-;v$r4|8B@Z$l>C5n$7$^$;$s\e(B) \e$B$N$G!"1J1s$K5-;v$rJ]B8$7$F$*
 \e$B35N,%P%C%U%!$r$"$k%9%3%"$HF1$8$+!"$=$l$h$jBg$-$J%9%3%"$r;}$D5-;v$K@)8B$7\e(B
 \e$B$^$9\e(B (@code{gnus-summary-limit-to-score})\e$B!#\e(B
 
+@item / p
+@kindex / p (Summary)
+@findex gnus-summary-limit-to-display-parameter
+\e$B35N,%P%C%U%!$r\e(B @code{display} \e$B%0%k!<%W%Q%i%a!<%?$N=R8l$rK~B-$5$;$k$h$&$K\e(B
+\e$B@)8B$7$^$9\e(B (@code{gnus-summary-limit-to-display-parameter})\e$B!#$3$N=R8l$K\e(B
+\e$B4X$9$k>\:Y$O\e(B @pxref{Group Parameters} \e$B$r;2>H$7$F2<$5$$!#\e(B
+
 @item / E
 @itemx M S
 @kindex M S (\e$B35N,\e(B)
index d727476..a076e8f 100644 (file)
@@ -2710,12 +2710,14 @@ Elements that look like @code{(adapt-file . "file")} will make
 All adaptive score entries will be put into this file.
 
 @item admin-address
+@cindex admin-address
 When unsubscribing from a mailing list you should never send the
 unsubscription notice to the mailing list itself.  Instead, you'd send
 messages to the administrative address.  This parameter allows you to
 put the admin address somewhere convenient.
 
 @item display
+@cindex display
 Elements that look like @code{(display . MODE)} say which articles to
 display on entering the group.  Valid values are:
 
@@ -2739,28 +2741,32 @@ Display only unread articles.
 @item [not expire]
 Display everything except expirable articles.
 
-@item [and (not reply) (not expirable)]
+@item [and (not reply) (not expire)]
 Display everything except expirable and articles you've already
 responded to.
 @end table
 
 The available operators are @code{not}, @code{and} and @code{or}.
 Predicates include @code{tick}, @code{unsend}, @code{undownload},
-@code{unread}, @code{read}, @code{dormant}, @code{}, @code{}, @code{},
-@code{expire}, @code{reply}, @code{killed}, @code{bookmark},
-@code{score}, @code{save}, @code{cache}, @code{forward}, and
-@code{recent}.
+@code{read}, @code{dormant}, @code{expire}, @code{reply},
+@code{killed}, @code{bookmark}, @code{score}, @code{save},
+@code{cache}, @code{forward}, @code{seen} and @code{recent}.
 
 @end table
 
+The @code{display} parameter works by limiting the summary buffer to
+the subset specified.  You can pop the limit by using the @kbd{/ w}
+command (@pxref{Limiting}).
 
 @item comment
+@cindex comment
 Elements that look like @code{(comment . "This is a comment")}
 are arbitrary comments on the group.  They are currently ignored by
 gnus, but provide a place for you to store information on particular
 groups.
 
 @item charset
+@item charset
 Elements that look like @code{(charset . iso-8859-1)} will make
 @code{iso-8859-1} the default charset; that is, the charset that will be
 used for all articles that do not specify a charset.
@@ -2768,6 +2774,7 @@ used for all articles that do not specify a charset.
 See also @code{gnus-group-charset-alist}.
 
 @item ignored-charsets
+@item ignored-charset
 Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
 default charset will be used for decoding articles.
@@ -2775,6 +2782,7 @@ default charset will be used for decoding articles.
 See also @code{gnus-group-ignored-charsets-alist}.
 
 @item posting-style
+@cindex posting-style
 You can store additional posting style information for this group only
 here (@pxref{Posting Styles}).  The format is that of an entry in the
 @code{gnus-posting-styles} alist, except that there's no regexp matching
@@ -2797,6 +2805,7 @@ If it is set, the value is used as the method for posting message
 instead of @code{gnus-post-method}.
 
 @item banner
+@cindex banner
 An item like @code{(banner . "regex")} causes any part of an article
 that matches the regular expression "regex" to be stripped. Instead of
 "regex", you can also use the symbol @code{signature} which strips the
@@ -4111,12 +4120,13 @@ the @code{a} spec.
 @item L
 Number of lines in the article.
 @item c
-Number of characters in the article. This specifier is not supported in some
-methods (like nnfolder).
+Number of characters in the article. This specifier is not supported
+in some methods (like nnfolder).
 @item I
 Indentation based on thread level (@pxref{Customizing Threading}).
 @item B
-A complex trn-style thread tree, showing response-connecting trace lines.
+A complex trn-style thread tree, showing response-connecting trace
+lines.
 @item T
 Nothing if the article is a root and lots of spaces if it isn't (it
 pushes everything after it off the screen).
@@ -5671,6 +5681,14 @@ the stack.
 Limit the summary buffer to articles that have a score at or above some
 score (@code{gnus-summary-limit-to-score}).
 
+@item / p
+@kindex / p (Summary)
+@findex gnus-summary-limit-to-display-parameter
+Limit the summary buffer to articles that satisfy the @code{display}
+group parameter predicate
+(@code{gnus-summary-limit-to-display-parameter}).  See @pxref{Group
+Parameters} for more on this predicate.
+
 @item / E
 @itemx M S
 @kindex M S (Summary)