home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
484b.lha
/
ARN_v0.68
/
Arn068.lzh
/
Arn.doc
< prev
next >
Wrap
Text File
|
1991-02-17
|
75KB
|
1,703 lines
__________________________________
| |
| |
| ** |
| **** |
| ** ** ** *** ***** |
| ** ** *** ** ** ** |
| ****** ** ** ** ** |
| ** ** ** ** ** |
| ** ** **** ** ** |
| |
| Amiga-USENET-NewsReader |
| (C)opyright by Roland Bless |
| ©/Written 1990,91 |
| A Byteable Software Product |
|__________________________________|
Arn.doc
for
VERSION 0.68
------------
Hint: Find out your current-version-number by typing "Arn -i" to a CLI.
CHANGES according to earlier versions can be found at the end of this file.
o (C)opyright and Distribution
----------------------------
This program and its documentation can be freely distributed, but ONLY
if these rules are followed:
- Commercial usage and making profit with it in any form is strictly
prohibited!
DISTRIBUTION IS ONLY ALLOWED AT COST-PRICE/FOR NON-PROFIT!
- All (C)opyright-notes must be maintained! All rights reserved!
(C)opyright remains by Roland Bless.
- Redistribution of a changed program and/or documentation is not
allowed!
- Distribution of this packet/program together with another
documentation (e.g. translated) is not allowed! It must be separately
distributed from this packet.
- The redistribution of a changed source without permission of
the author is strictly prohibited!
- I do not take the responsibility for any loss of data or any kind
of trouble caused by "Arn"!
- I do not guarantee that all functions work as described/expected!
If you enjoy the program:
------------------------
Please keep always in mind that I spent much (spare-)time in writing this
software and feel free to support me with some money of any amount
(suggested 15-20 DM or US $10). My address is:
Roland Bless
Kriegsstrasse 129
FRG - 7500 Karlsruhe 1
(Federal Republic of Germany)
Please redistribute always the files together which come with this
release. Thanks!
Send any detailed(!) Bug-Reports to (UUCP): bugs@spirits.ka.sub.org
o Files
-----
Arn - the executable/binary
Arnhelp.txt - the help-text for arn.
Arn.doc - this documentation
preprnews - a little program for rnews to get single articles put into
your own newsgroups (esp. for Amiga-UUCP).
.arnrc - an example of "Arn"'s configuration file (AmigaUUCP-PLUS).
.arnrc.duucp - an example of "Arn"'s configuration file
(AmigaUUCP V1.08-Dillon).
UUConfig - an example of the UUCONFIG-file
sendm - an example of a possible script-file for SENDMAIL
null-handler - the null:-device
mountlist - the mountlist entry for the null-handler.
rot - a variable "rot" program (rot13).
rot.c - source and usage of rot.
README - important announces.
o Intro
-----
"Arn" (AMIGA Reads News) is a program that allows you to read and write a
lot of news-articles and keeps track of what you already have read or
not. It is designed for the USENET and follows the rules given by RFC
1036 (Standard for Interchange of USENET Messages). It doesn't use the
mouse, because I think it is better to use the keyboard all the time when
the task is to read and write many words. To switch always from keyboard
to mouse (e.g. paging via mouse, writing a follow-up with the keyboard)
is not rational (IMHO).
This newsreader was written from scratch without looking into the real
"rn"-source. Please understand that this version is not yet as powerful
as its model. It was written in C and I tried my best to program it close
to the "programming-rules" from Commodore-Amiga. Maybe it will run just
as good under Amiga-OS 2.0 as under Kickstart 1.3/1.2. If you don't know
what a "newsreader" is, this is maybe the wrong program for you! But if
you want to use or learn "UUCP", you should read this manual. "Arn" was
originally written for Amiga-UUCP, so it will be easy to install it for
this UUCP-Version.
However, "Arn" was designed to work together with other programs.
"Arn"'s Configuration-file will allow you to cope with all other
UUCP-Versions in an easy way.
It is recommended to use //\\migaUUCP Plus (written by Ingo Feulner)
an enhancement of the AmigaUUCP V1.06D with CNews. With this package it
is possible to spool and expire news (real history...). "Arn" makes use
of the "active"-file which is supported by AmigaUUCP Plus, the "scanning"
phase is disabled then.
Please excuse my horrible English, it isn't my native language.
o Short information about USENET-Messages
---------------------------------------
If you want to use this NewsReader, you should be familiar with USENET
and have some experience. To give a full introduction into USENET is not
my task...but I'll give some hints for newusers.
I highly recommend to read the newsgroups:
news.announce.newusers (moderated!) and news.newusers.questions
as well as
"How to use USENET effectively" by Matt Bishop.
It should be available nearly at every site/newsfeed and comes with
the AmigaUUCP-package.
Some general information about news-articles:
USENET-Messages consist always of a message-header and a message-body.
The header contains some useful informations for news-transmission as
well as for the reader (YOU!).
To continue (long) header-lines, just begin the next line with at least
one SPACE or TAB (important for long lines your editor wraps around!).
IMPORTANT:
THE HEADER IS ALWAYS SEPARATED FROM THE MESSAGE-BODY/TEXT BY AT LEAST
ONE BLANK LINE! If you're posting articles to the net, please keep always
in mind that you leave at least one blank line after the header.
Your realname should be visible in the article. If not in the header then
in your signature. The "signature" normally consists of one or two lines
containing your realname and E-mail-address and is placed at the end of
your article ("Arn" will append it for you...).
Some newsgroups are moderated! It is not allowed to post directly to
these groups (see ACTIVEFILE). Get a list of moderated newsgroups and
mail to the responsible moderator.
Summary of "How to use USENET effectively" by Matt Bishop:
=> Deciding to post
+ Do not repeat postings
+ Do not post anything when upset, angry, or intoxicated
+ Be sure your posting is appropriate to USENET
+ Do not post other people's work without permission
+ Don't forget that opinions are those of the poster and not his company
=> Where to Post
+ Keep the distribution as limited as possible
+ Do not post the same article twice to different groups
+ Do not post to news.announce newsgroups
+ Ask someone if you can't figure out where to post your article
+ Be sure there is a consensus before creating a new newsgroup
+ Watch out for newsgroups which have special rules about posting
=> Writing the Article
+ Write for your audience
+ Be clear and concise
+ Proofread your article
+ Be extra careful with announcements of products or services
+ Indicate sarcasm and humor
+ Mark postings which spoil surprises
+ Rotate offensive postings
+ The shorter your signature, the better
Please follow these rules!
o Installing Arn
--------------
1. System requirements
"Arn" was written under Kickstart 33.180 and Workbench 34.28 on a
European PAL-Amiga 2000B Rev 4.3 with 2 MB more Fastram (A-2058).
"Arn" normally allocates storage dynamically, so that constant values of
memory-usage cannot be given. It is quite possible that "Arn" requires
100kBytes or more if you're reading newsgroups with lots of articles. I
DID NOT TEST IT EXPLICITLY ON OTHER AMIGAS! A stack-size of 4000 bytes
should be sufficient. All memory-allocations are checked, so that no
crash is caused by insufficient free memory (esp. at the "initialization-
phase", please let me know any bugs!).
The NULL:-Device must be installed. Just copy the null-handler to your
L: directory and insert the mountlist-entry for the null-handler into
your Mountlist and "mount NULL:".
An Assign for T: and UULIB: should exist. T: is the directory for
temporary files and UULIB: is required for some "Arn"-Configuration-
Files. This is typically the UUCP-directory .../usr/lib/uucp (if you have
AmigaUUCP this assign often already exists...if you followed the docs).
The file ARNHELP.TXT SHOULD BE MOVED INTO UULIB:!
Examples:
Assign T: RAM:
Assign UULIB: UUCP:usr/lib/uucp
Last but not least, you must have installed a UUCP-Package such as
Amiga-UUCP, //\\migaUUCP Plus, Brnews, CNews or JDCP and so on...
The "rot" program is not required by "Arn" (because "Arn" has a built-in
rot), but I thought that you can maybe use it to encrypt text for writing
messages.
2. ".arnrc" - "Arn" requires a configuration file!
A file called ".arnrc" must exist in your CURRENT directory or in the
directory "UULIB:". This file is REQUIRED to configure "Arn". If you
want to have more than one user using "Arn" just create for each user
in its home-directory its individual ".arnrc" respectively "UUCONFIG".
Before entering "Arn" just "cd" into the right home-directory.
An example of ".arnrc":
# Arn Config-File for AmigaUUCP-Version 1.06D!
# these lines are comments and ignored by Arn
NEWSDIR UUNEWS:
SAVENEWS UUCP:usr/rob/News
#ACTIVEFILE UULIB:active
GROUPLIST UULIB:.newslib
UUCONFIG UULIB:Config
SEQFILE UULIB:seq
SCREENSW YES
QUOTECHAR "> "
TIMEOFFSET +0100 GMT
SIGNATURE UULIB:.signature
RELAYVER version 1.06D (AmigaUUCP)
POSTINGVER version 1.06D (AmigaUUCP)
SENDNEWS uux %s "%s!rnews"
SENDMAIL sendmail <%s -f rob
RNEWS preprnews %s "rnews "
SHELLWINDOW Y NEWCON:0/0/640/200/Arn's CLI
#EXTERNALPRG Y rx postit %s
#Set NEWSDIRTYPE to Y or YES for CNews and JDCP
#NEWSDIRTYPE Y
#Alternative reply-address
#REPLY-TO fred%nonsens@foovax.bar.com
#send mail by using a script (archives sent mails)
#SENDMAIL sendm %s rob
#FROMLINE Y
#SCREENDATA 640 512 1 0x8004
#PATHTYPE User
The format is:
KEYWORD VALUE(S)
If "Arn" finds a valid keyword, it will look for the next characters on
the same line which follow after one or more SPACEs or TABs! The keyword
is NOT case-dependent but must start in column 0! To set up your own
configuration-file, make a copy of the example that comes with "Arn" and
edit it with your favorite ASCII-Editor. The example ".arnrc" should show
you a typical setup for the Amiga-UUCP-Package.
Each keyword and its function will now be described here:
NEWSDIR
~~~~~~~
After this keyword the PATH to your "News-directory" should follow.
The "News-Directory" is that one from where all the "newsgroup"-
directories are branching. For Amiga-UUCP its typically the assign
"UUNEWS:". The last character should not be a "/" (slash), because "Arn"
will append one for you!
examples:
NEWSDIR UUNEWS:
NEWSdir UUCP:usr/spool/news
SAVENEWS
~~~~~~~~
This is the directory/PATH where your "saved" articles should go. "Arn"
will use this directory when saving an article with "s" or "w" if no
other directory is specified (which then must contain a device or a
colon).
GROUPLIST
~~~~~~~~~
This is the FILENAME which saves informations about read an unread
articles and newsgroups. Its format is described later in detail. It's
similar to the ".newsrc" created by "rn". This file will be created for
you, if it doesn't exist. The old GROUPLIST-file is always renamed to
GROUPLIST.bak the new one is always named GROUPLIST.
For those who are manipulating their GROUPLIST with an editor:
Since V0.68, the entries in GROUPLIST for one newsgroup is unlimited.
Each list for a newsgroup can be continued by starting the next line
with one or more white-spaces (spaces/tabs). The length of one line
will be truncated after 256 characters.
Because "Arn" normally creates and modifies this list automatically,
there is no need for you to notice this limit.
ACTIVEFILE
~~~~~~~~~~
This is the FILENAME (with specified path) of your active-file IF YOUR
UUCP-Version supports it (AmigaUUCP V1.08D currently does not!)!!
//\\migaUUCP Plus supports this and it's MUCH more comfortable to read
news with an "active"-file.
"Arn" will read all entries after reading the grouplist. If the group-
list isn't existent, "Arn" will read your active-file and search for
new groups to add to the grouplist. This entry activates automatically
the check for moderated groups. The format of the active-file should be:
groupname xxxxx yyyyy s
groupname is for example comp.sys.amiga, xxxxx is the last article number
(decimal), yyyyy the number of the first article in this group, s can be
the single letter "y" or "m" ("Y" or "M", too), where "m" means that this
group is moderated. Example entries:
comp.sys.amiga 00345 00101 y
comp.binaries.amiga 00100 00001 m
The numbers are considered to fit in the "long"-range. Entries in wrong
format can cause strange errors and crashes..., but normally this file
can only be changed by your uucp-software (rnews,expire).
UUCONFIG
~~~~~~~~
This is a very important FILENAME for information about the UUCP
environment. It looks like this (example):
NodeName spirits
UserName rob
RealName Roland Bless
NewsFeed flatlin
* Organization Byteable Software Products, private, Karlsruhe (FRG)
MailEditor Dme
NewsEditor Dme
DomainName .ka.sub.org
DefaultNode flatlin
Entries WITHOUT an asterisk (that is *) are REQUIRED!
I think these entries are self-explanatory. If you're running Amiga-UUCP
it is normally called "UULIB:Config". Then you do not have to create it.
SEQFILE
~~~~~~~
This is a FILENAME for a file which should contain a single number in
ASCII-Format. It will be used for the Message-ID of postings or
follow-ups and is increased by "Arn". This file exists also under
Amiga-UUCP as UULIB:seq.
SCREENSW
~~~~~~~~
Screenswitch. Favourite editors (named in UUCONFIG) can have their own
screens and therefore you can force "Arn" to switch or not to switch to
the WorkBench-Screen (bring it to front).
If something like "NO" follows (only the first letter is important), then
"Arn" will not bring the WorkBench-Screen to front. If there is a "Yes"
or anything other than "N", "Arn" will bring the WB-Screen to front.
After invoking the editor, and after the editor has quit, "Arn" will
bring always(!) the "ArnScreen" to front. If you still don't know what I
mean, just let it on "YES".
QUOTECHAR
~~~~~~~~~
This entry contains your favourite character(s) that will be used for
quoting, that means is inserted in the leftmost column in each line
of the included text at replies or follow-ups. This entry is LIMITED
in length! The whole entry should not contain more than 6 characters
that means 4 characters maximum of QUOTECHAR, because:
The first char and the last char are stripped off this string just to
make it possible for including spaces.
examples:
QUOTECHAR "> "
Quoted text looks like this:
> this is a test for quotechar. this is a quoted line of text.
> this is a test for quotechar. this is a quoted line of text.
quotechar (## |)
Quoted text then looks like this:
## |this is a test for quotechar. this is a quoted line of text.
## |this is a test for quotechar. this is a quoted line of text.
TIMEOFFSET
~~~~~~~~~~
This entry contains two values: A timezone-name and the offset to your
time concerning this timezone. Example:
TIMEOFFSET +0100 GMT
means that "Arn" will SUBTRACT ONE HOUR from your local time and will
use/append timezone GMT in Date:-lines.
Important (since V0.66):
The format of the time offset is [+|-]hhmm, where hh is the number of
hours and mm ist the number of minutes (0-60).
Example: You're 9.5 (nine a half) hours before GMT so your
factor will be 930 (nine hours and thirty minutes):
TIMEOFFSET +0930 GMT
To get your local timezone, just write an offset of 0 to the TIMEOFFSET
then your local-timezone-name after it.
TIMEoffset 0 MET
(MET means Middle-European-Time)
The value can be preceeded by a minus or a plus sign. If no sign is given
a plus is assumed (which means to SUBTRACT that value from your local
time!). Spaces between the signs and the numbers are not allowed!
Leading zeros are NOT required and can be omitted.
It is recommended to use your offset to GMT (Greenwich-Mean-Time) and
timeoffset -0100 GMT means that your time is 1 hour BEHIND GMT.
The length of the TIMEZONE-name is limited to 5 characters! If it is
missing too long, "Arn" will display a WARNING and say that it took GMT
instead!
SIGNATURE
~~~~~~~~~
The FILENAME of your signature file to append to your articles/mails
written with "Arn". "Arn" will NOT put any characters (e.g. the "--")
before your signature-text. But if you want this, just insert it in your
SIGNATURE-file...
RELAYVER and POSTINGVER
~~~~~~~~ ~~~~~~~~~~
These two lines are required by RFC 1036 (quoting):
RFC1036| be passed through unchanged. The required headers are
RFC1036| Relay-Version, Posting-Version, From, Date, Newsgroups,
RFC1036| Subject, Message-ID, Path. The optional headers are
RFC1036| Followup-To, Date-Received, Expires, Reply-To, Sender,
RFC1036| References, Control, Distribution, Organization.
RFC1036|
RFC1036| 2.1 Required Headers
RFC1036|
RFC1036| 2.1.1 Relay-Version
RFC1036|
RFC1036| This header line shows the version
RFC1036| of the program responsible for the transmission of this
RFC1036| article over the immediate link, that is, the program that
RFC1036| is relaying the article from the next site. For example,
RFC1036| suppose site A sends an article to site B, and site B
RFC1036| forwards the article to site C. The message being
RFC1036| transmitted from A to B would have a Relay-Version header
RFC1036| identifying the program running on A, and the message
RFC1036| transmitted from B to C would identify the program running
RFC1036| on B. This header can be used to interpret older headers
RFC1036| in an upward compatible way. Relay-Version must always be
RFC1036| the first in a message; thus, all articles meeting this
RFC1036| standard will begin with an upper case ``R''. No other
RFC1036| restrictions are placed on the order of header lines.
RFC1036|
RFC1036| The line contains two fields, separated by semicolons.
RFC1036| The fields are the version and the full domain name of the
RFC1036| site. The version should identify the system program used
RFC1036| (e.g., ``B'') as well as a version number and version
RFC1036| date. For example, the header line might contain
RFC1036|
RFC1036| Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP
RFC1036|
RFC1036| This header should not be passed on to additional sites.
RFC1036| A relay program, when passing an article on, should
RFC1036| include only its own Relay-Version, not the Relay-Version
RFC1036| of some other site. (For upward compatibility with older
RFC1036| software, if a Relay-Version is found in a header which is
RFC1036| not the first line, it should be assumed to be moved by an
RFC1036| older version of news and deleted.)
RFC1036|
RFC1036| 2.1.2 Posting-Version
RFC1036| This header identifies the
RFC1036| software responsible for entering this message into the
RFC1036| network. It has the same format as Relay-Version. It
RFC1036| will normally identify the same site as the Message-ID,
RFC1036| unless the posting site is serving as a gateway for a
RFC1036| message that already contains a message ID generated by
RFC1036| mail. (While it is permissible for a gateway to use an
RFC1036| externally generated message ID, the message ID should be
RFC1036| checked to ensure it conforms to this standard and to RFC
RFC1036| 822.)
The "; site sitename.domainname" will be automatically added by "Arn".
SENDNEWS
~~~~~~~~
This is the command "Arn" invokes, if you want to post an article to
the net, that means to send it to your newsfeed(s)/other sites. In
detail, the article should be spooled in your spool-directory (UUSPOOL:
with AmigaUUCP) with the necessary control-file(s) for your "uucico".
It is IMPORTANT THAT THIS LINE CONTAINS two placeholders %s!!!
It MUST BE "%s" (but without the quotation marks)!
The first placeholder stands for the internal temporary article-name,
the second for the NewsFeed-Name.
For older AmigaUUCP versions (<=V1.06D) the line then looks like
this: SENDNEWS uux %s "%s!rnews"
If you don't need the second placeholder, then can ignore it with a
semicolon (entry for //\\migaUUCP Plus):
SENDNEWS relaynews <%s -i ; %s
(No guarantuee for dropping the second %s...I think it works...)
or you should create a shell- script (with the +s flag set)
removing the second "%s" by ignoring it:
dummy.script:
.key artname/a,realname/a
.bra {
.ket }
.dot ~
; Now invoke the program for spooling-news with {artname} only!
postit {artname}
Your SENDNEWS is then: SENDNEWS dummy.script %s %s
For AmigaUUCP V1.08D (and beyond) the line is:
SENDNEWS preprnews %s "rnews " ;%s
for discription of "preprnews" look at RNEWS.
SENDMAIL
~~~~~~~~
This is the program which spools the mail for your mailfeed/sites.
Normally it would be "mail <%s", with AmigaUUCP it is
"sendmail <%s -f user". Only one %s is required for the filename of the
article. If your mail doesn't generate the "From:" line, insert the
FROMLINE entry in .arnrc. At normal AmigaUUCP (Dillon-Release) the
sendmail always appends a real-name, if already there or not.
If your mailer requires other informations, which "Arn" doesn't give, do
it with a script-file! (Note: The script bit should/must be set...) Like
this to append outgoing mails to a mail.sent-file (dmail gives you the
possibility: "set archive uumail:mail.sent")
sendm:
.key mailfile/a,username/a
.bra {
.ket }
.dot ~
IF exists "{mailfile}"
type >>UUMAIL:mail.sent {mailfile}
sendmail <{mailfile} -f "{username}"
ELSE
echo "{mailfile} not found!"
ENDIF
SENDMAIL sendm %s rob
then would be the right entry in ".arnrc".
NOTE: If you don't explicitly specify a PATH before the script-name, the
script-file must be put in a directory of your "PATH". The best is
to put it in the same directory where all your other UUCP-commands
are placed (e.g. UUCP:c).
Sample script for a missing From:-line:
.key mailfile/a
.bra {
.ket }
.dot ~
IF exists "{mailfile}"
echo >T:MYTMP "From: fred@foobar.UUCP"
type >>T:MYTMP "{mailfile}"
sendmail <T:MYTMP
ELSE
echo "{mailfile} not found!"
ENDIF
FROMLINE
~~~~~~~~
This entry doesn't require a value. If the keyword FROMLINE exists in
.arnrc, "Arn" automatically generates a "From:"-line at replies.
Examples:
FROMLINE
or
FROMLINE yes, man do it...
RNEWS
~~~~~
This is the program that sorts in the article(s) for YOUR system.
This entry is NOT required if your SENDNEWS-program "rnews" already sorts
posted articles into your newsgroups in UUNEWS:. (e.g. //\\migaUUCP Plus
and AmigaUUCP V1.08D (and beyond), CNews).
If you write an article, older versions of AmigaUUCP (<=V1.06D) e.g. send
it off, but this article is not sent into YOUR newsgroups. Normally the
SENDNEWS-program (rnews) should do this for you, but if it doesn't, take
"preprnews" and "rnews". preprnews is a little program from me:
usage: preprnews articlename progname
example: preprnews T:tmpfoobar "rnews <"
description:
preprnews reads the article named "articlename" and cuts off the
"Relay-Version:"/"Posting-Version:" lines, adds the "#! rnews XXXX"
line and passes this new file (T:TMPXXXXXX) to the program "progname".
Then the new (tmp)file is deleted.
Your entry for AmigaUUCP Versions older than V1.08D should look like this
RNEWS preprnews %s "rnews "
if you have the buggy AmigaUUCP V1.03D-rnews take the patched rnews2.
RNEWS preprnews %s "rnews2 <"
(Sorry: I didn't include it, because it would be too much waste...
Patch it yourself, it's easy!: copy rnews to rnews2
Patch in rnews2 byte $4344 from $0A to $00, e.g. with newzap)
The RNEWS-program is invoked after SENDNEWS was executed.
However: this entry is not required and if your SENDNEWS sorts/sends
articles at your system in your newsgroups, just forget this entry.
SHELLWINDOW
~~~~~~~~~~~
This entry is for the piping commands "S","W" and "|".
The format is: WBenchToFront WindowSpecifications
WBenchToFront is either "Y" or "N": N means to bring the
WorkBench-Screen NOT into front, all other values do.
This entry is optional, because "Arn" has a default entry for it:
Y CON:0/0/640/200/Arn-CLI
But you can take advantage of your favourite console-handler:
Y NEWCON:0/0/640/200/This is a newcon window raised by Arn
NEWCON: is the better WB1.3 CON: device.
As you will see, spaces are preserved, the whole string is copied until
end of line.
ConMan[1] users have a great advantage, because they are able to open the
CON:-Window on "Arn's"-Custom-Screen! A possible entry:
N CON:S*/0/0/640/200/ConManWindow on Arn Screen
If you're not using ConMan, the CON:-Window will appear on the Workbench-
Screen!
To get rid of this CON:-Window, enter "endcli" at the CLI-prompt.
You can naturally describe here a normal file-name, because "Arn" just
makes an filehandle= Open(SHELLWINDOW,MODE_NEWFILE) and then an
Execute(cmd,filehandle,filehandle).
[1]: ConMan is a replacement console handler from William S. Hawes
(Shareware!). Get it from the fish disks...latest(?) Version:
V1.3 Rev 2.
EXTERNALPRG
~~~~~~~~~~~
This optional(!) entry specifies an external program to be invoked if you
type "o" (other) at the pager/article selector.
The FIRST value must be a character "Y" or "N" to enable/disable the
SHELLWINDOW during execution of the external program.
A "N" or "n" will NOT open the SHELLWINDOW, all other values will.
There is a difference between "n" and "N":
"N" will switch WorkBenchScreen to front, "n" won't!
For the specification of SHELLWINDOWs see above. If you enable the
SHELLWINDOW, but the SHELLWINDOW entry is missing, "Arn" takes its
internal default. After one or more (white) spaces follows the next
value: A command containing a %s as placeholder for the full-pathname to
the article. The %s MUST BE PRESENT! Spaces are preserved, the whole
command-string is copied until end of line.
sample-entry:
EXTERNALPRG Y rx postit %s
This function was implemented on request of the "Software Brewery".
They released a package - written in ARexx - to post and spool news
(postit and brnews).
SCREENDATA
~~~~~~~~~~
This entry supports user defined screens (not for inexperienced users!)
and is NOT REQUIRED, but optional. It is provided to let flicker-fixer
or A-3000 users read their news with more lines than normally.
"Arn" normally opens a 640xNormalDisplayRows (256 PAL/200 NTSC), two
coloured (B/W-1 Bitplane) Screen.
(Suggested by Henrik Clausen, thanks!).
If this keyword exists, you MUST(!!) specify FOUR keywords:
SCREENDATA width height depth Modes
"width" and "height" are the ArnScreen dimensions, "depth" is the number
of desired Bitplanes, all in DECIMAL format (short integer, i.e. 16-bit).
Modes are the ViewModes in HEXADECIMAL format (short integer)! Sorry for
this inconvenience, but it's for future compatibility... Here are the
important 1.3 possible ViewModes:
Name: | Hex-Value: | Comment:
----------------+------------+---------------------------------
HIRES | 0x8000 | Doubles Width Res. (640 Pixel)
LACE | 0x0004 | Doubles Height Res. (Interlace)
| | (512 or 400 Pixel etc...)
PFBA | 0x0040 | Not useful for "Arn"
DUALPF | 0x0400 | Not useful for "Arn"
HAM | 0x0800 | Not useful for "Arn"
SPRITES | 0x4000 | Not useful for "Arn"
VP_HIDE | 0x2000 | Hides screen
GENLOCK_AUDIO | 0x0100 | n.c.
GENLOCK_VIDEO | 0x0002 | n.c.
EXTRA_HALFBRITE | 0x0080 | n.c.
To set "Arn"'s Screen to 640x512 Pixels (512 is PAL), 1 Bitplane enter
this:
SCREENDATA 640 512 1 0x8004
WARNING: If you enter any wrong values, "Arn" can crash! "Arn"
======= doesn't check your specifications. Be careful!
PATHTYPE
~~~~~~~~
This optional entry determines how "Arn" generates a Path:-line for
new-articles:
PATHTYPE User
means that "Arn" generates the line "Path: user".
PATHTYPE No
means that "Arn" generates no Path:-line at all.
all other keywords specify a full Path:-line: "Path: system!user".
This entry was necessary, because AmigaUUCP V1.08D doesn't check anymore
(for some odd reason), whether the system is already in path:-line or not
(not good!), so it doubles the system entry.
However, for AmigaUUCP Versions >=1.08D this entry should be:
PATHTYPE User
3. Invoking "Arn!"
"Arn" should be invoked from the CLI. It has a few commandline-switches
yet: Arn [-inp]
Switches can be set together after one '-' sign or each single:
"Arn -n -i" is the same as "Arn -ni". This example doesn't make sense:
switches:
-i print the version number and usage info.
-n look for new-newsgroups
-p starts "Arn" directly into "post article"-mode. After
the article is posted (or not), "Arn" will quit.
This has changed since version V0.62:
Now you can close the CLI-Window from where you invoked "Arn", because
the Standard-Error is no longer used (all Errors will now appear on
Standard-Output -stdout).
To do this you must use the "run" from WB1.3, the NULL:-device must be
mounted and available and type the following:
"run <nil: >nil: Arn <nil: >nil:"
After "Arn" has launched you can close the CLI.
Why is the Null:-Device needed?
Because "Arn" executes other programs and they need a valid
pr_ConsoleTask, which is missing if you close the CLI. Result: without
NULL: the machine would crash!
o Running Arn
-----------
"Arn" will open its own one Bitplane-Screen (that is MONOCHROM or
black/white). The cursor is now the block in the same colour as your
text.
It will automatically get the correct Screen/Window-Size, whether you
have PAL or NTSC ("Arn" looks for the gfxbase->NormalDisplayRows). At the
moment the vertical-size is 80 Chars or 640 Pixels (HIRES-Mode).
But you can specify your own Screen-Dimensions with SCREENDATA in .arnrc,
see below.
"Arn" takes the default ROM-font (which is normally topaz.8). Maybe there
are custom-fonts possible in later versions of "Arn".
If all system resources could be opened and both Config-files (.arnrc and
UUCONFIG) are correct, "Arn" will report "Initialization phase...ok!".
Otherwise "Arn" prints an error-message to Standard-Error or its own
screen (if opened). Possible error-messages are explained in the section
"Error-Messages".
- Checking for new-newsgroups
If your GROUPLIST-File doesn't exist, "Arn" automatically will ask you
for the newsgroups, you want to read. It will get all available
newsgroups from a file called "newsgroups" in your current OR the
"UULIB:" directory.
At Amiga-UUCP the file already exists as UULIB:newsgroups.
If you have an ACTIVEFILE then this activefile is taken instead of
"newsgroups", there's no need to create "newsgroups"!
The newsgroups-file has the format:
news.group
foo.bar
fred.test
So just for each newsgroup-name one line. All entries following the
newsgroups-names are ignored (if separated by TAB or SPACE).
Then "Arn" will read this "newsgroups"-file an check for missing groups
in GROUPLIST (you can force "Arn" to do this when starting it with "Arn
-n" or by pressing "^N" which means CTRL-N at the newsgroup-selector).
The sequence of presenting/scanning/reading newsgroups is determined
by the sequence of the GROUPLIST entries!!!
This procedure looks like this:
foo.bar not in .newsrc!
Put foo.bar where? (t,B,l,n,q,?=help):
Inputs are NOT case-sensitive!
Type '?' (help) to get information what these characters mean:
t=Top,B=Bottom (default),l=List,n=Nil,q=QUIT
You can type 'T' or 't' to insert it at the Top of all existing
newsgroups in your GROUPLIST.
If you type 'B' or ANY other KEY than T,L,N or Q, the group is appended
to your list in GROUPLIST.
Type 'L' to list all newsgroups that are already in GROUPLIST. "Arn" will
prompt now:
Input NUMBER, Q or RETURN:
You can now enter a number which specifies the exact position of the
newsgroup in GROUPLIST. The new newsgroup will be inserted AT this
number. If you type 'Q', you'll stop the list-function and return to the
"Put it where" prompt.
Type 'N' to skip this newsgroup, that means it will not be put in the
GROUPLIST. The scanning for further new groups is continued.
Type 'Q' to quit asking for new groups which are not found in the
GROUPLIST.
-Scanning articles
"Arn" will automatically scan for articles in the newsgroup-directories
and prompt if there are unread/new news.
Remember: The sequence of presenting/scanning/reading newsgroups is
determined by the sequence of the GROUPLIST entries!!!
If a directory of a newsgroup in GROUPLIST doesn't exist, "Arn" will
display "No spooldir...".
At this time you're at the "newsgroup-selector", which means that you
can choose which newsgroup you want to read. If a group is empty or all
articles read in it, "Arn" will display "no unread news in newsgroup."
If you have no ACTIVEFILE the scanning process is indicated by the
message "scanning articles...be patient...".
"Arn" will only scan filenames which are (the article-) numbers
(filenames consist only of '1'-'9','0')!
o Command-Lines
-------------
"Arn" sometimes requests a more complex input than only one keystroke.
At this time you will be put to the command-line where you can now type
in upto 256 characters. Some examples of command-line invokations are the
"g" or "s,w" commands at the article-selector (see below).
Editing:
You can move the cursor to the left with the [<-] (left-arrow) key, to
the right with [->] respectively. If moving to the right the cursor will
stop after reaching the last character. If you now type in normal letters
they will be appended.
Characters are INSERTED at the cursor position and the characters to the
right are shifted. If the maximum input-length is reached, no further
input will be accepted! You have to delete some other text first!
To overwrite characters you have to delete them first and then to insert
new ones.
To delete characters just use the BACKSPACE-key as usual (the cursor
deletes the next left character and moves to this position, all text from
the right will move also one position to the left).
The [Del]-key deletes the character under the cursor and moves all text
from the right one position to left.
The character-range for input is from SPACE to Tilde (ACSII (hex):0x20-
0x7E).
o Newsgroup-Selection
-------------------
This is the prompt:
"XXX unread article(s) in XXXXX.XXXX.XXXX. Read now? [Ynq]:"
or
"What now? [pnq]:"
The most common choices are in brackets, where the default action is
in upper case, i.e. if you press the space-bar "Arn" will react as
you just have pressed the "y".
Type the key you want (no return/enter needed!).
A ^ directly followed by a letter means to press simultanously the
[CTRL]-Key and the letter. For example: ^X means [CTRL]-X, but a
single ^ means only the character itself.
Key - Description
y - enter this group and read next unread article.
This will put you in the PAGER. see section -> THE PAGER
n - don't read this newsgroup, continues the search for next group
with unread news.
p - search for previous newsgroup with unread articles.
N - go to the next newgroup (no matter if all articles are already read).
P - go to previous newsgroup (same as N, but in the other direction).
1 - go to the first newsgroup (in grouplist).
^ - go to the first newsgroup with unread news.
$ - go to the last newsgroup (in grouplist).
- - go to recently/previous newsgroup where you read an article
(toggles).
= - List subjects of articles in this newsgroup.
To stop the listing of articles, press 'q' at the
"[Type a key to continue, Q to quit]".
If you enter an article number AT THIS PROMPT, you'll go directly to
this article and enter the pager-level.
g name - go to the named newsgroup. Resubscribe unsubscribed newsgroups
this way, too. The name must match exactly (case is important)!
Wildcards *? allowed!
To get to an EMPTY NEWSGROUP (i.e. with no or no unread
articles), use the "g" command and "goto" the desired group.
"Arn" will not complain if this group is actually empty, but
will skip to the next group with unread articles if you try to
enter this group (press 'y')! This way makes it possible to
unsubscribe etc. "empty" newsgroups.
If the directory for this newsgroup doesn't exist, "Arn" will
display an error message an skip to the next newsgroup with
unread articles.
/pat - search forward (/) or backwards (?) for the groupname containing
?pat "pat". Wildcards ? and * allowed. Not case sensitive!
E - enter a new article to the net. "Arn" will ask you for the desired
newsgroup(s), the subject and distribution. Then it will invoke your
favourite editor (see UUCONFIG) and display the correct header.
Now you can enter your text. If you quit your editor, "Arn" will
prompt some choices which are described in detail at the follow-up
function (see->ARTICLE SELECTION - how to do a follow-up).
^U - Unsubscribe this group!
If your press this combination, "Arn" will not show you the news
from this group any longer. This group is excluded from reading
articles if you confirm "Arn's" question:
"Really UNSUBSCRIBE XXXXXX? [y,N]:"
You can resubscribe this group with the "g" (goto newsgroup) command
in the newsgroup-selector, because it is NOT REMOVED from your
GROUPLIST (to do this, try ^D)!
If you go to an unsubscribed newsgroup and you don't want to
resubscribe this group, it is nevertheless scanned and if it
contains any messages they will be displayed. The status of this
group is still "unsubscribed."
^T - Shows or hides the ScreenTitle. This key-combination toggles.
It is very useful if you've more than two screens open, because
there's no other possibility to click them in front.
^D - Delete this newsgroup from GroupList.
Unlike ^U this command really removes the actual Newsgroup from
the GROUPLIST.
(after confirming: "Really REMOVE XXX from GroupList? [y,N]:").
^S - Re-scan current newsgroup, respectively re-read the active-file.
Then GOTO this newsgroup again.
^N - Check for new groups.
This command will force "Arn" to look in your ACTIVEFILE (if
enabled), "newsgroups" or "UULIB:newsgroups" for new groups which
still are not in your GROUPLIST. The procedure is described in
detail above (see RUNNING ARN - Checking for new-newsgroups).
L - List all newsgroups from grouplist and show their status:
newsgroupname : U M D xxxxxx-yyyyyy
The flags U M D stand for:
U- This group is currently unsubscribed.
M- This group is moderated.
D- This group will be removed from GROUPLIST.
Their negations are not showed.
xxxxxx-yyyyyy is the first and last article number in this group.
c - Catch up. "Arn" will ask you for a confirmation. Mark all
articles in this group as read! Goto next group.
h,H - activates a short help-list.
The help file must be available. It is VERY IMPORTANT to remember
this command...
To stop displaying the help-file, just press 'q'.
^H - Turns header-stop-mode on or off. See pager-commands.
q - Quit "Arn".
"Arn" will update it's GROUPLIST and wait for you to press any
key.
Q - Quits "Arn" without updating the GROUPLIST (Emergency-exit).
o The pager
---------
"Arn" will display an article beginning with the line:
Article XXX (of XXX) in XXXXXXX.
^^^ ^^^ ^^^ actual newsgroup
||| Last article-number in this group.
Current article-number
Then follows the header (that are the first lines until a newline is
detected). The following lines are automatically hidden by "Arn" and
can be displayed by pressing 'v' (verbose header):
- Path:
+ References:
+ X
+ Nf-
- Reply-To:
All header lines beginning with these characters will not be shown.
A prefix - means that line-continuation is not checked, a + means that
it is considered.
The "Subject:"-line is underlined.
The text follows after the header and each line is carefully registered
in its length so that "Arn" stops after your Screen is filled up (this is
not the whole truth: "Arn" will always the next display n-1 lines, if
your screen has a maximum of n lines, to let you always see/remember the
last line from the previous page...). Even TABS are counted, so no text
will scroll off the screen until you pressed a key!
If the next line is very long, "Arn" can stop before the bottom line has
been reached.
If "Arn" detects a ^L (ASCII-12=FormFeed) it just will behave as it has
reached the n-1 lines: it will stop and prompt:
--- MORE (XX %) <XXX> ---
^^ ^^^ Article-number
percent of displayed text
(If "Arn" detects a ^L in a line then the output of this line is slowed
down! If this ^L is not in the first column, any commands are ignored,
until to the end of this line.)
After the article-number there can be some letters in brackets {}. This
shows the article status (R for read,D for marked as deleted).
If you read all the text, that means you're at the end of this article
or the article contains only one page, "Arn" prompts:
"End of article <XXX> in XXXXXX (XXX). What now?[npq]:"
^^^ ^ ^^^number of unread articles in this
Article-number | group.
Newsgroup-name
Yet the number of unread articles INCLUDES the actual displayed article,
even you just read it. It will be marked as read (and all crosspostings,
too, if your UUCP-software generates an Xref:-line) if you now press the
SPACE-BAR. So if the last article in a newsgroup is reached, you will see
that there's still one article unread (that's the one you're reading).
Now you can enter some pager-commands ('h' or 'H' for help exists here,
too!):
^R - restarts the current article (disables rot(13) mode).
v - restarts the current article with a verbose header (see above).
^B - Back up one page. Displays the previous page scrolled off.
Currently, this function supports only ONE page to back up!
(turns rot-mode off)
^L - Redisplay the last page. Helpful after pressing 'h','H' for help.
L - Turns clear-screen-mode on or off (default is OFF).
If this mode is enabled the screen is cleared before showing the
next page. Useful if you use more than one bitplane and you think
scrolling is to slow. This key toggles.
^H - Turns header-stop-mode on or off (default is OFF).
If this mode is enabled, "Arn" stops after displaying the header
and prompts its "--more--". This key toggles.
(If you turn this mode off at the header-prompt, you'll be at the
end of this article. This is no bug, but it's not so easy to change
it)
x - display next page in rot(13) mode.
X - redisplay this page in rot(13) mode.
^X - restart current article in rot(13) mode.
T num - Enter a new rot-number (default is 13). If the text is encrypted
with rot 18, you must use rot 8 to decrypt it.
SPACE - SPACE BAR displays next page, if at the end of an article ONLY
this key will mark your article as READ (plus all articles in
the appropriate groups if it is a crossposting and your news-
system supports the Xref: line) and searches for the
next unread article ('n').
g pat - searches in this article for given pattern (*? wildcards)
starting at the top. This search is NOT CASE DEPENDENT!
If the pattern is found, the line containing this pattern is
displayed in the first line of the screen, otherwise "Arn"
displays "NOT FOUND!".
G - continue search for pattern ('see g').
TAB - will also display the next page of text, but does nothing if at
the end of the article.
"Arn" will continue displaying this article if you type SPACE or TAB. If
stopped at an ^L (FF), it will display "^L" instead of the real code.
The line limit is 1024 Bytes (then the line is not longer considered as
one line!)
o Article Selection Commands
--------------------------
n - read next unread article (leave the current article unread).
If no further unread article is left, "Arn" will prompt:
"Reached last article! Reenter this group? (y/N):"
This gives you the possibility to take once more a closer look
to the articles in this group or whatever. If you want to read
the next group just type 'N' or SPACE. (You see that the SPACE
BAR will take you through the groups...)
REMEMBER:
Only the SPACE BAR marks this article as read if pressed at
the "End of article <XXX> in XXXXXX (XXX). What now?[npq]:"!!!
N - read next article if article is read or unread.
p - read previous unread article (if none do 'n').
P - read previous article (read or unread, if none do 'n').
^ - goto first unread article.
$ - goto last artice.
number - goto article with this number. A number is the set of '0'..'9'.
"Arn" will enter the Command-Mode if you enter a number. Just
press RETURN/ENTER after you typed in the desired number. "Arn"
now jumps directly to this article (if available, otherwise it
does nothing).
^F - search for next article with reference to displayed article.
"Arn" will scan all articles with increasing numbers for containing
the Message-ID of the displayed article in the References: line of
the scanned article. If "Arn" is at the last article, it will
continue the search at the first article and stop if the displayed
article is reached once again.
This is true for all search functions below (except / and ?
functions): All articles, read or unread, are scanned!
To abort the search, just press ANY key (it's your task to keep your
fingers away...).
^E - like ^F but in the other direction (scans previous articles,
decreasing numbers and starts over at the last article).
^P - search for the parent article (first Message-ID in References:).
Direction is the same as with ^E. If the displayed article is no
Follow-up or does not contain a References:-line, "Arn" will do
nothing.
> - search for the next article (increasing numbers) refering to the
same parent article. If no References:-line exists this function
is disabled.
< - same like >, but searching for the previous article (decreasing
order). Currently only the "Message-ID:"-line is scanned, so that
articles with "Article-I.D.:" are not noticed.
/pat\mod - searches for pat in articles (default: only the "Subject:"-
line is scanned).
Modifiers: c- case dependent search,
a- search for pat in the whole article/text,
h- search in header
r- search in read articles too
If no modifiers are given, the default is:
- search in "Subject:"-line only
- case independent search
- search in unread articles only
/ only (no pattern or modifiers) means to search again with
the last pattern and settings.
To abort the search, just press ANY key (it's your task to
keep your fingers away...).
(Note: Yet it is impossible to search for /,?,* itself)
Following wildcards are allowed:
* - for any sequence of characters (even no char)
? - for any character, but at least one.
To abort the search, just press ANY key.
?pat\mod - to search in the other direction (? alone searches for the
same pattern "backwards"). See explanations for "/pat\mod"
above.
How to do a follow-up:
f,F - Invokes your editor and produces a FOLLOW-UP.
(see also SCREENSW in .arnrc)
This function should only be used if your answer is informative
enough for the whole readership, otherwise you should prefer the
REPLY-function. You are not able to enter a follow-up if you're
reading a moderated group (the ACTIVEFILE must be used, see
Installing Arn - 2. ".arnrc" - ACTIVEFILE).
If you're the moderator, just change the "m" in the active-file
to "y" and you're able to post to this group.
'F' will include the original-article text, but with the QUOTECHAR
inserted before each line! Quote only the important passages for
easier remembering the subject, not the whole article!
Try to summarize if possible.
"Arn" generates a temporary file in your T: directory.
The header contains all the required lines (RFC 1036) as
RELAY and POSTING-VERSION (see "Installing-Arn -
2.Configuration-file").
All entries taken from the original-article get here with respect
to the "line-continuation" (a header line can be continued if it
begins with one or more TABS or SPACES).
The "Newsgroups:" line contains the same newsgroups as the
"FollowUp-To:"-line of the original-article (if exists), otherwise
the "Newsgroups:"-line from the original article is copied.
If the FollowUp-To:-line contains more than one newsgroupname
(one comma to separate), the following WARNING is displayed.
"WARNING: Ambiguous FollowUp-To:-Line! Please (e)dit!"
You should enter your editor once more and redirect the discussion
into only one newsgroup, but if you like, you can also suggest two
or more newsgroups (it's just a WARNING-message...).
The "Subject:"/"Title:"-line is generated by inserting a "Re: "
before the original "Subject:"-line, but only if this line didn't
begin with "Re:" or "Re^"!
The "Reply-To:"-address is either directly taken from your .arnrc
(REPLYTO) or UserName@NodeNameDomainName.
The "FollowUp-To:"-line is identical with the "Newsgroups:" line.
It should only contain one newsgroup-name, to direct the follow-ups
into one group.
The "References:" is either created or copied from the original
article. The "Message-ID:" of the original article is appended
("Arn" does an automatic wrap around of long references lines
since V0.67...).
** IMPORTANT: **
If nevertheless your EDITOR wraps lines around, make sure that the
new lines BEGIN with SPACE or TAB-characters (LINE-CONTINUATION!)!
The "Distribution:" is copied unchanged.
The "Organization:" is appended if available from UUCONFIG.
The "Lines:"-line is inserted, if you really send the article.
AFTER AT LEAST ONE BLANK LINE you can write your text or the
included/quoted text follows after a line like this:
"In article <1234@foosite.foo.bar> Freddy Foobar writes:"
(If the realname is missing, the address is taken).
"Arn" doesn't support multiple parentheses like:
"(Freddy Foobar (the world's best))"
The RFC 1036 says that this should be avoided!!
REMEMBER TO LEAVE AT LEAST ONE BLANK LINE BETWEEN THE HEADER AND
THE MESSAGE-BODY/TEXT!
After you've finished your editor, "Arn" will prompt:
"p)ost, P)ost (no signature), e)dit, n)ewsfeed, a)bort:"
If you type "p", "Arn" will check the header for redundant lines
and removes them, the FollowUpTo-line is removed if it's
identical with the Newsgroups-line. After that your SIGNATURE
(from .arnrc) will be added to your follow-up article after TWO
BLANK LINES. Then the article is sent to your SENDNEWS-program that
is typically to your spool-directory respectively newsfeed. After
that, "Arn" executes the RNEWS-program if the entry in the .arnrc
exists/is valid.
NOTE:
*********************
The contents of your posting are not checked/changed after editing,
so YOU ARE RESPONSIBLE FOR ANY NONSENSE IN THE MESSAGE-HEADER!
(and the trouble you'll get)
*********************
With "e" you'll enter your editor once more.
With "n" you can specify another newsfeed as the one from UUCONFIG.
With "a" you don't send this article to the net! The article
remains still in your T: directory (T:ARN.XXXXXXXX)!
How to post an article:
E - enter a new message (post new article to the net).
"Arn" will render you to post a new article to this newsgroup.
(if not moderated! For details see Follow-up).
How to response by mail:
r,R - Reply. Invokes editor and produces a reply ('R' for quoting text),
that is E-mail (private-Mail).
Attention: No "From:"-line is generated. This is normally the job
of your sendmail-program (AmigaUUCP: sendmail -f user)...if this is
nevertheless not possible, use the keyword FROMLINE in .arnrc or
try it with a script file (see above SENDMAIL) and write me which
program has this problems. The principle is the same as with
FollowUps, but this article then is sent as E-MAIL through
SENDMAIL.
The "To:"-address is created from the following lines:
"Reply-To:" if available, otherwise
"Return-Path:" if available, otherwise
"From:"
Two empty "Cc:" and "Bcc:" lines are created.
The "Subject:"-line follows the same rules as in followup-
articles.
A line "In-Reply-To:" is generated containing the articles
Message-ID and the newsgroup it is from.
If quoting ('R'), "Arn" creates a first line of text like this:
"In sub.culture.foobars, article <1234@foosite.UUCP>, you wrote:"
If not quoting this line looks like this:
"This is a reply to your article <1234@foosite.UUCP>,
in sub.culture.foobars"
After finished writing the article, "Arn" will prompt:
"s)end, S)end (no signature), e)dit, a)bort:"
The message "Sending mail..." is NO PROOF that your mail really
will be spooled/sent off! You must be sure that your entry in
.arnrc is correct and that this mail is really sent (try it
once!).
NOTE:
s,w name - appends article(s) to a file.
"Arn" appends it to the file "name" in the directory SAVENEWS:
(see .arnrc), if given, else to SAVENEWS:groupname if no name
is specified!
You can save it/them to other directories/devices by
specifying the FULL-PATH NAME containing a colon ":".
This even works for prt:, so you can easily print articles
with "s prt:"! These commands can be preceeded by a range!
Examples:
(assuming SAVENEWS is UUCP:usr/rob/News and the current
newsgroup is comp.sys.amiga)
"s" - appends article with header to
UUCP:usr/rob/News/comp.sys.amiga
"w help" - appends article without header to
UUCP:usr/rob/News/help
"1000,1010-1040 s" - appends full articles 1000,1010-1040 to
UUCP:usr/rob/News/comp.sys.amiga
"s UUCP:tmp/help" - appends full article to UUCP:tmp/help
If the "name" begins with a '|', the rest of "name" and all
following text will be considered as shell-commands.
Save the article to Standard-Input of the following command
(PIPING):
"s |sort to RAM:test" will pass the article to standard-input
of "sort", which then will put the result into RAM:test.
"s | sort to RAM:test" is allowed also.
NOTE: "s |" and "w |" commands will sent all further output to
NULL:! So redirect your output if necessary or use the S/W/|!
But "S" and "W" will open a SHELLWINDOW (see .arnrc) and this
will act as input/output stream. To get rid of this window and
to reenter "Arn", just type "endcli" to the CLI-command
prompt. "S" is equivalent with "S |" and "|", "W" with "W |".
This is NOT a REAL PIPING mechanism, because I didn't use the
PIPE: device and I had to "run" the commands following "s |".
This function creates a temporary-file in T: and then
redirects the input-stream of the following program to this
temp-file. The temp-file is then deleted.
"s |command options further_commands" is executed as
command <PIPE_tmpfile options further_commands. With ARP and
the PIP-device, you're able to do multiple pipes:
"S search STDIN fred | sort | type to RAM:test NUMBER"
"|" - is shorthand for "S |".
d,^D - mark article as deleted ('d' skips to next unread,
'^D' stays at the current article). Don't use this function if
you have an "expire" and an active-file!!!!
Nevertheless, this function IS USEFUL:
For AMIGA-Owners which don't have enough free space on their
(hard-)disks to use an expire. They can read the articles and
have directly free storage again.
Or if there are large articles or binaries which you want to
delete earlier, you can do it directly in your newsreader.
Since the AMIGA is no Multiuser-System there is no need to
protect this function against abuse. Most of the time the
"system-operator" is the only one who reads news and has anyway
the full control over the system...if you unintentionally marked
an article as deleted, you can direct "Arn" not really to delete
the article(s).
Aborting the deletion (Answer 'N' at the "Really delete...")
removes all "deletion marks" from the articles, but leaves them
marked as read. 'r', reenter, leaves all articles marked as they
were (deleted and read). You now can reenter the group once again
and do something...
You can remove all the del-marks by typing "1-$:d D" (that's how
it worked in earlier version's <=0.65).
However, if you prefer an expire and an active-file just don't
use this funtion!
D - remove the delete mark from article.
u - don't mark this article as read.
Note: this will not unmark all crosspostings, too.
j - junk this article (mark it as read) and do 'n'.
(If your UUCP-software supports Xref-Lines (CNews and
//\\migaUUCP Plus do), all crosspostings are marked
as read, too).
J - mark this article as read, but stay at this article.
= - List subjects of (unread) articles in this newsgroup.
To stop the listing of articles, press 'q' at the
"[Type a key to continue, Q to quit]".
If you enter an article number AT THIS PROMPT, you'll go directly
to this article and enter the pager-level.
C - Cancel this article, if it is yours. A control-posting is created
if the From:-line contains "UserName@NodeNameDomainName"! The
editor is invoked, same procedure as with follow-up. The cancel
function will send a control-article which is distributed just
as normal news-articles, but because it is a control-article, it
will cause the news-sites to cancel (delete) the article where
you pressed this key. This function is always useful, if you
posted an article to the net and it already leaved your system,
but you nevertheless want to withdraw it (maybe you posted
nonsense, flames...).
c - Catch up. "Arn" will ask you for a confirmation. Mark all
articles as read! Goto next group.
o - other program. This key invokes the external program EXTERNALPRG
if specified in .arnrc
^T - Show ScreenTitle. This key toggles (show/hide).
^G - Show current newsgroup status.
^S - Quit reading this newsgroup and rescan articles, respectively
re-read the active-file. Then GOTO this newsgroup again.
h,H - HELP. Display the help-text.
q - Quit reading this article (let it marked read or unread).
Stay in this newsgroup if any unread articles left.
Q - Exit and don't update the grouplist-file (Emergency break)
range cmd: A range consists of one or more subranges:
range= subrange{","subrange}
with
subrange= number[":"flags] | number"-"number[":"flags]
[] means not once or once
{} means any number off occurences (even none).
| means "or"
special numbers: ^ first article, $ last article,
. current article.
valid flags: U,u,R - unread; r - read; D - not deleted;
d - deleted
/ means alternatively and | is here the "Pipe" sign (not
longer "or") and part of the commmand.
cmd is one of =,r/j,u/U,x/d,D,w,W,s,S,|
j,r - mark it read; u,U - mark it unread;
x,d - mark it deleted; D - mark it undeleted;
w,s - w,W,s,S,| -> see above (save,write)
o Error-Messages
--------------
Error-Messages and WARNINGS appear now (since V0.62) on Standard-Output
(stdout). If "Arn" is installed properly and you have some experience
with it (it is running stable), you can redirect stdout to NIL:.
If "Arn" cannot write its error-messages to its own screen (esp. during
startup), it will send them to stdout. So do not redirect stdout to NIL:
until you're sure that everything is ok. If the "Arn"-Window is open,
you can read all other messages on this window, too.
A "STRANGE ERROR" is an unexpected error that should(!) never occur.
I hope that you'll never see any of them, but here they are:
FATAL ERROR: Can't find/open intuition.library!
FATAL ERROR: Can't open my screen!
FATAL ERROR: Can't open my window!
FATAL ERROR: Can't open a MsgPort!
FATAL ERROR: Can't open the Timer!
FATAL ERROR: Cannot continue!
STRANGE ERROR: Something strange happend...!
ERROR: Can't get my config-file, please check it!
ERROR: UUConfig - required entry missing or file not found!
ERROR: During startup!
ERROR: No SEQFILE?!
FATAL ERROR: Can't get enough memory!
ERROR: Can't find the NEWSDIR!
No spooldir available...
ERROR: GroupList entry too long!
ERROR: GroupList cannot be opened!
ERROR: Can't open the ACTIVEFILE!
WARNING: No NULL:-device mounted! Machine can crash if you close the CLI!
WARNING: No 'uux' entry found! Took 'uux'.
WARNING: No 'sendmail' entry found! Took 'sendmail'.
WARNING: QuoteChar entry too long!
WARNING: TimeZoneName missing or >5 chars, took GMT instead.
WARNING: GMT-Offset is in wrong format!
Nevertheless enjoy,
Roland
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RELEASE-HISTORY and CHANGES
---------------------------
+ means new feature, - means changes, bug-fixes.
Version: Bugs,Bug-Fixes,Enhancements:
0.61 - Bug corrected: Article-modus now stays if you'll do "P" at
one-page articles (in 0.60 it was marked UNREAD).
+ Wildcards now allowed for /pat\ and ?pat\.
- Modified the / and ? functions.
- QUIT: The "Arn: quit" will no longer appear in the CLI-Window
(stderr).
- Bug fixed: "Arn" causes no longer crashes if you do a "cd root"
(BOOTDEVICE) before starting "Arn". (Thanks to Gereon
Ziegelowski!).
0.62 - "Arn" now uses DateStamp() instead of the timer.device.
- Errors will be sent to standard-output and no longer to
stderr. Now you can close the CLI where you started "Arn" from,
so the NULL:-Device is really needed (see section:
"Installing Arn - 3. Invoking Arn").
+ ALL article search functions now abortable ("g" not)!
+ FollowUp-To line is now checked for multiple entries!
+ Saving article(s) via SHELL/PIPE now installed (great!)!
+ / and ? for newsgroups now installed.
- Changed the meaning of the moderated char in active-file:
Now "m" means moderated group, "y" means everyone can post.
+ "Arn" now understands "." for current article!
- Changed "C" to "c" for catchup. "C" is now Cancel.
+ You now can cancel articles.
- "Arn" will always switch back to its screen, independently from
SCREENSW.
- "preprnews" now makes use of the NULL:-Device, too.
0.63 + Command-line input now with insert-mode and [Del]-Key and
debugged!
+ EXTERNALPRG-feature in .arnrc added.
- "Arn"'s messages are now in BOLDFACE.
- Bug fixed: The "goto group" command has not worked if you
deleted some articles! Now everything is sane...
+ Added ROT13, changed keys:
Q is now Emergency exit (was 'X').
^D deletes now articles (was 'x').
0.64 - Serious(!) Bug fixed in myfgets()-routine! Would probably have
affected only headers over 4kB length, searches and arnhelp.txt!
- (No new feature, just for me: GeneralBOOL-Variable)
- Another big bug fixed: GOTO Article was out of order during
V0.62-0.63?!
- Some minor changes in the pager. Rot-Mode now correct!
+ T- command for variable rot implemented.
- Minor Bug fixed: TAB-counting is now correct.
- Bug fixed: search abort now works correct (signals are cleared).
0.65 - Serious Bug fixed: active-file support for empty/new-grouplist
caused crashes...totalNIs wasn't initalized!
- T-command doesn't take you longer to the end of an article.
+ "Arn" now adds the Lines:-line in message-header!
- (Minor internal change:Tmp-filenames changed.)
+ If keyword FROMLINE exists in .arnrc the From:-line is now
generated at replies.
0.65b (not released! Only bug-fixes)
Some bugs are fixed:
- Adding non existant newsgroups (i.e. no dir for groups) to
Grouplist (^N) caused never ending loops (when used other than
N,n,P,p) (Thanks to Christian Balzer).
- Newsgroups-name wasn't correct after reading the active-file
again (^N again).
- Deleting articles now will mark articles as read (it's better
for active-file usage).
- Changed the behaviour at the "Really delete..." (see d,^D).
+ Enhanced the EXTERNALPRG entry/function (see .arnrc-EXTERNALPRG)
0.66 + SCREENDATA in .arnrc added (suggested by Henrik Clausen).
- Serious stupid bug fixed: "Arn" wrote into Zero-Page, if any
groups in the active-file were not in grouplist (Thanks to
Heiko Rath).
- [reorganized source (Maybe some bugs caused by wrong function
return values, watch out...!)]
+ ^S - Rescan newsgroup command added.
- IMPORTANT: TimeZoneOffset has changed in .arnrc!
[+/-]hhmm is now the offset-value!
0.66a (not released)
- Corrected once again newsgroup-adding procedure...puuhh.
- Changed message if the directory for a newsgroup doesn't
exist: No spooldir...
0.66b ????
0.66c Bug fixed in cancel-function (thanks to Georg Sassen).
0.67 - Corrected article counting for active-file. 0 is no longer
a valid oldest article number (is automatically set to 1 now).
+ Automatic wrap around of long References:-lines
Some editors may have problems with very long references-lines
(most editors have problems with more than 256 chars per line).
"Arn" now tries to break References:- lines if they are longer
than 75 characters.
- Fixed bug at "What now..." prompt. Endless loops were caused by
"y","=","c" if group was unsubscribed.
0.67a-f - If using SCREENDATA setting, your window will now be as
wide as ArnScreen. Before, it was always 640 pixels wide,
sorry (thanks to W. Mildenberger)...
- Default behaviour at "Create (Y/n):" prompt corrected.
- "Arn" didn't support article-numbers in the long range.
Now corrected.
- Improved checking of valid UUCONFIG and GROUPLIST entries.
(Thanks to Dave Lowrey).
- fixed bug in ReadActiveFile(): 8 bytes were not freed.
- fixed further bug in "What now...?" prompt. "E" for posting a
new article should now be a possible choice.
- bug in the date-routine hopefully removed (Wrong year at 01-01)
0.68 + Arn now checks for "empty"/redundant header-lines, FollowUp-To:
line is only taken if it has another groupname than in
Newsgroups:. Reply-To: is only used when specified in .arnrc
+ XRef-Lines are evaluated, so crosspostings are marked as read,
if you read one of them.
+ New newsgroup-command 'L' added. Lists available newsgroups and
their status.
+ Arn now detects ^L (FormFeeds) everywhere, instead of only in
the first column.
+ "J"-command now marks article as read, but stays at the current
article.
+ Now you can enter an article number when you listed the articles
with =.
+ "Arn" can stop after the header (new command ^H).
+ Clear Screen Mode (pager command 'L') available to speed up
displaying text.
+ If you use more than one bitplane, "Arn" messages are in another
colour (no longer boldfaced).
+ New entry for .arnrc: PATHTYPE (No, User, Full).
- Fixed bug with GOTO-article command. Long range-numbers are now
accepted.
- Fixed bug in matchroutine - caused in some situations endless
loops.
- Now the entries in GROUPLIST can be "endless" (earlier limited
to 256 Byte per line).
- Fixed little bug in followup-routine (thanks to A. Kirchwitz).
- No longer "No spooldir..." Error-Messages on stdout.
- Minor changes in source to save space, ^N prompts changed,
new "Type a key to continue" prompt, no longer boldfaced
subjects at =.
--
"Arn" now has a "shutdown count" to find the following (or another)
bug:
Known Bugs: Some people reported that they hang sometimes if they
want to quit "Arn". I thought that this was caused by
the CLI-Window, but today (01/10/90) I had this strange
behaviour, too. I noticed that DCRON hanged, too! Maybe
it's caused by the NULL:-device, don't know...I'm
working on it! Please report the shutdown number where
"Arn" freezes (even if no number occurs...).
Send any (detailed*) BUG-REPORTS to bugs@spirits.ka.sub.org, thanks.
*Detailed: Write which UUCP-Package you are using, whether you are
"scanning" your news or using an active-file. Describe at which
level and function the bug occured and which Arn version
("Arn -i") you possess.
Study Address:
+----------------------------------------------------------------------------+
|R o l a n d B l e s s |UUCP/USENET: rob@spirits.ka.sub.org |
|Kriegsstrasse 129 |BITNET: UKG5@DKAUNI2.BITNET FAX: +49211623818|
|7500 Karlsruhe - FRG |---------spirits--in--the--material--world---------|
|voice +49 721 857328 |"They built machines that they can't control" STING|
+----------------------------------------------------------------------------+
Home, sweet home :-):
Roland Bless, Moersenbroicher Weg 151, Duesseldorf - FRG, voice +49 211 623817