Gnus development mailing list
 help / color / mirror / Atom feed
From: Kai Grossjohann <grossjoh@charly.informatik.uni-dortmund.de>
Subject: Q: Extending nntp (for nndb)
Date: 26 Mar 1996 11:37:54 +0100	[thread overview]
Message-ID: <vafg2awm96l.fsf@dusty.informatik.uni-dortmund.de> (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.


             reply	other threads:[~1996-03-26 10:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-03-26 10:37 Kai Grossjohann [this message]
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

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=vafg2awm96l.fsf@dusty.informatik.uni-dortmund.de \
    --to=grossjoh@charly.informatik.uni-dortmund.de \
    /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).