Skip to content

Commit

Permalink
Remove notes about live reloading from README
Browse files Browse the repository at this point in the history
Fix #22.
  • Loading branch information
ubolonton committed Oct 6, 2019
1 parent 67780b5 commit 86c8aad
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 11 deletions.
15 changes: 6 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Emacs Module in Rust [![crates.io](https://meritbadge.herokuapp.com/emacs)](https://crates.io/crates/emacs) [![doc.rs](https://docs.rs/emacs/badge.svg)](https://docs.rs/emacs/) [![Build Status](https://travis-ci.org/ubolonton/emacs-module-rs.svg?branch=master)](https://travis-ci.org/ubolonton/emacs-module-rs) [![Build Status](https://dev.azure.com/ubolonton/emacs-module-rs/_apis/build/status/ubolonton.emacs-module-rs?branchName=master)](https://dev.azure.com/ubolonton/emacs-module-rs/_build/latest?definitionId=1&branchName=master)

[User Guide](https://ubolonton.github.io/emacs-module-rs/) | [Change Log](https://github.com/ubolonton/emacs-module-rs/blob/master/CHANGELOG.md) | [Examples](https://github.com/ubolonton/emacs-module-rs#sample-modules)
[User Guide](https://ubolonton.github.io/emacs-module-rs/) | [Change Log](https://github.com/ubolonton/emacs-module-rs/blob/master/CHANGELOG.md) | [Examples](https://github.com/ubolonton/emacs-module-rs#example-modules)

This provides a high-level binding to `emacs-module`, Emacs's support for dynamic modules.

Expand All @@ -25,17 +25,12 @@ fn say_hello(env: &Env, name: String) -> Result<Value<'_>> {
(greeting-say-hello "Emacs")
```

## Live Reloading

Emacs does not support unloading modules. Live reloading thus requires a custom module loader. [rs-module](rs-module) is one such loader (which itself is a module that must be loaded by Emacs's normal loading mechanism). See [load](bin/load).

**Note**: This doesn't work on macOS 10.13+ (High Sierra and up). See Rust's [issue #28794](https://github.com/rust-lang/rust/issues/28794#issuecomment-368693049).

## Sample Modules
## Example Modules

- [emacs-tree-sitter](https://github.com/ubolonton/emacs-tree-sitter): Binding for tree-sitter, an incremental parsing tool.
- [pullover](https://github.com/ubolonton/pullover): Use Emacs to edit text for other macOS apps.
- [test-module](test-module).
- [emacs-rs-examples](https://github.com/ubolonton/emacs-rs-examples).
- [pullover](https://github.com/ubolonton/pullover): Use Emacs to edit text for other macOS apps.
- [magit-libgit2](https://github.com/ubolonton/magit-libgit2): Experimental attempt to speed up magit using libgit2.

## Development
Expand All @@ -52,3 +47,5 @@ Emacs does not support unloading modules. Live reloading thus requires a custom
```shell
bin/test watch
```

On Windows, use PowerShell to run the corresponding `.ps1` scripts.
4 changes: 2 additions & 2 deletions guide/src/reloading.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ emacs-rs-module = { version = "0.7.0" }
A future version will have tighter integration with `cargo`.

**Notes**:
- It mainly works on Linux, but potentially because Linux's dynamic loading system is unsafe (i.e. UB-ridden).
- It doesn't work on macOS 10.13+ (High Sierra and up). See Rust's [issue #28794](https://github.com/rust-lang/rust/issues/28794#issuecomment-368693049).
- It mainly works on Linux, but potentially because Linux's dynamic loading system is unsafe (i.e. ridden with UB traps).
- It doesn't work on macOS 10.13+ (High Sierra and up), because macOS doesn't unload dynamic libraries that use TLS (thread-local storage), for safety reason. See Rust's [issue #28794](https://github.com/rust-lang/rust/issues/28794#issuecomment-368693049).
- It doesn't work on Windows, since loading the dll prevents writing to its file.

0 comments on commit 86c8aad

Please sign in to comment.