rune
rune copied to clipboard
Rust VM for Emacs
Opening this issue to discuss whether we can optimize the directory structure that we have on the project. The reasoning is that the lisp files are not something that will...
https://github.com/CeleritasCelery/rune/blob/685e60cd1c96ccd165cfd845018b59ecab3a7fc1/src/core/object/tagged.rs#L173-L176 The `WithLifetime` trait is a unsafe trait that let's us be generic over changing the lifetime of some type. This is equivalent to ```rust let x: &'old = &T;...
Emacs regex is similar to PCRE regex. In that case we could use the [fancy-regex](https://github.com/fancy-regex/fancy-regex) crate (which implements a backtracking engine), once [#84](https://github.com/fancy-regex/fancy-regex/issues/84) is fixed. However there are still several...
This is the issue tracking my work to move the core out to the workspace crate `rune-core`. I have the code in my fork, almost ready to PR, though I...
Emacs has a unique scheme for representing strings. [src/character.h](https://github.com/emacs-mirror/emacs/blob/75fd7550ed6cede6c9e8224f1f2d62637c43fdd4/src/character.h#L31-L47) ``` character code 1st byte byte sequence -------------- -------- ------------- 0-7F 00..7F 0xxxxxxx 80-7FF C2..DF 110yyyyx 10xxxxxx 800-FFFF E0..EF 1110yyyy 10yxxxxx...
I think we might be able to work around this by introducing a new trait. Right now the generated Deref for Env would look like this. ```rust impl std::ops::Deref for...
Currently the reader has a [defined type for errors](https://github.com/CeleritasCelery/rune/blob/master/src/reader.rs#L16-L29), but it is [stored as part](https://github.com/CeleritasCelery/rune/blob/master/src/reader.rs#L112) of the Token enum. This is not idiomatic Rust. A better way to handle this...
We are striving to be “bug compatible” with GNU Emacs, in so far as it makes sense to do so. We might break with some behavior if it is obscure...
### What should be done? After this PR (#33), we use the `OnceLock` API to create `static` variables shared by the program. `OnceLock` is the less-ergonomic brother of the cooler...
Given Emacs already small community it would be best if you were explicit with contributors about whether you ever wanted to contribute any of this code upstream. Ie in the...