Annotation of src/usr.bin/mg/README, Revision 1.13
1.7 tedu 1: [This is an edited version of the original mg README, updated slightly to
2: reflect changes in the last 20 years.]
3:
1.1 deraadt 4:
5: Mg (mg) is a Public Domain EMACS style editor. It is "broadly"
6: compatible with GNU Emacs, the latest creation of Richard M.
7: Stallman, Chief GNUisance and inventor of Emacs. GNU Emacs (and other
8: portions of GNU as they are released) are essentially free, (there are
9: handling charges for obtaining it) and so is Mg. You may never have
10: to learn another editor. (But probably will, at least long enough to
11: port Mg...) Mg was formerly named MicroGnuEmacs, the name change was
1.3 mickey 12: done at the request of Richard Stallman.
1.1 deraadt 13:
1.13 ! bcallah 14: Mg is not associated with the GNU project, and it does not have the
! 15: copyright restrictions present in GNU Emacs. (However, some modules
! 16: do have copyright notices.) The Mg authors individually may or may
! 17: not agree with the opinions expressed by Richard Stallman in "The GNU
1.1 deraadt 18: Manifesto".
19:
20: This program is intended to be a small, fast, and portable editor for
1.2 millert 21: people who can't (or don't want to) run real Emacs for one reason
22: or another. It is compatible with GNU because there shouldn't be
1.7 tedu 23: any reason to learn more than one Emacs flavor.
24:
25:
1.1 deraadt 26: Beyond the work of Dave Conroy, author of the original public domain
27: v30, the current version contains the work of:
28:
29: blarson@ecla.usc.edu Bob Larson
30: mic@emx.utexas.edu Mic Kaczmarczik
31: mwm@violet.berkeley.edu Mike Meyer
32: sandra@cs.utah.edu Sandra Loosemore
33: mp1u+@andrew.cmu.edu Michael Portuesi
34: RCKG01M@CALSTATE.BITNET Stephen Walton
35: hakanson@mist.cs.orst.edu Marion Hakanson
36:
1.4 mickey 37: People who have worked on previous versions of Mg:
1.1 deraadt 38:
39: rtech!daveb@sun.com Dave Brower
40:
1.10 lum 41: Early release history:
42:
43: * Nov 16, 1986: First release to mod.sources
44: * Mar 3, 1987: First Release (mg1a) via comp.sources.unix
45: * May 26, 1988: Second release: (mg2a) via comp.sources.misc
46: * Jan 26, 1992: Linux port released by Charles Hedrick. This version
47: later makes its way onto tsx-11, Infomagic, and various other Linux
48: repositories.
49: * Feb 25, 2000: First import into the OpenBSD tree, where it is
50: currently maintained with contributions from many others.
1.1 deraadt 51:
52: ----------------------------------------------------------------------
53:
1.5 db 54: Known limitations:
1.1 deraadt 55:
56: Recursive bindings may cause help and key rebinding code to go into
57: an infinite loop, aborting with a stack overflow.
58:
59: Overwrite mode does not work in macros. (Characters are inserted
60: rather than overwriting.)
61:
62: Dired mode has some problems: Rename does not update the buffer.
63: Doing a dired again will update the buffer (whether it needs it or
64: not) and will lose any marks for deletion. .. and . are not
65: recognized as special cases.
66:
67: On systems with 16 bit integers, the kill buffer cannot exceed 32767
68: bytes.
69:
1.9 lum 70: Unlike GNU Emacs, Mg's minibuffer isn't multi-line aware and hence
71: some commands like "shell-command-on-region" always pop up a buffer to
72: display output irrespective of output's size.
1.1 deraadt 73:
1.11 lum 74: While navigating source code using Mg's cscope commands, the cursor
75: is always at the match location rather than in *cscope* buffer. Mg uses
76: the same keybindings of GNU Emacs's xcscope package for it's cscope commands.
77: As Mg's keybindings are case-insensitive some of the commands don't have a
78: default keybinding.
79:
1.1 deraadt 80: New implementation oddities:
81:
82: insert and define-key are new commands corresponding to the mocklisp
1.8 lum 83: functions in GNU Emacs. (Mg does not have non-command functions.)
1.1 deraadt 84: (Mg's insert will only insert one string.)
85:
86: The display wrap code does not work at all like that of GNU emacs.
87:
1.12 lum 88: Some commands that do not mimic emacs exactly don't have a "standard"
89: emacs name. For example 'backup-to-home-directory' is only a partial
90: implementation of emacs' range of commands that allow a user to
91: customise the backup file location. If a more complete implementation
92: were coded of these commands the non standard commands would probably
93: be removed.