by robert-strandh

robert-strandh / Second-Climacs

Version 2 of the Climacs text editor.

135 Stars 11 Forks Last release: Not found 1.7K Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Second Climacs is an Emacs-like editor written entirely in Common Lisp. It is called Second Climacs because it is a complete rewrite of the Climacs text editor.

Climacs gave us some significant experience with writing a text editor, and we think we can improve on a number of aspects of it. As a result, there are some major differences between Climacs and Second Climacs:

  • We implemented a better buffer representation, and extracted it from the editor code into a separate library named Cluffer. The new buffer representation will have better performance, especially on large buffers, and it will make it easier to write sophisticated parsers for buffer contents.

  • The incremental parser for Common Lisp syntax of Climacs is very hard to maintain, and while it is better than that of Emacs, it is still not good enough. Second Climacs uses a modified version of the Common Lisp reader in order to parse buffer contents, making it much closer to the way the contents is read by the Common Lisp compiler.

  • Climacs depends on McCLIM for its graphic user interface. Second Climacs is independent of any particular library for making graphic user interfaces, allowing it to be configured with different such libraries. Though, at the moment, the only graphic user interface that exists uses McCLIM.

Before you build Second Climacs, you need to install some other systems that it depends on and that are not yet available through Quicklisp:


Cluffer Emacs Compatibility:

Stealth Mixin:

The system for Second Climacs is available here:

Second Climacs:

To build Second Climacs, make sure ASDF can find the top directory, and then execute: (asdf:load-system :second-climacs-clim). To start Second Climacs, execute this form: (second-climacs-clim-base:climacs).

At the moment, all you can do is type some text, and you can use C-x i to insert and existing file. Some basic Emacs commands also work, like C-f, C-b, C-p, C-n, M-<, M->, and C-x C-c. The visible window does not automatically follow the cursor yet.

I am not accepting contributions at this time. I will make an exception for someone who is highly motivated and willing to spend time understanding the goals of the project, and then only after discussing the ideas with me.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.