Micro (GNU) Emacs-like text editor ❤️ public-domain
display-help-toggle
, ensures the quick-help text is
always shown in the status area, enabled by defaultapply-macro-to-region-lines
by Ben Scuronend-or-call-last-kbd-macro
, used in key bindingsset-tab-width
to change per-buffer tab widthno-tab-mode
when calling configure
script. Simplifies code greatly and not needed anymore since it is
enabled by default upstreamno-tab-mode
. OpenBSD had previously removed this mode,
relevant change in this fork: indent next line with spacesMulti-arch Docker images available here:
tags
file formatpop-tag-mark
, like GNU Emacszap-to-char
and zap-up-to-char
, binding the former to M-zvisit-tags-table
to immediately load tags file--without-docs
to skip installation of files to
/usr/share/doc/mg
, including the manual/usr/share/mg/
, for built-in helpdobeep_msgs()
usage, does not support format strings, this may
have caused unexpected crashes for some operations, e.g. goto line
that does not exist/bin/sh
if $SHELL
is undefinedargv[0]
instead of hard coding "sh"*quick*
help buffer, also replace duplicate undo
with mark command insteadsigaction()
--disable-ctags/cscope
Most important news is the new modeline and support for building and running without Ncurses, or termcap/terminfo!
Packages for Debian 10, and compatible Ubuntu releases, available at https://deb.troglobit.com/
.gz
text files, as read-onlyC-h t
to access the Mg tutorialC-h q
to toggle *quick*
help bufferMg:
, similar to yur3i/mg/commit/@84ce23b-
as separator, same as @yur3idisplay-time-mode
, toggle current time in modelinemglog_misc()
debug APIfopen()
calls in internal log API~/.mg
, by Mark Lumsdenset-case-replaced
to toggle case-preserving replace on or off, by Reyk Flötermg -R
with new function: toggle-read-only-all
, by Mark Lumsden~/.mg
file in /usr/shared/doc/mg
dired-revert
to the dired funmap, by Mark Lumsdendired-goto-file
, by Mark Lumsden--with-startup=foo
and --disable-all
configure optionsC-x b
) doesn't cancel properly if C-g
is pressed, by Mark LumsdenPortability fixes for current and older UNIX and Linux distributions. Extensive testing on many systems: Debian GNU/Linux, Ubuntu, Fedora, CentOS, Alpine Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, Apple macOS >= 10.10, Cygwin, and a few embedded Linux systems.
~/.mg
from Han Boetes' portable Mg projectfutimens()
on older UNIX or Linux distributions, in particular macOS < 10.13, by Martin Kühl. From ibara/mg@4a4ac31libutil.h
detection on FreeBSDLOGIN_NAME_MAX
on macOSst_mtim
on macOS and NetBSDFIONREAD
on CygwinThe standalone release, with lots of OpenBSD fixes and improvements.
M-x no-tab-mode
, disabled in OpenBSD by defaultgetkeyname()
dired.c
dired.c
delleadwhite()
and indent()
excline()
veread()
veread()
First release based on Mg2a from OpenBSD 5.9. The work on Mg3a, by Bengt Larsson, is not a part of this project. The version number was chosen based on: 2A < 30 < 3A HEX. The OpenBSD Mg is greatly improved over the original Mg2a, from 1986, but does not have the same feature set as Mg3a.
-ltermcap
, -ltinfo
, or -lcurses
. We only use the termcap
functionality in Mg, but can link with either of themterm.h
, we cannot use termcap.h
because of cookies--enable-size-optimizations
option--with-startup=FILE
for alternate init filepledge()
API and the theo.c
module ... #ifdef __OpenBSD__
M-x version
for compatibility with GNU Emacs-h
command line option for a simple usage textPACKAGE_STRING
rather than hardcoded, and rather outdated, Mg 2a
mg.1
with information
about this project and the motivation for itfgetln()
to standard POSIX getline()
st_mtimespec
to POSIX st_mtim
TCSASOFT
flag to tcsetattr()
SO_NOSIGPIPE
patch for OX X from by Han Boetes' Mg porting
project http://homepage.boetes.org/software/mg/
globalwd
data in optional grep.c
moduleasprintf()
family of C API'sM-|
) to an external program.M-|
, missing waitpid()