home *** CD-ROM | disk | FTP | other *** search
- ========================================================================
- == 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
-