DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: = T

⟦839b5f68d⟧ TextFile

    Length: 10801 (0x2a31)
    Types: TextFile
    Names: »==README«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦32c6b6024⟧ »./gnews-2.0-tar.Z« 
        └─⟦5d06bd818⟧ 
            └─⟦this⟧ »gnews-2.0/==README« 

TextFile

Welcome to Gnews, Copyright (C) 1987, 1988 by Matthew P Wiener.  Now you
too can post just like us friendly folks at the Brahms Gang!

Gnews is an Emacs clone of rrn--"remote rn".  Naive rn-like usage should
work without surprises.  In particular, the default commands are unrelated
to those used in M-x rnews.  Note that Gnews was not designed with either
the Emacs or the rn beginner in mind, but with advancing code maturity,
I'll see what I can do about making Gnews friendlier.

The original design goal, as many of you might have guessed, was to make
high-volume reading/posting/flaming doable.  This goal being well met,
the current one is to emphasize user flexibility, and to encourage what
I hope is a new era of user experimentation in the development of news-
reading styles and configurations.  Go for it, people.  (And along the
way, I'm introducing speedier code and nifty suggestions.)
----------------------------------------------------------------------
Gnews only works on BSD 4.{2,3} and related systems since its internals
rely on sockets, namely the function open-network-stream.  Rewrite that
and the rest should work straightforwardly.

So far, it has worked, not always effortlessly, on a VAX 8800 under Ultrix
V2.0, a VAX 750 under BSD 4.3, an RT under 4.2a ACIS, a Sun 3/50 under Sun
4.2, an Apollo DN3000 running DOMAIN/IX, and an Alliant FX/8 running Con-
centrix 3.0, all with GNU Emacs versions >> 18.40.

It has been successfully ported, with changes in the Emacs C code, but no
change in the ELisp, to an Altos SysV with EXOS TCP/IP.

(The original version talked directly to an external NNTP process, coded
in C.  Send me e-mail if something like is what you need, although current-
ly this interface is way out-of-date.  The file Spool.el can be used for
reading directly off a spool, ie, to make Gnews an rn-clone.  If you don't
have a Sys-V based system, I recommend that you bring up NNTP instead.)
----------------------------------------------------------------------
The seventh draft of the texinfo manual is now ready.  Everything you
need at a minimum and quite a bit more is there.  The number of missing
items is now comfortably small.  Suggestions for improving it are most
welcome--I've never written one of these before.

To set up a manual, on-line or printed, mostly follow the directions in
the `texinfo' node of the Emacs info tree.  Change the second line of
the manual to suit yourself.

To get the on-line version (in brief): visit =MANUAL in some buffer.  Be
sure that there is no narrowing.  Execute `M-x texinfo-format-buffer'.
Put a menu item for Gnews into your `dir' file.

Emacs, for some reason, provides no internal mechanism for multiple Info
directories.  So if you don't have the permissions to modify your site's
Emacs Info directory, do the following: put
    (setq Info-directory "my-info-directory")
in your .emacs, and fill that directory with symbolic links to the real
Info files.  Put the Gnews info files in that directory, along with a
modified "dir" file that includes a node for Gnews.

The manual should be installed, since some of the on-line help refers to
it.  At each Gnews level, "h" provides a quick summary of the mode and
"H" a longer summary, except in the two reply modes and hook-kill mode,
which rely on "C-c ?" and "C-c C-h".  "M-h" and "C-M-h" are also bound
at the top level to functions providing information about Gnews features
in contrast with rn, and bugs, respectively.  "W" at the top level will
fill a buffer with informative(?) samples of my own customizations.  A
prefix argument with "H" or "C-c C-h", whichever is appropriate, goes to
the info node for the Gnews mode.

Don't forget to read the internal documentation for the 'Gnews command
itself.

Skim the top of the =CHANGES-1 file when you install an updated version.
Some of the comments refer to internals, and are ignorable for casual
usage.  (Although checking might give you a clue that some particular
bug you hit is of the weemba-revamped-a-lot-but-darn-it-he-missed-one
sort.)
----------------------------------------------------------------------
No script for initializing site-dependent stuff is given.  Instead, just
manually fix the source once, at the top of Init.el, recompile, and save
a diff for patching into later versions, both *.el and perhaps *.elc.
(It is simpler, especially now while Gnews is being updated frequently,
to have users autoload a gnews-site.el file that sets these variables,
loads Init.el, and then redefines any site-particular functions, plus
any bug-fixed functions.  Then such a gnews-site.el is the only one ever
needs that to be changed.)  (As for myself, I just set these variables
in my .emacs or gnews-start-hook.)

The key site-dependent item that must be set before Gnews will work is
gnews-spool-machine, a string containing the name of the machine you plan
to read news off of remotely.  The "your.nntp.host" string should be
changed to the name of the NNTP server.  You may also have to modify
nntp-service, listed under the "obscure" site dependent variables.  By
default it is just the string "nntp", but some older systems might need
to refer directly to it via the port number 119.  NB: this is the number
119, not the string "119".  (If you read news directory off a spool, you
should change nntp-service to nil.)

Some machines/operating systems--like the above mentioned Apollo DN3000--
may have timing errors inside gnews-accept-process-output.  The current
workaround is to avoid byte-compile-ing that function, say by changing
the source's defun into an fset, or loading the uncompiled version via
a gnews-site.el.  (The DN4000 under SR10 works as is here.)

(Timing errors may be more widespread: I condition-case a "select error"
deep inside the current article-get, apparently without ill effect.  This
is obviously asking for trouble, so the older version, article-get-slow,
is not being retired.  I do not know if this is a sign of bugs in my code,
GNU Emacs, or somebody's Unix.  So far no one has complained.)

The remaining site-dependent stuff--that I know of--is rather minor:
gnews-organization, gnews-machine, path-host, path-service, gnews-bug-address

gnews-organization is the name of your site's organization.  gnews-machine
is the name of your machine as used by the "From" and "Reply-To" fields.
By default it is set to (system-name); if that is not appropriate for news
and mail purposes, you will have to change it.  gnews-bug-address is my
e-mail address relative to your site; the bug reporting code uses it.  If
your machine groks INTERNET addresses, then the supplied value should be
correct.

path-host is more esoteric and perhaps not very portable: it is the name
of a server where a telnet'able pathalias database is kept, and is used
only by the path-alias function.  If you have a different mechanism for
generating paths--write it yourself (and let me know about it).  You may
also have to change path-service from "uucp-path" to 117.  (See RFC 915)

The variable gnews-code-directory is a hack, giving a path to the Gnews'
internals.  I hope the little code that I wrote is general enough for
everyone.  If it comes out nil for you, you'll have to replace it with
a "/"-terminated string that names your Gnews' directory.  Because this
is ugly and of very minor interest, it's placed at the end of Init.el.
----------------------------------------------------------------------
If you wish to emulate rn instead of rrn, set nntp-service to nil.  I
am not able to test this directly, but some people have debugged it and
gotten it to work.

Note: it finally occurred to me to set up some toy news directories for
small scale tinkering.  Still, this can't compare with the real thing.
----------------------------------------------------------------------
IMPORTANT NOTE about byte-compiling the Gnews source:

*> The *.elc files may have come with your code. If they didn't, or if <*
*> you change some source while installing, load prims.el BEFORE comp- <*
*> iling the *.el files; otherwise some major macros won't be defined. <*

If you are running Gnews off a separate "gnews" directory, then you should
put directory either in your load-path, or one below some such directory.
Something like (setq load-path (append load-path '(".../gnews-dir"))) in
your .emacs file should do the trick.
----------------------------------------------------------------------
I would strongly prefer if major bug fixes and the like NOT be sent to
me as patches--they will sit and rot for a while before I get to them.
Quite simply, I do not want to change my code until I know what you've
sent is correct; I'd rather eval your defuns and test things as they
come in, or later, straight out of my mail archives.  This is Emacs,
remember--let's play off its strengths.  (But please include comments
to indicate the lines you changed/added/deleted, so that I can try to
understand your code without too much effort.)

Similarly, most of my bug fixes will not be patches: I recommend instead
that you expand on the gnews-site.el idea mentioned above, and include
any new function defuns at the end of such a file, and install each new
Gnews version by just replacing the old Gnews files and cleaning up the
end of your gnews-site.el.  And perhaps I'll get energetic someday and
write a gnews-patch function which can be run on a buffer and installs
the new code.

The C-w command initializes a Gnews bug report--mail to me--in most modes.
----------------------------------------------------------------------
Some pedantic requests: observe that I spell the program name with a
big-G, like Cheerios, and I'd appreciate if you did the same too when
you're being careful.  (IE, if you're in the e-e-cummings mood, never
mind.  But when you are precise with "NNTP", "Pnews", etc, do the same
with "Gnews".)  And pronounce the name guh-NEWS, not JEE-news.  Can
you guess why?

Good luck, and happy flaming y'all.  And be warned about looking at my
code for too long--I even >program< obnoxiously.  (Heh heh.)

ucbvax!garnet!weemba	Matthew P Wiener/Brahms Gang/Berkeley CA 94720
Without NNTP, the Brahms Gang itself would be impossible.--Erik E Fair
----------------------------------------------------------------------
PS-I have to thank the many people who have helped contribute to the
coding of Gnews, tested it under more primitive circumstances, and/or
improved my understanding of NNTP, GNU Emacs, and even Gnews itself.
This includes (the late) Michael Ellis, Gene Ward Smith, Emile LeBlanc,
Erik E Fair, Alex Z Liu, Rusty Wright, Fred Douglis, Henry Mensch, Len
Tower, Michael I Bushnell, Ashwin Ram, John Robinson, Hal R Peterson,
and Richard L Krawitz.

Extra thanks goes to Larry Wall, Brian Kantor, Phil Lapsley, and of
course, Richard M Stallman.