
    Memacs Documentation

    by Andy Poggio


Welcome to memacs! (I pronounce it mee-macks).  I have taken the microemacs
distributed by Fred Fish and made it into a quite usable editor by adding a
number of features found on other emacs-like editors that I am familiar
with.  Like its predecessors, this program is freely distributable.

The rest of this file describes those additions.  A command summary
can be found in the file "memacs.cmds".  I have compiled memacs under
Manx C using 32-bit integers.  I suspect it will compile under Lattice C
as well.

    New Features

Alt Keys as Meta Keys -- Instead of typing <ESC> before meta command chars,
you can use either of the two <ALT> keys as a shift.  For example, instead
of typing <ESC>v to go to the previous screen, you can hold down an <ALT>
key and type v.  This is usually much faster.

Default buffer on switches -- Switches to previous buffer if no buffer is
specified in <ctrl-X>b.  This is usually the one you want so it saves typing in
the name.

Mouse Support Added --  Buttons work as follows:

LEFT BUTTON puts memacs cursor where mouse arrow is.  This is also an easy
way to switch memacs windows.  A small annoyance is that memacs gets mouse
button notification whenever its window is activated.  Thus, activating the
window will move the memacs cursor unless mouse cursor is in top strip.

RIGHT BUTTON will set mark unless a menu item is selected.  If you push the
right button accidently and you don't want to move the mark, just select
"No Operation" from the menu.

COMBINATION:  Pressing the left button, then pressing and releasing right,
and then releasing left will result in a backward character delete, i.e. a
<DEL>.

Interactive priority -- The memacs process priority is set to 1 (default is
0) to improve interactive response when multiple processes are active.
Without this feature, response is sluggish when, for example, compiling is
going on in the background.

File Backup -- A backup file is created whenever a file is written.  The
backup file name is the original name with a 'O' appended.  Thus, if you
write a file named "my.c", the directory will contain the file you just
wrote out as "my.c" and the original file as "my.cO".

Paragraph Fill -- Justifying paragraphs <META-Q> has been added.  This does
things like shortening long lines, lengthening short lines, removing extra
spaces and adding missing spaces.  It will try to be smart about how many
spaces should go after a period, but don't expect perfection.  Colons will
always be followed by two spaces.

Word Wrap on Input -- This feature has been fixed to work correctly.  It
will automatically break lines at word boundaries as you input text.  It is
initially set to off.  It can be toggled by <crtl-X>t.

Query Replace -- You can now do mass text substitutions in a file via the
query replace command <META-%>. It will ask for the string to replace and
the string to replace it with.  It will then search (case-independent) and
display each occurance it finds between the current point and the end of
the file.  At each occurance, you must type one of several choices:

	y or <SPACE> to replace the old string with the new one.
	n or <DEL> to not replace, i.e. to leave the original string.
	a to replace this and all subsequent occurances.
	<ctrl-G> to abort.

Function Keys -- All the function keys are used in a reasonable
fashion.
