Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vectors and buffers #202

Closed
wants to merge 10 commits into from
Closed

Vectors and buffers #202

wants to merge 10 commits into from

Commits on May 30, 2017

  1. Configuration menu
    Copy the full SHA
    5967600 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9579a34 View commit details
    Browse the repository at this point in the history
  3. Move the following Lisp functions to Rust:

    * eql
    * equal
    * equal-including-properties
    * delq
    * car-safe
    * cdr-safe
    * memq
    * memql
    * member
    * nthcdr
    * nth
    * assq
    * assoc
    * rassq
    * rassoc
    * plist-get
    * plist-put
    * lax-plist-put
    * lax-plist-get
    * plist-member
    * string-equal
    * markerp
    
    Other changes:
    
    * Create comparison methods for LispObject for each of the three
      ELisp ways (eq, eql, equal).
    * Use the provided way to construct bools and t.
    * Create a Rusty API for working with cons cells (as_cons() returns
      a newtype that has car() and cdr() methods).
    * Introduce a list tails iterator to replace the FOR_EACH_TAIL and
      FOR_EACH_TAIL_SAFE macro.
    * Add missing Cargo.lock for remacs-sys.
    * Migrate XXXP() functions to LispObject::is_xxx() and remove unused ones.
    * Avoid allocating a vector for each call to a MANY function.
    * Fixup makefile targets to avoid "override" warnings.
    birkenfeld committed May 30, 2017
    Configuration menu
    Copy the full SHA
    c6a0233 View commit details
    Browse the repository at this point in the history
  4. Change lisp_fn proc macro slightly to allow less repeating.

    * Lisp name is inferred from Rust name with underscore -> dash
    * C name can be customized in the cases where Rust needs a special name
    * Number of args is inferred from Rust. "min" only needs to be given
      if there are optional args.
    * Less cloning.
    birkenfeld committed May 30, 2017
    Configuration menu
    Copy the full SHA
    8f41e07 View commit details
    Browse the repository at this point in the history
  5. Clean up the rest of the "deprecated" lisp.rs fns.

    * Use convention LispObject::as_xxx() to get an Optional extracted value.
    * Use as_xxx_or_error() to signal a wrong-type-argument if not of that type.
    * Move unused CHECK_ macros back to C.
    * Move all extern declarations to remacs-sys.
    birkenfeld committed May 30, 2017
    Configuration menu
    Copy the full SHA
    4e7a9d0 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2017

  1. Fixup integer overflow behavior.

    make_number() silently discards the unused bits from EmacsInt
    when making a fixnum.
    birkenfeld committed Jun 6, 2017
    Configuration menu
    Copy the full SHA
    049e21d View commit details
    Browse the repository at this point in the history
  2. Move list and make-list.

    birkenfeld committed Jun 6, 2017
    Configuration menu
    Copy the full SHA
    cf1cc50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a31379 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24248b4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c7f8145 View commit details
    Browse the repository at this point in the history