Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
OpenBSD mg editor for Mac OS X
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Installation Requirements: 1. clens library (https://github.com/conformal/clens) git clone https://github.com/conformal/clens make sudo make install 2. bsdmake is needed on Mac OS X 10.7+ brew install bsdmake (via homebrew) Installation Steps: bsdmake bsdmake install ------------------------------------------------------------------------- [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: email@example.com Bob Larson firstname.lastname@example.org Mic Kaczmarczik email@example.com Mike Meyer firstname.lastname@example.org Sandra Loosemore email@example.com Michael Portuesi RCKG01M@CALSTATE.BITNET Stephen Walton firstname.lastname@example.org Marion Hakanson People who have worked on previous versions of Mg: email@example.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.