home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
PTKTDOC3.ZIP
/
MSGED.DOC
< prev
next >
Wrap
Text File
|
1989-02-24
|
52KB
|
1,519 lines
msged
A Freely Available
FTS-0001 Compatible Message Editor
Version 1.99
Copyright 1988,89 by Jim Nutt
All Rights Reserved
Changed February 24, 1989
1
A. Disclaimer
This Software is distributed for free and with no restrictions on
its use in non-commercial settings. If you desire to use msged
in a commercial application, please contact me at the address
listed in Section D. The complete source code of this program is
also available, it is not to be modified and redistributed in any
fashion. Commercial licensing of the source code is available at
a reasonable cost. This is NOT PUBLIC DOMAIN SOFTWARE, as author
I retain all rights to this product.
This program is guaranteed to work only on my computer system, in
my home! Use it anywhere else at your own risk, I am not
responsible in anyway for anything bad that happens as a result
of your use of msged. Remember, you got this for free!
B. Credits
I would like to thank the Binkley Trio (Bob Hartman, Vince
Perriello and Alan Applegate) for permission to use the code to
do fidouser.lst lookups in msged. Particular thanks to Vince for
writing the Video Fossil routines and integrating them in for me!
Additionally, I would like to credit James A. Woods, Jeff Mogul
and Frank Whaley with the module BMG.C, which does the
Boyer-Gosper-Moore search that makes the msged find command
useful. Finally, thanks to all the sysops and point operators
who have suffered through the bugs and poor documention of msged
and encouraged me to keep improving it... there are too many to
list!
2
C. Introduction
Msged was written to fill a specific need in the fidonet
community, that of a small, fast message editor that had the
source code readily available. When I started this project, the
only editors readily available for free were Sirius and Dutched.
While Sirius is nice, I found it to be somewhat cumbersome to
learn and use, a fact complicated by an almost total lack of
documentation. Dutched, while being a full screen editor and
having lots of nice features, was incredibly slow and took
enormous amounts of disk space. And neither was particularly
easy to install. So I set out to write an editor that would
require minimal installation (none was preferred), disk space and
time. I think I was successful. For a person running
Binkleyterm and Confmail, no installation is required, msged can
find all the information it needs from the configuration files of
those two products. Msged requires only msged.exe to run and
will run in less than 64k of memory in a pinch (admittedly, its
pretty useless in that situation!). And finally, it will search
100 messages for an imbedded text string in under 13 seconds,
and will let you look at each of those messages in under 20
seconds (if you read very, very fast <grin>).
D. Contacting The Author
I can be reached a number of ways. I prefer netmail messages or
messages in the msged echo, but will answer questions anyway I
get them! (except voice calls at 3 am.. I tend to hang up on
those!)
■ Netmail:
Jim Nutt @ 1:114/15.11
■ Usenet:
jnutt@stjhmc.uucp
■ US Mail:
Jim Nutt
3935 E. Greenway Rd. #101
Phoenix, AZ 85032-4661
USA
■ Direct File Request:
Data Phone #: (602) 482-5646
Private Net#: 1012/11
(minimalist opus)
■ The MSGED echo:
The msged echo is currently available on the backbone, ask your
friendly *EC for MSGED.
■ Voice Phone:
(602) 482-3987 -- Please, don't abuse this! Remember, I am in
the Mountain Standard Time Zone year round (7 hours behind UTC
[GMT]). If I'm not there, talk to the machine... it gets lonely
3
too!
E. Distribution
Msged is distributed as three ZOO archives, one containing source
code, the other two different variations of the executable file
and this documentation. The xxx in the file names below stands
for the version number. In parenthesis after the actual file
name is the magic name for requesting the latest version from an
SDS system or one of the distribution systems.
■ msgdxxxb.zoo (MSGEDBIG)
This is the large model version of msged. This version supports
use of the video fossil, as well as being able to manipulate very
large messages.
■ msgedxxx.zoo (MSGEDEXE) or (MSGED)
The 'normal' version of msged. Compiled in small model, this
version uses considerably less memory and disk space than the big
version. Use this one if you can. (don't need the video fossil
or large message support).
■ msgdxxxs.zoo (MSGEDSRC)
The source code. Use this to hack away at msged.
■ Distribution Systems:
The latest versions of msged will always be found on:
1:114/18 1:114/15 1:163/115 2:512/26 (exe only)
F. Installation
One of the primary design goals of msged was easy installation.
With this in mind, msged tries to get as much information as
possible from configuration files that already exist on your
disk. This auto-configuration works best if you use binkleyterm
and confmail, but will work with varying degrees of success with
other systems as well.
■ Batch Files
To take full advantage of msged's more advanced features, you
need to create a batch file that runs msged. When you exit
msged, it sets the DOS errorlevel to a value corresponding to
whether or not messages were entered and where. It also creates
a file listing all the echomail areas containing new messages.
With a correctly written batch file, you can have your messages
exported and packed up only when you've actually entered them.
See Appendix A for a sample batch file called "readmail.bat"
4
■ Using msged without Binkleyterm and Confmail
To use msged on a system that is not running Binkleyterm and
Confmail, you will have to create a configuration file.
Essentially, this file tells msged who and where you are and what
message areas exist on your system. See Appendix A for a sample
configuration file. Section G, Configuration, contains a
complete list of all the configuration commands recognized by
msged.
■ Using msged with Binkleyterm and Confmail
If you're running both Binkleyterm and Confmail, you've got it
made! Msged requires no further installation unless you want to
override something it finds in Binkley.Cfg or Areas.Bbs. Msged
pulls as much information as it can from the Binkley.Cfg file,
including screen colors. If you have a COLORS statement in your
Binkleyterm configuration, msged will use the listed colors as
its default colors, otherwise it reverts to black and white. You
can override a given Binkleyterm configuration statement in two
ways, 1) by using the "include" directive to insert a msged
configuration file into the binkleyterm configuration or 2) by
adding the msged configuration statement to the end of the
Binkleyterm configuration and prefixing it with "APPLICATION
MSGED". This tells Binkleyterm to ignore the statement. If you
are using the default binkleyterm configuration, you should make
sure that the "BOSS" statement precedes the "POINT" statement in
your binkley configuration file. This is only important if you
are a point system.
■ Using msged with a FOSSIL
This does NOT refer to using old bones! FOSSIL is an acronym for
Fido Opus Seadog Standard Interface Layer. It is system designed
to give a fair amount of hardware independence to BBS software
and utilities. The big version of msged can make use of the
Video FOSSIL extension to run on a variety of non-ibm clone
MS-DOS systems, including the DEC Rainbow. To use the FOSSIL
driver, obtain an appropriate FOSSIL for your machine and an
appropriate Video FOSSIL extension. The following Video FOSSILS
have been tested with msged.
1) Version 0.15 of the DEC FOSSIL will not work. It won't scroll
the screen.
2) Version 0.20 of the DEC will work.
3) VFOS_IBM version 1.10 does not work. Doesn't scroll the screen
and there appears to be a bug in the VioWrtCharStrAtt function.
4) VFOS_BIO version 1.10 does work.
5
G. Configuration
These are all the statements msged recognizes in its
configuration file. If quotation marks are shown, they are
required!
■ Username your-name-here
The name you want the From: field of your messages to default to.
Synonyms: Sysop, Name
■ Include filename
Include the information located in the file named filename in the
configuration file. [optional]
■ Origin origin-line
origin-line is the text msged will put in your origin line.
[optional]
■ Node zone:net/node.point>domain
This is your FULLY qualified network address. Can also be
specified as "Address"
■ Pointnet netnumber
If a point, this tells msged what address to use when sending
messages to your boss node. Can also be specified as
"PrivateNet" [optional]
■ Domain domain-name domain-gate
Use the command to specify the address of alternate network
domain gateways. [optional]
■ Mail "description" directory
Tells msged what to call your netmail area and where it is.
There can be more than one. [optional]
■ Netmail directory
Same as Mail, but this defaults the name to "Netmail". [optional]
■ Echo "description" directory tag
This describes an echomail area to msged. If you wish to use the
tosslog feature of msged, you must supply a tag for each echo
area. [optional]
■ Local "description" directory
An area for local messages, doesn't echo, so no tag. [optional]
■ Tearline flag
Flag is either "Yes" or "No". Tells msged whether or not to
generate tear and origin lines. [optional] [default: Yes]
■ Seen-Bys flag
Flag is "Yes" or "No". Should msged display SEEN-BY lines
initially? [optional] [default: Yes]
6
■ Shownotes flag
Flag is "Yes" or "No". Should msged display hidden lines?
[optional] [default: No]
■ Quote quote-prefix
Quote-prefix is the string that preceeds each line of a quoted
message. If it contains an '*', the '*' is replaced with the
first initial of the quoted message's author. A '^' is replaced
with the second initial. [optional] [default: >]
■ Userlist userlist1-pathname,userlist2-pathname
Defines where the list of names and addresses for the address
lookup is kept. The address files MUST be sorted, with each line
of equal length. The names should be lastname, firstname with
the address starting no sooner than column 35. This is the full
path and filename of the files. You may specify two different
files, separate the filenames with a comma (','). [optional]
■ Tosslog pathname
This is the name of the file to list the area tags of areas with
new messages. [optional] [default: confmail.out]
■ FlashHelp flag
Where flag is "Yes" or "No". Loads the optional flashup help
system. (msgedxxx.hlp) [optional] [default: No]
■ Right number
Sets the right margin for wordwrap and message display.
[optional] [default: maxx - 1]
■ Tabsize number
How far apart tabs should be. [optional] [deafult: 8]
■ Confirm flag
Should msged ask for confirmation of message deletes and aborts?
Flag is "Yes" or "No". [optional] [default: Yes]
■ SoftCR flag
Flag is "Yes" or "No". Should msged add soft carriage returns to
the end of wrapped lines for compatibility with brain-dead
message editors? [optional] [default: No]
■ Privileged flag
Where flag is "Yes" or "No". Should msged make your messages
privileged by default? [optional] [default: No]
■ Kill/Sent flag
Should messages default to being deleted after they are set?
[optional] [default: No]
■ Crash flag
Should messages have the Crash attribute set by default?
[optional] [default: No]
7
■ Hold flag
Should messages be held for pickup by default? [optional]
[default: No]
■ Maxx number
Maximum number of columns supported by your display. [optional]
[default determined by hardware]
■ Maxy number
Maximum number of lines supported by your display. [optional]
[default determined by hardware]
■ Color where foreground / background
Sets up your various screen colors, may also be spelled Colours.
Values for where are listed below. foreground and background do
what the names suggest, foreground is the foreground text color
and may be modified with +INTENSE, background is the background
text color and accepts no modifiers. Available colors are:
BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN (or YELLOW) and
WHITE (or GREY or GRAY).
where possibilities:
1) Normal
The color used for text entered by you or that comes from a
message.
2) Quote
The color used to highlight the quoted portion of a message.
msged looks for a '>' in the first five characters of a line to
recognize a quote.
3) Block
The color used to mark the line where the current block is
anchored.
4) Info
General purpose color used for text issued by msged.
5) Warn
The color used for warning messages. Also used to indicate
hidden lines in a message (when hidden lines are shown).
6) Hilite
The color used when msged needs to highlight some text.
Generally for text that doesn't need the Warn color.
■ VideoSeg number
Allows you to specify the starting segment address of your video
display. [optional] [default determined by hardware]
■ Video setting
Setting is "DIRECT", "BIOS" or "FOSSIL" (big version only).
Controls how msged writes to the screen. Direct means that msged
8
writes directly to the screen buffer (although it is desqview
aware). Bios means that it uses the rom bios for the video
display and FOSSIL means it uses the Video Fossil for screen i/o.
[optional] [default: direct]
■ Editkey scancode function
Allows redefinition of the keyboard for the editor. Scancode is
the code dos returns for a particular key. It is easiest to
express it as a hexadecimal constant. (i.e. the scan code for
down arrow is 0x5000). For control keys, the scan code is simply
the ascii value of the key (i.e. <ctrl><a> is 0x0001). Function
should be one of the following: [optional]
1) backspace -- backspace and delete
2) del -- delete character under cursor
3) left -- move cursor one left
4) right -- move cursor one right
5) up -- up one line
6) down -- down one line
7) wordleft -- go left one word
8) wordright -- go right one word
9) pgup -- up one page
10) pgdn -- down one page
11) newline -- break line at cursor position
12) delline -- delete current line
13) cut -- cut from anchor point to current line
14) anchor -- mark beginning of a cut zone
15) paste -- paste clipboard into text
16) goeol -- go to end of line
17) deleol -- delete to end of line
18) top -- go to the top of the screen
19) bottom -- go to the bottom of the screen
20) first -- go to the first line of the message
21) last -- go to the last line of the message
22) quit -- save the message, exit to the reader
23) abort -- exit to the reader without saving
24) tab -- go to next tab stop, insert spaces
25) format -- reformat paragraph (visually hazardous!)
26) shell -- shell to dos
27) import -- import a textfile
28) export -- export message text to a file
29) null -- do nothing, unassign a key
30) gobol -- go to the beginning of the line
31) insert -- toggle insert mode
■ Readkey scancode function
Same as editkey, only this controls the commands needed for the
editor. Functions available are: [optional]
1) previous -- previous message
2) next -- next message
3) last -- highest message you've read
4) link_to -- next message in thread
5) link_from -- previous message in thread
9
6) reply -- reply to current message
7) quote -- quote the current message
8) areas -- change message areas
9) view -- toggle hidden lines, seen-bys
10) home -- go to first message in thread
11) search -- search messages for text
12) delete -- delete current message
13) newmsg -- enter a new message
14) move -- move, copy or forward current message
15) export -- export message to a text file
16) config -- change configuration options
17) help -- pop up help screen
18) list -- list of messages in area
19) change -- change current message
20) exit -- exit from msged
21) null -- do nothing, unassign a key
■ Gate switch
Where switch is "domains", "zones", "both", or "none". Controls
whether msged automatically routes messages to zone and domain
gates. [optional] [default: both]
■ Quotestyle style
Where style is "usenet" or "fidonet". Usenet style quotes start
with a line identifying the quoted party. [optional] [default:
usenet]
■ Outfile filename
This sets the default file name for the <Write> command. Use
this if you don't want to default to prn. [optional] [default:
prn]
■ Kludge-Lines flag
This is for those who really want to see all the extended address
lines. If you turn this on, be careful when changing messages as
msged does not strip the original address lines out before adding
the new ones. I highly recommend leaving this out unless you
know what you are doing. [optional] [default: no]
■ Function number string
This command allows you to assign a keystroke macro to a function
key. Number is from 1 to 40, where 1-10 are the unshifted
function keys, 11-20 are shifted, 21-30 are control function key
and 31-40 are ALT function keys. The string can be anything, but
must fit on a single line. To place control characters into a
macro, use the letter key for the control character prefaced with
a caret (^). In other words, to place a tab (control I) into a
macro, use ^i. To put a special key, the up arrow key for
instance, into a macro, use a 5 character string of the form
"\0xnn" where nn is the scancode (in hexadecimal) of the desired
key. For the up arrow key, that would be \0x48. As a further
example, I have my signature defined as a macro, the command is:
function 10 jim nutt^m'the computer handyman'\0x1f
10
The trailing \0x1f sends an <alt><s> and causes msged to save the
message. This macro would be assigned to function key F10.
H. Starting Msged
You can start msged up either at the DOS command line by typing
"msged" and a carriage return or you can run it from a batch file
(see Appendix A). In either case, msged recognizes two command
line parameters, the first tells it what the configuration file
name is (default is msged.cfg or binkley.cfg) and the second
tells it what the name of the areas file is (default is
areas.bbs). The names must be given in that order, you cannot
specify a different areas file without giving a configuration
file name (this restriction will be removed in version 2.00).
I. Reading Messages
Msged was designed to make message reading quick and easy. All
commands are either single mnemonic <ALT><letter> keys or cursor
keys. Any of these keys may be changed by using the "readkey"
command in the configuration file.
■ Next Message -- Right Arrow or <Enter>
Moves to the next message in the current message area.
■ Thread Next -- <CTRL> Right Arrow
Moves to the next message in the current message thread.
■ Previous Message -- Left Arrow
Moves to the previous message in the current area.
■ Thread Previous -- <CTRL> Left Arrow
Moves to the previous message in the current message thread.
■ Thread First -- <Home>
Move to the first message in the current message thread.
■ Highest Read -- <End>
Go to the highest numbered message in this area that you've read.
■ Scroll Up -- Up Arrow
Scroll the current message up one line.
■ Scroll Down -- Down Arrow
Scroll the current message down one line.
■ Next Page -- <PgDn>
Display the next page of the current message.
■ Previous Page -- <PgUp>
Display the previous page of the current message.
11
■ Area Select -- <ALT><A>
This command brings up a menu listing all the message areas
available. Msged supports more areas than any sane person will
ever need, at least three to four hundred... The exact number
depends on the number of messages in each area. The highlighted
bar cursor can be moved with the listed commands.
1) Scan -- <ALT><S>
Scan all available message areas for new messages. Place an
asterisk ('*') next to areas that have new messages.
2) Next Area -- Down Arrow
Moves the cursor down one line.
3) Previous Area -- Up Arrow
Moves the cursor up one line.
4) Next Page -- <PgDn>
Moves the cursor down one screen page.
5) Previous Page -- <PgUp>
Moves the cursor up one screen page.
6) Select -- <Enter>
Select the highlighted area as the current message area.
7) Abort -- <Esc>
Return to the original message area.
8) Additionally, you can type enough characters of the message areas
description to uniquely identify it.
■ Change Message -- <ALT><C>
This command allows you to change the header and text of any
message without leaving a trace. DON'T ABUSE IT!
■ Delete Message -- <ALT><D>
Deletes the current message. You are asked to confirm that you
do indeed want to delete the message.
■ Enter Message -- <ALT><E>
Enter a new message
■ Find Text -- <ALT><F>
This command searches all messages in the current area for a text
string. The string can be anywhere in the message, the subject
line, or the to and from lines. A search starts from the first
message in the area unless you are continuing a previous search
(press <Enter> on the default search string). The search can be
terminated by pressing <Esc>.
■ Goto Message -- <ALT><G> or Enter a number
Prompts for a message number. If the message exists, it becomes
the current message.
12
■ HELP! -- <ALT><H>
If the optional flash up help module is installed, brings up
that. Otherwise, a brief keyboard reference is displayed.
■ List Messages -- <ALT><L>
Lists messages by who they are to, from and the subject.
Extended addresses are not displayed by this command. There are
a couple of subcommands available.
1) Up -- Up Arrow
Moves up one message
2) Down -- Down Arrow
Moves down one message
3) Page Up -- <PgUp>
Moves up one screen
4) Page Down -- <PgDn>
Moves Down one screen
5) Addresses -- <ALT><A>
In a net (matrix) mail area, turns on and off display of the to
and from addresses.
■ Move Message -- <ALT><M>
Allows you to move, copy or forward a message to another message
area or user.
1) Move
To move a message, press <m> at the prompt, you will then be
asked to select an area to move the message to. The original
message will be deleted and a copy will be made in the selected
area.
2) Copy
To copy a message, press <c> at the prompt. Again, you will be
asked to select an message area. This time, the original is left
intact and a copy is made in the selected area.
3) Forward
To forward a message to another person, press <f> at the prompt.
The message header will be displayed for editing. The original
source of the message is left intact and two lines indicating who
the original message was to and who forwarded it and when are
added to the message text.
■ Operating System -- <ALT><O>
Temporarily exits to a DOS shell. Type 'exit' followed by a
carriage return to return to msged.
13
■ Quote Message -- <ALT><Q>
Quote the current message by copying it into a new message and
adding the contents of the quote string to the beginning of each
line. Addressing information is automatically inserted from the
current message.
■ Reply -- <ALT><R>
Reply to the current message. Similar to quote, only the new
message starts out blank. Addressing information is
automatically inserted from the current message.
■ Settings -- <ALT><S>
Allows you to change several of your configuration file settings
temporarily. Use the arrow keys to select the item you want to
change or type the highlighted letter in the name of the item you
wish to change. Press <Space> to actually change the item. When
you have completed making your changes, press <Enter> to put them
into effect or <Esc> to return to the current message without
changing anything.
1) Name
The name that the From: field of messages will default to. Use
the normal editing keys to change.
2) Address
The default address that your messages are from.
3) Userlist
■ Primary
The first list searched when looking up an address
■ Secondary
Searched if the address isn't found in the primary list
4) Quote String
The string prepended to each line of a quoted message. If this
string contains an '*' it is replaced with the first initial of
the quoted message's author. A '^' is replaced with the second
initial.
5) Origin
The text to be placed in the origin line put at the end of echo
mail messages.
6) Tab Size
How far apart the tab stops are. This can be as large as the
right margin setting minus one.
7) Right Margin
How long a line can grow before being wrapped by msged. This
value can be as large as the number of columns your screen
displays.
8) Seen-Bys
Controls whether or not seen-by lines are displayed in an echo
14
area.
9) Soft CRs
Controls whether soft carriage returns (0x8d) are added to the
end of wrapped lines. These are not in theory necessary,
however, in practice some other message editors require them.
10) Hidden Lines
Are lines prefixed with a 0x01 (^A) displayed or not?
11) Tearlines
Should msged put in the tearline?
12) Confirm Deletes
Should msged ask you if you really want to delete a message or
abort message entry?
13) Read Threads
Experimental, should msged use 'ThreadRead' mode in echo and
local message areas?
14) Privileged
Should the privileged message attribute be on or off?
15) Kill/Sent
Should the kill/sent attribute be on or off?
16) Krash
Should message default to crash priority?
17) Keep (hold)
Hold messages for pickup?
■ View -- <ALT><V>
Toggles the display of hidden lines. If seen-bys are turned off
and you turn on hidden lines, seen-bys are turned on as well.
■ Write Message -- <ALT><W>
Writes the message to an ascii text file or a device. Includes
the header information. If writing to a device, a formfeed
(ascii 12) is sent at the end of the message
■ Exit -- <Esc> or <ALT><X>
Exit msged.
J. Entering Messages
You begin entering a message by selecting one of the three reader
commands that initate a new message: Enter, Quote or Reply. When
you select one of these commands, the current message is cleared
and you are presented with a blank message entry form. You may
then edit the message header and then the message text.
■ Message Header
When entering a new message, only the From: name and address are
15
defaulted, otherwise all the fields contain default values. To
change any value use the arrow keys to move to a field and then
edit it using the standard editing keys (left and right arrow,
insert, delete, etc.). You'll notice at the bottom of the header
is a list of message attributes. To toggle the value of an
attribute, simply press the first letter of the attribute. If it
is turned on, it will be highlighted, otherwise it will be
displayed as normal text.
1) Attach
To attach a file or files to a message, list the file(s) to be
attached in the Subj: field of the header and turn on the Attach
attribute.
2) Request and Update Requests
File requests are done essentially the same way as file attaches,
place the name of the file you want to request in the subject
field and select the request (or update request) attribute.
Don't bother entering any text into the message, it won't be sent
(an oMMM limitation), simply save the empty message.
3) Kill/Sent
Setting this attribute tells the message packer to delete the
message as soon as it has been sent.
4) Privileged
Setting this attribute indicates that only other sysops or the
recipient may see this message.
5) Crash
This attribute tells your mailer that this message is to go out
ASAP.
6) Hold
This attribute tells your mailer to hold onto this message, the
recipient will pick it up.
■ Carbon Copies
Msged allows you to create messages that will be sent to several
people automatically. To create a carbon copy message, simply
enter the message as you would normally. Then, before saving the
message, go to the first line of the message and put the letters
"cc:" in the first non-blank position on the line. Follw that by
the name and optionally, address, of the first person (other than
the one listed in the To: field of the message header) you want
to send the message to and press return. You can continue adding
names and address, one per line, simply by typing them in. When
your finished, make sure there is a blank line between the last
carbon copy address and the first line of the actual message.
The "cc:" should only be on the very first line of the message.
If you later change a carboned message, it WILL NOT be
recarboned.
■ Extended Addressing
16
Msged transparently supports all forms of IFNA kludge extended
addressing transparently except for UUCP addresses (this feature
will be added soon). These addressing lines are NEVER shown by
msged.
1) Point Addressing
Point addressing is accomplished by placing the address of the
points boss node into the message header address fields and
adding either "^ATOPT pointnumber" or "^AFMPT pointnumber" lines
to the message text. Msged is smart enough to realize that if
you are sending a file attach or crash mail to a node, that it
should change the From: address of the message to that of your
boss node and add the appropriate point addressing kludge to your
message.
2) Zone Addressing
Zone addressing is used only when a message is going to a zone
other than your own. If the message is not crash mail, it is
redirected to the proper zone gateway, otherwise it remains
addressed to the destination node. In either case, an INTL line
of the form:
^AINTL destzone:net/node srczone:net/node
is added to the beginning of the messge.
3) Domain Addressing
Domain is a brand new IFNA kludge that has not been finalized.
It is used to send messages to alternative networks utilizing
fidonet technology. Domain addresses are of the form:
zone:net/node.point@domain
When a message is addressed to another domain, it is rerouted to
the domain gateway for that domain unless marked crash. If no
domain gateway is found listed for a particular domain, the
address is left untouched. In any case, a line is inserted into
the message of the format:
^ADOMAIN destdomain zone:net/node srcdomain zone:net/node
4) UUCP Addresses
Automatic UUCP addressing is not currently implemented in msged.
■ Quoting Messages
Msged makes quoting messages easy, simply use the Quote command
(<Alt><Q>) and msged will read the message you are replying to
into the message buffer. What it does with it once it is there
depends on what style of quoting you want to use. Usenet style
quoting adds minimal extra whitespace to the message and uses an
'attribution' line to indicate who entered, where they are
located and when the quoted message was entered. Each line is
prefixed with the quote string specified in the "quote"
configuration variable. Fidonet style quotes add more whitespace
17
and don't use the attribution line. Again, the quote string is
taken from the "quote" configuration variable, however, this time
it has a blank space added before and after it. Additionally,
the * and ^ characters are treated specially in the quote string,
they are changed to the first and last initial, respectively, of
the quoted person. Usenet style quoting is the default in msged.
To change it, use the "quotestyle" configuration variable. (see
Section G for details).
■ Message Text
Msged incorporates a fairly complete and fast editor internally.
The editor supports full word wrap and automatic line
reformatting. The cursor pad keys work much as you would expect
them to, with the arrow keys moving the cursor around the screen.
Again, any of these commands can be changed, in this case by
using the "editkey" configuration command. Other commands are:
1) Home -- <Home>
Go to the beginning of the current line.
2) End -- <End>
Go to the end of the current line.
3) Word Left -- <Ctrl> Left Arrow
Move one word to the left.
4) Word Right -- <Ctrl> Right Arrow
Move one word to the right.
5) Delete -- <Del>
Delete the character under the cursor. This will delete past the
end of the line.
6) Insert Mode -- <Ins>
Toggle Insert mode on and off.
7) New Line -- <Enter>
Inserts a fixed new line into the text.
8) Backspace -- <Bkspc> or <Ctrl><H>
Deletes the character to the left of the cursor, will delete past
the start of a line.
9) DelEol -- <Alt><K>
Delete to the end of the line.
10) Bottom -- <Ctrl><PgDn>
Go to the bottom of the screen
11) Top -- <Ctrl><PgUp>
Go to the top of the screen
12) First -- <Ctrl><Home>
Go to the start of the message
18
13) Last -- <Ctrl><End>
Go to the end of the message
14) Anchor -- <ALT><A>
Mark the first line of a block.
15) Cut -- <ALT><C>
Cut out the block encompassed by the anchored line and the
current line.
16) Paste -- <ALT><P>
Paste a cut block into the message before the current line. The
block remains in the paste buffer until a new block is anchored.
The block is retained even if you switch to another message.
17) Del Line -- <ALT><D>
Delete the current line of text.
18) Import -- <ALT><I>
Import a text file into the message after the current line.
19) Write -- <ALT><W>
If the paste buffer contains text, write it's contents to disk,
if not and an anchor point is defined, write the block of lines
between the anchor line and the current line to disk. Otherwise,
write the entire message to disk.
20) Save -- <ALT><S>
Save the current message and return to the reader.
21) Abort -- <Esc>
Exit to the reader without saving the current message, you are
asked for confirmation.
K. Redefining the keyboard
With version 1.95 of msged the ability to reassign reader and
editor commands to different keys of the keyboard was added.
This feature requires that you know the extended ascii code of
the key you wish to assign a command to. Key assignments are
made with a statement in the form:
readkey keycode command
or
editkey keycode command
Keycode is the extended ascii value of the key you wish to assign
command to. It is easiest to express this value in hexadecimal.
For instance, the extended ascii code for the <F1> key would be
0x3b00 and the code for a carriage return would be 0x0d. The 0x
prefixing each number indicates to msged that the remainder of
the number is to be evaluated in hexadecimal. See Section G for
more information on which commands are available for key
assignment.
19
L. Macros!
Version 1.98 of msged adds the ability to define up to forty
different keystroke macro commands. These macros are assigned to
the 10 original function keys (and their shifted, ctrl and alt
states). The length of the macros is limited only by available
memory (in other words, if you want to use very lengthy macros,
you should probably use the large version of msged). For details
on defining macros, see the "function" command under
configuration.
M. Recompiling msged
If you have obtained the source code for msged (distributed as
MSGDxxxS.ZOO, where xxx is the version number) and have a
compatible compiler, you can recompile msged to use a larger
memory model or to incorporate changes you have made to the
source code. All the compilers except Quick C will compile msged
under any memory model, the distribution executable is compiled
small model with Zortech C version 1.07e.
■ Zortech C
To compile msged under Zortech C the only compiler option that
must be set is -a (byte align structures). The other compiler
defaults will work fine. On linking, I suggest you link in the
module 'int.obj' which is included with Zortech c, this prevents
the floating point libraries from being linked in.
■ Turbo C
To compile with Borland's Turbo C use the '-a-' compiler option
to force byte alignment of structures. I also suggest you use
'-w-stv' to disable warnings about passing structures by value.
The floating point libraries are not required.
■ MSC 5.1
When compiling with Microsoft C version 5.1, you must use two
compiler options '/D __MSC__' and '/Zp'. The first tells msged
what compiler is being used (the other compilers do this
automatically), the second tells it to byte align structures.
The floating point libraries are not required.
■ Quick C
Quick C uses the same compiler options as MSC 5.1, however, with
Quick C you must compile msged under either the medium or large
memory models as Quick C generates too much code to link under
small model. Quick C version 2.00 may be different, I don't have
it yet, so i've not tried it.
20
N. Appendix A
■ Readmail.Bat
echo off
msged
if errorlevel 5 goto end
if errorlevel 3 goto export
if errorlevel 2 goto export
if errorlevel 1 goto pack
if errorlevel 0 goto end
:export
confmail export areas.bbs -c -r -nf -np -f confmail.out
:pack
ommm -mmail -houtbound -ibinkley.prm -croute.ctl
:end
exit
■ Msged.Cfg
username jim nutt
node 1:114/15.11>fidonet
pointnet 10121/11
origin 'the computer handyman'
mail "Matrix" mail
echo "C Programming" mail\c_echo\ c_echo
local "Local Messages" mail\testarea
seen-bys yes
tearlines no
softcr yes
privileged yes
crash no
kill/sent no
hold no
quote *^>
userlist userlist.txt,fidouser.lst
flashhelp no
video direct
; I don't necessarily recommend these colors...
color normal grey/blue
colour hilite blue/gray
color warn red+intense/blue
color info green/blue
color quote white+intense/blue
colour block black/blue
; set function keys, F1 goes to the areas menu and scans for new
21
; messages, F10 signs and saves a message
function 1 \0x1e\0x1f
function 10 jim nutt^m'the computer handyman'\0x1f
22
23