Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A portable version of the OpenBSD mg editor for Linux and playground for some development
C C++
Branch: master
Failed to load latest commit information.
.gitignore Initial commit
Makefile Imported OpenBSD mg from CVS
README Initial commit
autoexec.c Imported OpenBSD mg from CVS
basic.c Imported OpenBSD mg from CVS
bell.c Imported OpenBSD mg from CVS
buffer.c Imported OpenBSD mg from CVS
chrdef.h Imported OpenBSD mg from CVS
cinfo.c Imported OpenBSD mg from CVS
cmode.c Imported OpenBSD mg from CVS
cscope.c Imported OpenBSD mg from CVS
def.h Imported OpenBSD mg from CVS
dir.c Imported OpenBSD mg from CVS
dired.c Imported OpenBSD mg from CVS
display.c Imported OpenBSD mg from CVS
echo.c Imported OpenBSD mg from CVS
extend.c Imported OpenBSD mg from CVS
file.c Imported OpenBSD mg from CVS
fileio.c Imported OpenBSD mg from CVS
funmap.c Imported OpenBSD mg from CVS
funmap.h Imported OpenBSD mg from CVS
grep.c Imported OpenBSD mg from CVS
help.c Imported OpenBSD mg from CVS
kbd.c Imported OpenBSD mg from CVS
kbd.h Imported OpenBSD mg from CVS
key.h Imported OpenBSD mg from CVS
keymap.c Imported OpenBSD mg from CVS
line.c Imported OpenBSD mg from CVS
macro.c Imported OpenBSD mg from CVS
macro.h Imported OpenBSD mg from CVS
main.c Imported OpenBSD mg from CVS
match.c Imported OpenBSD mg from CVS
mg.1 Imported OpenBSD mg from CVS
modes.c Imported OpenBSD mg from CVS
paragraph.c Imported OpenBSD mg from CVS
pathnames.h Imported OpenBSD mg from CVS
random.c Imported OpenBSD mg from CVS
re_search.c Imported OpenBSD mg from CVS
region.c Imported OpenBSD mg from CVS
search.c Imported OpenBSD mg from CVS
spawn.c Imported OpenBSD mg from CVS
sysdef.h Imported OpenBSD mg from CVS
tags.c Imported OpenBSD mg from CVS
theo.c Imported OpenBSD mg from CVS
tty.c Imported OpenBSD mg from CVS
ttydef.h Imported OpenBSD mg from CVS
ttyio.c Imported OpenBSD mg from CVS
ttykbd.c Imported OpenBSD mg from CVS
tutorial Imported OpenBSD mg from CVS
undo.c Imported OpenBSD mg from CVS
version.c Imported OpenBSD mg from CVS
window.c Imported OpenBSD mg from CVS
word.c Imported OpenBSD mg from CVS
yank.c Imported OpenBSD mg from CVS

README

[This is an edited version of the original mg README, updated slightly to
reflect changes in the last 20 years.]


Mg (mg) is a Public Domain EMACS style editor.  It is "broadly"
compatible with GNU Emacs, the latest creation of Richard M.
Stallman, Chief GNUisance and inventor of Emacs.  GNU Emacs (and other
portions of GNU as they are released) are essentially free, (there are
handling charges for obtaining it) and so is Mg.  You may never have
to learn another editor.  (But probably will, at least long enough to
port Mg...)  Mg was formerly named MicroGnuEmacs, the name change was
done at the request of Richard Stallman.

Mg is not associated with the GNU project, and most of it does not
have the copyright restrictions present in GNU Emacs.  (However, some
of the system dependent modules and the regular expression module do
have copyright notices.  Look at the source code for exact
copyright restrictions.)  The Mg authors individually may or may not
agree with the opinions expressed by Richard Stallman in "The GNU
Manifesto".

This program is intended to be a small, fast, and portable editor for
people who can't (or don't want to) run real Emacs for one reason
or another.  It is compatible with GNU because there shouldn't be
any reason to learn more than one Emacs flavor.


Beyond the work of Dave Conroy, author of the original public domain
v30, the current version contains the work of:

	blarson@ecla.usc.edu		Bob Larson
	mic@emx.utexas.edu		Mic Kaczmarczik
	mwm@violet.berkeley.edu		Mike Meyer
	sandra@cs.utah.edu		Sandra Loosemore
	mp1u+@andrew.cmu.edu		Michael Portuesi
	RCKG01M@CALSTATE.BITNET		Stephen Walton
	hakanson@mist.cs.orst.edu	Marion Hakanson

People who have worked on previous versions of Mg:

	rtech!daveb@sun.com		Dave Brower

Early release history:

* Nov 16, 1986: First release to mod.sources
* Mar 3, 1987: First Release (mg1a) via comp.sources.unix
* May 26, 1988: Second release: (mg2a) via comp.sources.misc
* Jan 26, 1992: Linux port released by Charles Hedrick. This version
  later makes its way onto tsx-11, Infomagic, and various other Linux
  repositories.
* Feb 25, 2000: First import into the OpenBSD tree, where it is
  currently maintained with contributions from many others.

----------------------------------------------------------------------

Known limitations:

Recursive bindings may cause help and key rebinding code to go into
an infinite loop, aborting with a stack overflow.

Overwrite mode does not work in macros.	 (Characters are inserted
rather than overwriting.)

Dired mode has some problems:  Rename does not update the buffer.
Doing a dired again will update the buffer (whether it needs it or
not) and will lose any marks for deletion.  .. and . are not
recognized as special cases.

On systems with 16 bit integers, the kill buffer cannot exceed 32767
bytes.

Unlike GNU Emacs, Mg's minibuffer isn't multi-line aware and hence
some commands like "shell-command-on-region" always pop up a buffer to
display output irrespective of output's size.

While navigating source code using Mg's cscope commands, the cursor
is always at the match location rather than in *cscope* buffer. Mg uses
the same keybindings of GNU Emacs's xcscope package for it's cscope commands.
As Mg's keybindings are case-insensitive some of the commands don't have a
default keybinding.

New implementation oddities:

insert and define-key are new commands corresponding to the mocklisp
functions in GNU Emacs.	 (Mg does not have non-command functions.)
(Mg's insert will only insert one string.)

The display wrap code does not work at all like that of GNU emacs.

Some commands that do not mimic emacs exactly don't have a "standard"
emacs name. For example 'backup-to-home-directory' is only a partial
implementation of emacs' range of commands that allow a user to
customise the backup file location. If a more complete implementation
were coded of these commands the non standard commands would probably
be removed. 
Something went wrong with that request. Please try again.