Crate emacs [] [src]

Reexports

pub use self::error::ErrorKind;
pub use self::error::Result;

Modules

error
func

Macros

emacs_export_functions

Export Rust functions so that Lisp code can call them by name.

emacs_lambda
emacs_module_init

Declares emacs_module_init and emacs_rs_module_init, by wrapping the given function, whose signature must be fn(&Env) -> Result<Value>.

emacs_plugin_is_GPL_compatible

Declares that this module is GPL-compatible. Emacs will not load it otherwise.

Structs

CallEnv

Like Env, but is available only in exported functions. This has additional methods to handle arguments passed from Lisp code.

Env

Main point of interaction with the Lisp runtime.

Error

The Error type, which can contain any failure.

Value

A type that represents Lisp values. Values of this type can be copied around, but are lifetime-bound to the Env they come from.

Traits

FromLisp

Converting Lisp Value into a Rust type.

IntoLisp

Converting a Rust type into Lisp Value.

ResultExt

Extension methods for Result.

Transfer

Allowing a type to be exposed to Lisp, where its values appear as opaque objects, or "embedded user pointers" (printed as #<user-ptr ...>).