From: Ergus via "Emacs development discussions." <emacs-devel@gnu.org>
To: emacs-devel@gnu.org
Cc: bobnewell@bobnewell.net, noloader@gmail.com, monnier@iro.umontreal.ca
Subject: Re: Lightweight, C-only implementation of Emacs
Date: Sat, 21 Sep 2019 17:01:46 +0200 [thread overview]
Message-ID: <20190921150146.3qojnldxpkuwx666@Ergus> (raw)
In-Reply-To: <CAO2hHWaujFwoitiX1osDGE6nQNGii0_=Cw+0iwv++MptXjG8qA@mail.gmail.com>
Sorry for necrobumping this thread, but after some time I have
discovered Qemacs and tried for a while (a week).
https://savannah.nongnu.org/projects/qemacs
I need to say that it is a more functional C-only alternative to emacs
because unlike zile:
- Does not depend of gnulib, gc, or external non-standard libraries or
emacs itself. (zile needs emacs to run the tests)
- Not even a complex autotools file is needed. (gnulib integration is
very hard and for some reason they don't support anything else than
autotools... which sometimes is too complex for small projects and
limits integration with other tools like CMake and enforces the use
and knowledge of autotools/autoconf and so on)
- It have syntax-highlight for some of the common languages like
C/Rust/swift/perl and others.
- It has search candidates highlight.
- It seems to be very modular to implement modules and languages modes
(In C of course).
- It has some simple support for org-mode
- Allows vertical splits not only horizontal.
- It has gui and tui interfaces (with -nw as usual, zile does not have
- gui version)
- Multiplatform support (win32 included, and specialization for some
terminals like xterm and so on.)
- Provides and API to create plugins in C without recompiling the
editor, as it loads .so files.
- No garbage collection is needed.
- Line numbers functionality supported.
- utf-8 support and bidirectional editing.
I should say that I added some primitive support for linum, colors, fill
column-indicator and mouse interaction to zile in my personal fork on
github... but couldn't ever commit it as I never got a reply to join to
the project. So I freely added some non-gnu changes like migrate it to
CMake But if anyone is interested:
https://github.com/Ergus/Zile
Limitations:
- No lisp machine at all (configuration is in a file with a C-like
syntax) which from some points of view is not a limitation. (
performance, no gc, no C-to-lisp code api needed, no
byte-compiler/lisp interpreter to maintain)
- Extensibility is more complex as it requires compiling the plugin.
- Have had only 2 contributors in it's history, which is good because
all the code is very organized and standard. So there is not community
there. (but actually is the same with Zile)
- Still developed with CVS, I asket to move it to git... but who knows
if I even get a reply.
- It is in savannah but it is a nongnu project.
- The documentation is very simple... maybe too short.
Hope this helps.
On Wed, Aug 21, 2019 at 03:58:27PM -0700, chad wrote:
>Linus Torvalds supposedly uses a version of mg (formerly Micro GNU Emacs)
>that is maintained along with the Linux kernel:
>
> https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git
>
>Hope that helps,
>~Chad
>
>On Sat, Aug 17, 2019 at 6:27 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
>> Hi Everyone,
>>
>> I'm trying to find a lightweight C-only implementation of Emacs for
>> Linux. I need it for situations like this:
>> https://redmine.pfsense.org/issues/9682 .
>>
>> Searching is pretty much useless due to irrelevant results. I found
>> Zile at https://www.gnu.org/software/software.html#allgnupkgs , but it
>> fails to build (it configures OK).
>>
>> I understand I will probably loose some functionality due to decoupling
>> Lisp.
>>
>> Does anyone have a list of Emacs replacements?
>>
>> Thanks in advance.
>>
>> Jeff
>>
>>
prev parent reply other threads:[~2019-09-21 15:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-18 1:26 Lightweight, C-only implementation of Emacs Jeffrey Walton
2019-08-18 3:16 ` Bob Newell
2019-08-18 3:21 ` Noam Postavsky
2019-08-18 7:48 ` Stefan Monnier
2019-08-19 5:36 ` Ulrich Mueller
2020-08-03 18:38 ` Jeffrey Walton
2020-08-03 19:37 ` Ulrich Mueller
2020-08-03 19:42 ` Jeffrey Walton
2020-08-03 19:56 ` Ulrich Mueller
2020-08-03 19:58 ` Jeffrey Walton
2020-08-03 21:32 ` Stefan Monnier
2020-08-03 21:55 ` Gregory Heytings via Emacs development discussions.
2020-08-03 21:52 ` Amin Bandali
2020-08-03 22:31 ` Daniele Nicolodi
2020-08-03 23:56 ` Amin Bandali
2020-08-04 1:24 ` Daniele Nicolodi
2020-08-03 21:32 ` andres.ramirez
2020-08-07 8:38 ` Ergus
2019-08-21 22:58 ` chad
2019-09-21 15:01 ` Ergus via Emacs development discussions. [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190921150146.3qojnldxpkuwx666@Ergus \
--to=emacs-devel@gnu.org \
--cc=bobnewell@bobnewell.net \
--cc=monnier@iro.umontreal.ca \
--cc=noloader@gmail.com \
--cc=spacibba@aol.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).