Giter Site home page Giter Site logo

ctarbide / mg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hboetes/mg

0.0 1.0 0.0 546 KB

Portable version of the OpenBSD maintained mg, micro emacs clone

Makefile 0.40% C 84.61% Roff 6.99% Modula-3 0.01% Shell 0.44% C++ 4.86% Perl 2.68%

mg's Introduction

This is a fork of https://github.com/hboetes/mg.  The canonical source
for this version is at https://github.com/ctarbide/mg.

Changes:

    - completely new Makefile, easier to customize and maintain

    - include relevant code and headers from libbsd

Just type 'make' or 'bmake' to build, there is also a 'make install'
using ${HOME}/local as prefix.

The original README follows:

****************************************************************


[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 it does not have the
copyright restrictions present in GNU Emacs.  (However, some modules
do have copyright notices.)  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 protected]		Bob Larson
	[email protected]		Mic Kaczmarczik
	[email protected]		Mike Meyer
	[email protected]		Sandra Loosemore
	[email protected]		Michael Portuesi
	[email protected]		Stephen Walton
	[email protected]	Marion Hakanson

People who have worked on previous versions of Mg:

	[email protected]		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: .. and . are not recognized as special
cases.  Also, mg uses the output of the command 'ls' to populate a
dired buffer.  This is not ideal, dired mode should probably be
rewritten to use the directory(3) set of functions. 

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. 

mg's People

Contributors

ctarbide avatar hboetes avatar liangfu avatar ulm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.