Gnus development mailing list
 help / color / mirror / Atom feed
* Q: Extending nntp (for nndb)
@ 1996-03-26 10:37 Kai Grossjohann
  1996-03-27  4:49 ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: Kai Grossjohann @ 1996-03-26 10:37 UTC (permalink / raw)


Hi there,

I'm trying to extend nntp so that it deals with the things that make
sense for `private' nndb groups, like `B c' and `B m' and expiry and
stuff.  I admit that I've never really looked into the source before,
and I'm not sure what I should do.

There are several issues:
    - What exactly are the backend functions supposed to do?
    - How do I deal with all the variables and group parameters?

Ad 1:  Backend functions.

The documentation for, say, nnchoke-request-accept-article, says:

,-----
| `(nnchoke-request-accept-article GROUP &optional LAST)'
|      This function takes the current buffer and inserts it into
|      GROUP.  If LAST in `nil', that means that there will be more
|      calls to this function in short order.
| 
|      There should be no data returned.
`-----

Note the last sentence.  From debugging nnml, however, it seems that
this function should return ("<group name>" <article number>).  What's
the story?  How do the return values interact with this strange buffer
that's supposed to contain the results, if any?

Are there other things that the docs don't mention but I should know?
Remember that this was my first cut at trying anything.


Ad 2: Variables, group parameters.

I created a file nndb.el with a lot of defalias statements, for all
the functions that already exist in nntp.el.  I figured that this way,
I would only need to write the missing functions.

However, I would like nndb to use port 9000 by default, changeable via
parameters, as usual.  How would I go about this?

Further, when in a function, how do I find out the values of all the
parameters (host, port, whatever), considering that the currenly valid
value may come from a group parameter, may come from the server
definition, or may come from one of the variables which change the
defaults.  And this isn't considering the environment variables, even.

Maybe this was a completely stupid approach of doing it?  Should I've
copied nntp.el then change every occurrence of "nntp" to "nndb", then
change the defaults at will?  Should I've extended nntp.el instead to
recognize the new servers?  Is ELisp object oriented and supports
inheritance but I don't know it?

Thanks a lot for you kind help for a novice Gnus programmer,
        kai
--
There ain't no cure for the summer time blues.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1996-03-29 16:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-03-26 10:37 Q: Extending nntp (for nndb) Kai Grossjohann
1996-03-27  4:49 ` Lars Magne Ingebrigtsen
1996-03-27  7:34   ` Kai Grossjohann
1996-03-27  8:11     ` Per Abrahamsen
1996-03-29 16:10     ` Lars Magne Ingebrigtsen

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).