Skip to content

Releases: ubolonton/emacs-module-rs

0.12.3

18 Feb 15:41
0.12.3
Compare
Choose a tag to compare
  • Add Value::car and Value::cdr.

0.12.2

17 Feb 16:23
0.12.2
Compare
Choose a tag to compare
  • Added Env::cons.

0.12.1

25 Jan 14:17
0.12.1
Compare
Choose a tag to compare
  • Added Env::make_user_ptr, Value::get_user_ptr, Value::get_user_finalizer.

0.12.0

04 Dec 15:19
0.12.0
Compare
Choose a tag to compare
  • Added Env::make_vector and Env::vector functions.
  • Added a default implementation for Transfer::type_name. This raised the minimum supported Rust version to 1.38 (for std::any::type_name()).
  • Added function to copy a Lisp string's content to a buffer Value::copy_string_contents.
  • Deprecated unwrap_or_propagate, and marked it as unsafe.

0.11.0

05 Aug 01:05
Compare
Choose a tag to compare
  • Made env.call a lot more flexible. Also added value.call.
  • Added rust-wrong-type-user-ptr to wrong-type-argument classification.
  • Deprecated emacs::module_init! and emacs::export_functions!.
  • ReplacedIntoLisp implementation for AsRef<str> with separate implementations for &str and &String.

0.10.3

05 Aug 01:10
0.10.3
Compare
Choose a tag to compare
  • Made #[defun] function signatures display correctly in help-mode and helpful-mode.

0.10.2

05 Aug 01:09
0.10.2
Compare
Choose a tag to compare
  • Added defun_prefix option to #[module].
  • Fixed #[defun] not handling raw identifiers correctly.

0.10.1

05 Aug 01:12
0.10.1
Compare
Choose a tag to compare
  • Made Vector::get generic by return type.
  • Added FromLisp and IntoLisp implementations for most integer types, and an optional feature lossy-integer-conversion to control their behavior. This allows them to be used in #[defun] signatures.
  • Made Env::message take AsRef<str>, not just a &str.

0.10.0

05 Aug 01:13
0.10.0
Compare
Choose a tag to compare

Various ergonomics improvements

  • Added Vector type to represent Lisp's vectors.
  • Allowed Rc and Arc to be embedded in user-ptr by marking them as Transfer.
  • Removed libc dependency.
  • Removed Transfer::finalizer.
  • Deprecated env.is_not_nil(value) in favor of value.is_not_nil().
  • Deprecated env.eq(value1, value2) in favor of value1.eq(value2).
  • Improved Lisp-to-Rust string conversion's performance by making utf-8 validation optional, behind a feature, utf-8-validation.
  • Improved Rust-to-Lisp string conversion's performance by not creating a temporary CString.
  • Fixed a safety bug in which short-lived references were allowed to be embedded in user-ptr.