/
nerfur
/
openbsd-src
ОбзорДокументацияВойти
/
nerfur
/
openbsd-src
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
openbsd-src/
usr.bin/mg/
..
Makefile

Add some more basic interpreter functionality to mg. Needs a lot more work, including a proper parser.

7 лет назад
README

Update the dired mode comments.

11 лет назад
autoexec.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
basic.c

mg: allow to change the tab width

3 года назад
bell.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
buffer.c

mg: allow to change the tab width

3 года назад
chrdef.h

Remove unused METACH #define. No one is defining their own METABIT so remove the #ifndef around it.

11 лет назад
cinfo.c

Clean up the includes in mg. This does the following: Moves all POSIX headers from sysdef.h into the individual .c files so that each file now only includes what it needs. All headers are properly sorted. Moves the remainder of sysdef.h to other files (mostly def.h) and deletes sysdef.h now that it's no longer contains anything. Tweak a comment that references sysdef.h so that it no longer does that. ok florian@

11 лет назад
cmode.c

remove prototypes with no matching function and externs with no var partly checked by millert@

2 года назад
cscope.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
def.h

remove prototypes with no matching function and externs with no var partly checked by millert@

2 года назад
dir.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
dired.c

now that we have dired-up-directory, use it in dired-jump too

2 года назад
display.c

mg: allow to change the tab width

3 года назад
echo.c

replace ewprintf("") calls with eerase(): no functional difference.

4 года назад
extend.c

fix a few dobeep_msgs() calls: a space is already added between the arguments

3 года назад
file.c

correct indentation; no functional change ok tb@

2 года назад
fileio.c

Replace use of the old BSD st_*timespec members in struct stat with the POSIX-standard st_*tim members.

3 года назад
funmap.c

mg: allow to change the tab width

3 года назад
funmap.h

Allow functions that have 1 or more parameters receive and process multiple arguments when evaluated in a startup file or via one of the 'eval' commands.

7 лет назад
grep.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
help.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
interpreter.c

remove unneeded semicolons; checked by millert@

2 года назад
kbd.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
kbd.h

More unifdef cleanup: -UDIRED_XMAPS and -UFUND_XMAPS: you can't build mg the other way. -DTIOCGWINSZ: you have this if you have term.h Remove a #define TERMCAP which isn't being used.

11 лет назад
key.h

Tidy up the comments: 1. two spelling mistakes. 2. change references to keystrokes, same as man page (UP-low). 3. update a filename reference to reality.

7 лет назад
keymap.c

resurrect mg' no-tab-mode

3 года назад
line.c

Put the hardcoded '\n' character which is found throughout mg into a buffer specific variable. The diff should not produce any behavourial changes in mg.

5 лет назад
log.c

spelling fixes; from paul tagliamonte amendments to his diff are noted on tech

4 года назад
log.h

Update logging with comments made by florian@ some time ago (i've not updated logging to $HOME, but will do so). Also include mglog_misc() which takes formatted input from Joachim Wiberg's mg. Thankyou both.

5 лет назад
macro.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
macro.h

greedy use of typedef struct was making code harder to read; ok kjell cloder

21 год назад
main.c

call vttidy() in the exit path for the batch mode

3 года назад
match.c

mg: allow to change the tab width

3 года назад
mg.1

an universal -> a universal

2 года назад
modes.c

resurrect mg' no-tab-mode

3 года назад
paragraph.c

mg: allow to change the tab width

3 года назад
pathnames.h

- add a pathnames.h - some whitespace cleanup

14 лет назад
re_search.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
region.c

mg: handle C-u in M-! and M-|

2 года назад
search.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
spawn.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
tags.c

support (ignore) universal ctags extended metadata in tagaddress

2 года назад
tty.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
ttyio.c

Add a 'batch' mode to mg via the '-b' command line option which will initialise a pty, run the specified file of mg commands and then exit.

5 лет назад
ttykbd.c

don't access(conffile)

3 года назад
tutorial

transistion -> transition

4 года назад
undo.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
util.c

mg: fix auto-indent-mode with custom tab widths

2 года назад
version.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
window.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
word.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
yank.c

Delete obsolete /* ARGSUSED */ lint comments.

3 года назад
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 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:
 
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: .. 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.