Online commands to maintain/use virtual group files.

	Virtual newsgroup files can be difficult to create and
maintain.  Strn has a few commands to make this task much easier.  At
the article level and in the article scan mode one can use the 'V'
commands to update a virtual group file.  At the article level (while
reading an article) one can also use the current article as a virtual
group file.

Using an article as a virtual group: the V. command:

	While reading an article, the V. command will make strn
interpret the current article as a virtual newsgroup.  This command
may be done recursively.
Note 1:  If you were in article scan mode or the thread selector, strn
will exit those modes when it enters the virtual scan mode.  (This is
because strn isn't (yet?) fully recursive.)
Note 2:  If strn is running using NNTP, the file used for the virtual
newsgroup is a temporary copy of the current article.  This temporary
copy will be overwritten when another article is read.  This can lead
to some confusion with control-E (edit current virtual group file).

Updating a virtual group--the V+ command:

	The V+ command can be used to add text to a virtual group
file.  The usual format of the command is:
V+<filename> <text>
	The <text> will be added to <filename>.  The <filename> may
contain ~ or %-expansions.  Leading spaces in <text> will be stripped,
and any %-expansions will be expanded.  If the <text> is empty, a
blank line will be inserted.  Strn will print to the screen a copy of
whatever it adds to the virtual group file.

Simple examples:
V+%p/scangroups/virt/singles "Nifty article" +%i
V+~/News/humor #Wow, a comment.
V+/users/mary/News/good "Look at this one!" +%a

	The V+ command also recognizes three one-character
abbreviations in the <text> field.  The abbreviations are:

'I' or 'M' (uppercase):
	Writes out a group command for the current group, followed by
a '+' command for the current message-ID.  Strn will ask for an
alternative subject.  (Press return or delete to indicate no subject.)

'A':
	Writes out a group command for the current group, followed by
a '+' command for the current article number.  (The article numbers
are not portable to other sites, but they take less space than message-IDs.)
Strn will ask for an alternative subject.

Examples (strn's output is in []):
[End of article 17588 (of 17588) -- what next? [npq]] V+%p/good I
[Alternate subject:]
[?]Foosball proposed group
[group alt.config]
["Foosball proposed group" +<C9CGKo.H3t@dutiws.twi.tudelft.nl>]

[End of article 17588 (of 17588) -- what next? [npq]] V+%p/good A
[Alternate subject:]
[?]
[group alt.config]
[+17588]

*****
Using macros and %-expansions to make things easier.

[You might also want to look at the document "A short guide to macros
 in strn", which is under the "User configuration" section of the
 online documentation.]
 
	Typing long V+ commands can be a lot of work if one wants to
add many articles to a virtual group list.  Macros can make
maintaining virtual group files much easier.  For instance, I have a
macro bound to the @1 key sequence which adds the current article to a
"singles" virtual newsgroup.  To do this, I added the following to
my .rnmac file:
@1      %(%m=[as]?V+%p/scangroups/virt/singles +%i\n)

Which expands to
V+%p/scangroups/virt/singles +<current.message.id>
...followed by a return.  (The %i is replaced by the message-id of the
current article.

	If you have function keys you can even bind macros to the
sequence of keys emitted by the key.  For instance, F1 commonly emits
the sequence of five keys:
ESC [ 1 1 ~

	Here is a macro to do the same thing as the above @1 macro,
but when the F1 key is typed:
^[[11~	%(%m=[as]?V+%p/scangroups/virt/singles +%i\n)

Per-newsgroup macros.
	Macros can also be defined in a newsgroup's KILL file by
adding the two characters "&&" to the front of the definition.  For
instance, the @1 macro above could be defined in a KILL file with:

&&@1      %(%m=[as]?V+%p/scangroups/virt/singles +%i\n)

...Finally, macros can be defined while running strn (at almost any
level/mode)  using the same syntax as in the KILL files.
