home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 September
/
Simtel20_Sept92.cdr
/
msdos
/
editor
/
me_cd.arc
/
ERRATA.DOC
< prev
next >
Wrap
Text File
|
1988-10-24
|
15KB
|
274 lines
========================================================================
== ME Errata and machine/OS specifics Craig Durland ==
========================================================================
========================================================================
Supported versions of ME
========================================================================
FILE NOTES
---- -----
mepc.exe PC, FV, Ansi, Snow
mepcs.exe PC, SV, Ansi
meat.exe AT, FV, Ansi, Snow
me150.exe HP150, HP110, SV
mepp.exe HP Portable Plus, FV, fonts & inverse video
I also have versions for HP 9000 Series 300 and 800 HPUX.
Notes:
All versions of ME are Mutt object code compatible. ie the .mco
files are the same no matter what machine you are running ME on.
The PC versions can use EGA 43 line mode.
Ansi = Requires ANSI.SYS or NANSI.SYS (a faster ANSI.SYS (which I can
supply)).
AT = IBM ATs or clones. 80286 code. Somewhat faster and smaller.
FV = Fast video ie writes directly to video ram.
PC = IBM PCs, ATs, or clones. 8086 code.
Snow = Will snow the screen if you have a IBM color display card.
Most other cards do not have this problem.
SV = Slow video ie uses escape sequences.
========================================================================
BUGS
========================================================================
MS-DOS
If you install TSRs (terminate and stay resident - things like Side
Kick) from within ME (ie ^X! or from a shell invoked by ME) and
don't exit ME, there is a good chance that sometime later ME will
not be able to write out files (it will say something like "Error
closing file"). If this happens, you are screwed - your file is
cleared from the disk and there is no way you can save it.
Another symptom is problems allocating memory ("Cannot allocate x
bytes"). print.com is the only TSR I have verified causing these
problems but don't press your luck.
Note: is OK to use TSRs from within ME. ie using print.com to
print a file while in ME is OK as long as print was installed
outside of ME.
EGA 43 line mode: If you are using nansi.sys, switching into 43 line
mode and then invoking a shell or running a program (^X!) the cursor
may disappear. This is caused by a bug in nansi.sys. When going
into 43 line mode it should set 40:87H bit 0 and clear that bit when
returning to 25 line mode but it don't.
UNIX
XON/XOFF can screw things up. ME turns off XON/XOFF because XON is
^S and XOFF is ^Q and most Emacs users are very attached to those
keys. This can lead to terminal overruns if the terminal cannot
keep up at the baud rate selected or there is not enough padding.
Sometimes the connection to the computer runs though a server
device that also talks XON/XOFF. If this is the case ^S will stop
the display and some times ME will start searching for no apparent
reason. Talk to a guru and find out how to fix the server or
rebind ^S and ^Q to "" and use the alternate keys (^\ and ^^).
Softkeys: Most terminals send escape codes when you press a function
key or softkey. This is a problem when the codes overlap valid ME
user key sequences (eg HP terminals send "ESC B" for down arrow which
is also the ME sequence for (backward-word)). The version of ME for
HP terminals (MEH), trys to tell the difference with timing, however,
this method if far from foolproof. To tell if you have a problem,
type ^X^V (visit-file) and then press a function key (such as down
arrow) rapidly. You should see
F-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-D. If you don't or see
something like F-DM-BM-BF-DF-DM-B you have a problem and you have to
either give up softkeys or the mappings they cover. Or get a
"better" terminal. Regular ME leaves soft key processing to Mutt
pgms (see vt100.mut for an example).
=========================================================================
MS-DOS specifics
=========================================================================
Filenames can contain "/" or "\".
Strango characters
MS-DOS ME allows you to enter ^Z or NULL (0) and write out the file but
a line with NULL in it gets truncated (at the NULL) when read in.
Some versions allow you to enter a character by typing in its decimal
value (eg "A" is decimal 65) (see below). Note that entering most
keys is like pressing the key on the keyboard so you may want to
quote (^Q) the character.
IBM PC: hold down ALT and type the value on the number pad. The
character is added when the ALT key is lifted.
Portable Plus: Put into Num pad mode (Extend Num), hold down Extend and
press the value on the number pad (the blue numbers). The character
is added when the ALT key is lifted. Now switch back to regular mode
(Extend Num). This is easier to do than to say.
* Portable Plus version:
The Clr dsp, +Line and -Line function key are not mapped.
* HP150 version:
The function keys (f1...f8) don't work unless the user keys are turned
on AND f1 is programmed to send Normal ESCp, f2 Normal ESCq, ... f8
Normal ESCw. This is because of a bug in the 150.
This can be done with:
(puts "^[&f0a1k5d2L f1^[p") (puts "^[&f0a2k5d2L f2^[q")
(puts "^[&f3k0a5d2L f3^[r") (puts "^[&f4k0a5d2L f4^[s")
(puts "^[&f5k0a5d2L f5^[t") (puts "^[&f6k0a5d2L f6^[u")
(puts "^[&f7k0a5d2L f7^[v") (puts "^[&f8k0a5d2L f8^[w")
(puts "^[&jB")
========================================================================
UNIX specifics
========================================================================
You can use csh style wildcards: ~, [], [^], ?, *
(eg ~craig, ~/tools, foo[123], foo*, etc) for (insert-file),
(read-file), (rename-buffer), (visit-file), (write-file) and
current-directory.
See dir.mut for examples of cwd, dirs, push directory, pop directory.
========================================================================
Color, inverse video, fonts, etc
========================================================================
This is very machine dependent. See modeline-color, text-color in
MEMUTT.DOC.
IBM PC fast video (CGA, EGA):
bit7-> |blink|R|G|B| |intensity|R|G|B| <-bit 0 (foreground)
where R=red, G=green, B=blue, blink makes the character blink and
intensity only affects the foreground color.
For example:
green foreground, blue background: |0|0|0|1| |0|0|1|0| ==0x12 ==18
monochrome inverse video: |0|1|1|0| |1|1|0|1| ==0x6D ==109
Portable Plus:
bit7-> |0|0|f1|f2| |0|underline|inverse video|blinking|
where f1f2 are the font selector: 00 for normal font, 01 for stick
For example: inverse video stick font: |0|0|0|1| |0|0|1|0| ==0x12 ==18
HP150, UNIX:
0: normal, 1: half bright inverse video.
Note: If the color is set to something outside this range, you get
normal color for everything and slightly faster screen updates -
ie the color stuff is ignored. Do this if the color is screwing
up your screen.
ANSI mode: This has been tested only on IBM PC like things.
The format is xxyy. xx is one color and yy is the other. These
numbers come from the ansi spec for the ansi set graphics
rendition (SGR) escape sequence.
For example: if 32 is green foreground, 41 red background and 44 is
blue background, then (text-color 3241)(modeline-color 4432) sets
green text on a red background with the modeline green text on a
blue background.
* Screen size:
Sometimes the same code runs on machines with different screen sizes.
If this is your case, you'll need to resize the screen.
For example:
HP110: use me150.exe and put (screen-length 16) in your init file.
EGA 43 line mode: If you have a IBM PC, EGA and NANSI.SYS (or some
other way to get into 43 line mode), ME can use all 43 lines.
If you are already in 43 line mode: (screen-length 43).
To switch into 43 line mode: (puts "^[[=43h")(screen-length 43)
2 handy pgms:
(defun
EGA {(puts "^[[=43h")(screen-length 43)}
noEGA {(puts "^[[=3h")(screen-length 25)}
)
========================================================================
Initialization and customization
========================================================================
* ME has an initialization file "INIT.MCO". It attempts to load this
file first from the current directory. If it is not there then it
looks at the environment variable ME and tries that directory. Note
that a trailing slash is required for the ME variable. So, in MS-DOS,
"set ME=C:/medir/" will cause C:/medir/init.mco to be loaded.
* The init file I use is in INIT.MUT. You are encourged to change it to
do the things you think an editor should do.
Heres whats in it:
- Brace matching. (Bound to F-6). Matches (){}. Shows the matching
brace and leaves the mark there.
- Region indenting (M-X indent). Shifts the region right or left a
specified amount. Blank lines are not shifted. See indent.mut for
more info.
- A mark ring (F-9 or M-C-P to push a mark, M-P to pop a mark). A
mark ring is queue of up to 4 marks in a buffer. Used to remember
lots of places in a buffer and get to them quickly. See markring.mut
for more info.
- A easy way to change system variables (documented in MEMUTT.DOC). "M-X
get-sysvar" will display the value of a sys var and "M-X set-sysvar"
will display and let you change a sys var. Command completion is on.
- Multiple files on the command line (C-XF). By default, ME only reads
the first file on the command line. This command will read the next
one. Note that wildcards must be expanded by the shell (MS-DOS
users take note).
- Show stats on the current buffer (C-X=).
- Show stats on all the buffers (C-XC-B).
- Incremental searching (C-S, C-R). Search as you type. See isearch.mut
for more info.
- Directory stack ala c-shell (UNIX only). "M-X pu" will push to a
directory (+n will bring the nth stack entry to the top (counting from
0), "" will swap the top two entries), "M-X po" will pop the stack,
"M-X pwd" shows the current directory, "M-X dirs" pops up a window
showing the directory stack. See dir.mut for more info.
- Programmers calculator (M-X calculator). Does bit twiddling
programmers are interested in. Numbers are 32 bits, uses any base 2
to 16. To get more info, run the calculator and press ?. It has no
floating point.
- Rectangle commands:
copy-rect: copies the rectangle-region to the kill buffer.
cut-rect: copies and deletes the rectangle.
erase-rect: deletes the rectangle.
clear-rect: sets the rectangle to blanks.
- M-x buffer-nomunge sets a read-only mode for the current buffer.
- F-1 removes all white space from the cursor to the first non blank
character or end of line.
F-5 deletes the current line.
F-7 binds the Enter key to newline.
F-8 binds the Enter key to newline and indent.
F-10 sets the mark.
Ins (insert) moves the text so that the cursor is centered in the
window.
C-X0 deletes the current window.
M-X describe-key tells what a key is bound to.
C-XC-V is the same as visit-file except it does not split the window.
- Several modes are autoloaded to help edit certain types of files. If
you don't want the help, either remove the .mco file or take the mode
out of (set-mode) in init.mut. If you do want the mode, make sure that
the Mutt file that contains the mode code has been compiled. For
example, to enable C mode, make sure cmode.mut has been compiled
(mc -tme cmode).
- Electric C mode. A collection of routines I've found usefull when
editing C code. It is turned on when ever you edit a .c or .h file.
Helps with comments, backspacing over tabs, { and a few others. See
cmode.mut for more info.
- Electric Mutt mode. Pretty much the same as C mode but for Mutt
code. See muttmode.mut for more info.
- Text mode. Help with editing documents, etc. Does line centering,
region centering, auto word wrap, format paragraphs, mark paragraphs,
move the cursor about in a paragraph, etc. See textmode.mut for more
info. This mode is triggered by .txt or .doc extensions. To change
or add extensions, change set-mode in init.mut.
- Picture mode. This mode is used to edit tables, text pictures, etc.
Well documented in picture.mut or use the GNU Emacs manual. Invoke
this mode with M-X edit-picture.
- Files that are autoloaded:
File In response to
adjust.mco Format a comment (C or Mutt mode), format text (text mode).
calc.mco M-x calculator.
cmode.mco Editing a .c or .h file.
muttmode.mco Editing a .mut file.
textmode.mco Editing a .txt or .doc file.
dir.mco M-x pu, M-x cd, M-x pwd.
picture.mco M-x edit-picture.
Make sure you have compiled the corresponding .mut file if you want
these capabilities.
- Directory local ME extensions. This can be useful for performing
certain types of jobs that will only be done in a specific directory.
To enable this, move to the directory where you want the extensions,
put the extensions into mext.mut and compile them. When ME is run in a
directory with mext.mco, mext is loaded.
========================================================================
Philosophy
========================================================================
* ME should behave the same on every machine it runs on.
* ME is an editing engine.
The core functionality should allow ME to be used stand alone. The
core has been patterned after (a subset of) Emacs (where Emacs is
usually Unipress (Goslings') Emacs).
The bells, whistles and features that "personalize" an editor are
Mutt extensions added by the user.
* If you find bugs I want to fix them so let me know.
If you have enhancement requests or stuff you would like to see added I am
interested.
If you want me to change the default key bindings I probably won't be too
receptive.
* ME is for anyone's personal use - NOT to be sold for profit.
No Warranty - you get what you pay for.
* I am: Craig Durland (503) 750-3354, telenet 81-757-3354
Hewlett-Packard, 1000 NE Circle, Corvallis, OR 97330
...!hp-pcd!craig or hp-pcd@craig