Gnus development mailing list
 help / color / mirror / Atom feed
From: Hanak David <dhanak@inf.bme.hu>
Subject: Re: emacs.gnus
Date: Mon, 09 Jun 2003 14:24:10 +0200	[thread overview]
Message-ID: <m2brx7phg5.fsf@maui.hanak.hu> (raw)
In-Reply-To: <84znkrk3vr.fsf@lucy.is.informatik.uni-duisburg.de>

[-- Attachment #1: Type: text/plain, Size: 1610 bytes --]

On Mon, 09 Jun 2003, Kai Großjohann wrote:

> The FSF wants to have a copyright assignment for everything that is
> part of Emacs.  This way, when somebody violates the GPL, the FSF can
> defend it.  I understand that if many people hold the copyright for
> pieces of Emacs, then those people would have to cooperate to defend
> the copyright.

That sounds perfectly reasonable.  But what do I have to do to assign all
copyrights to the FSF?  (I've checked the FSF homepage, but haven't found
the HOW, only the WHY.)

> As an example, here is how Gnus invokes nnchoke-request-article:
[...]
> You have a function gnus-group-article-list which is intended to do
> the same, but it uses a different mechanism.  For example, the

Wow, that's cool.  Thanks for letting me know.

> I hope I'm not offending you with this stuff, I think you have a

Not offended, on the contrary.


So, I've recoded it following your guidelines.  In fact, I've found a
function called gnus-request-group-articles, which, according to its
docstring, is doing the same as gnus-group-article-list.  There was no
equivalent backend function for nnml, so I've done that, but there *was*
one for the nntp backend, which always returned t instead of a list of
article numbers.  As far as I could tell, these functions weren't used at
all, so I removed nntp-request-group-articles with another patch. :-{

I could have taken the other road and added a new function (say,
gnus-request-group-artcile-list) to gnus-int.el which seemingly does the
same, but that doesn't sound good either.  What do you think?

New patches are attached.

David


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gnus.patch --]
[-- Type: text/x-patch, Size: 2562 bytes --]

*** /usr/share/emacs/site-lisp/gnus/lisp/gnus-sum.el	2003-06-07 19:40:22.000000000 +0200
--- ./gnus-sum.el	2003-06-09 12:05:22.000000000 +0200
***************
*** 5242,5247 ****
--- 5242,5248 ----
  	      ;; articles in the group, or (if that's nil), the
  	      ;; articles in the cache.
  	      (or
+ 	       (gnus-request-group-articles group)
  	       (gnus-uncompress-range (gnus-active group))
  	       (gnus-cache-articles-in-group group))
  	    ;; Select only the "normal" subset of articles.
*** /usr/share/emacs/site-lisp/gnus/lisp/nnml.el	2003-05-01 16:23:15.000000000 +0200
--- ./nnml.el	2003-06-09 13:29:21.000000000 +0200
***************
*** 84,89 ****
--- 84,96 ----
  (defvoo nnml-use-compressed-files nil
    "If non-nil, allow using compressed message files.")
  
+ (defvoo nnml-ignore-active-file nil
+   "If t or matches the group name as a regexp, the active file is ignored
+ when retrieving the list of existing articles.  This causes nnml to do some
+ extra work in order to determine the true active ranges of a group.  Note
+ that the active file is still saved, but its values are not used.  This
+ costs some extra time when scanning a group when opening it.")
+ 
  \f
  
  (defconst nnml-version "nnml 1.0"
***************
*** 1007,1012 ****
--- 1014,1031 ----
  	(nnml-save-marks group server)
  	(nnheader-message 7 "Bootstrapping marks for %s...done" group)))))
  
+ (deffoo nnml-request-group-articles (group &optional server)
+   "Return the list of existing articles in GROUP if
+ `nnml-ignore-active-file' is t or matches the group name as a regexp,
+ otherwise return nil."
+   (if (or (eq nnml-ignore-active-file t)
+ 	  (and (stringp nnml-ignore-active-file)
+ 	       (string-match nnml-ignore-active-file group)))
+       (sort (nnheader-directory-articles
+ 	     (nnheader-group-pathname (gnus-group-real-name group)
+ 				      nnml-directory))
+ 	    '<)))
+ 
  (provide 'nnml)
  
  ;;; nnml.el ends here
*** /usr/share/emacs/site-lisp/gnus/lisp/nntp.el	2003-05-02 19:55:56.000000000 +0200
--- ./nntp.el	2003-06-09 13:31:08.000000000 +0200
***************
*** 845,856 ****
     nil server
     (nntp-send-command "^\\.*\r?\n" "LIST ACTIVE" group)))
  
- (deffoo nntp-request-group-articles (group &optional server)
-   "Return the list of existing articles in GROUP."
-   (nntp-with-open-group
-    nil server
-    (nntp-send-command "^\\.*\r?\n" "LISTGROUP" group)))
- 
  (deffoo nntp-request-article (article &optional group server buffer command)
    (nntp-with-open-group
      group server
--- 845,850 ----

  reply	other threads:[~2003-06-09 12:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-08 13:04 emacs.gnus Hanak David
2003-06-08 19:12 ` emacs.gnus Kai Großjohann
2003-06-08 21:04   ` emacs.gnus Hanak David
2003-06-09  9:16     ` emacs.gnus Kai Großjohann
2003-06-09 12:24       ` Hanak David [this message]
2003-06-09 13:34         ` emacs.gnus Kai Großjohann
2003-06-09 15:00           ` emacs.gnus Hanak David
2003-06-09 17:34             ` emacs.gnus Kai Großjohann
2003-06-10 13:33               ` emacs.gnus Hanak David
2003-06-10 16:58                 ` emacs.gnus Kai Großjohann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2brx7phg5.fsf@maui.hanak.hu \
    --to=dhanak@inf.bme.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).