Skip to content

Smartparens 1.8.0

Compare
Choose a tag to compare
@Fuco1 Fuco1 released this 25 Sep 12:46
· 565 commits to master since this release

This release marks the return of autoescaping---better, faster and smarter :). We can now work with multiple quote types and only escape when necessary, the behaviour at the end of string is consistent across quotes (always jump out) and we can also escape single delimiters which weren't paired---for example because an :unless predicate did not allow it.

Another big feature is the migration of documentation to sphinx and readthedocs. Currently, only the new features are documented there, but the github wiki migration is on the way.

As usual, big thanks to all the contributors who helped on this release!

Paypal logo

Changes since 1.7.1

Bug fixes

  • emacs-lisp prefixes are now handled consistently across Emacs versions (using a custom regexp instead of the ever-changing syntax tables).
  • With strict mode disabled, check if the pair to be deleted really constitutes a sexp (problem with string delimiters).
  • It is no longer possible to slurp into different context (for example from inside a comment to code)
  • Wrapping unbalanced regions is no longer possible. That is, turning [a b |c] d< into [a b "|c] d"< as that would break the [] structure.

python-mode

  • Fix single quotes not autoskipping properly.
  • Add """""" as a proper pair.

latex-mode

  • Do not try to navigate on ' when used as contraction.

rust-mode

  • Fix autoskipping of >.

yasnippet

  • Make the pair overlay priority lower. This allows yasnippet binding to work while entering smartparens pairs

Features

  • Autoescaping (documentation)
  • Better support for string fences. This adds support for such constructions as %w(..) in ruby, where the () is now a string delimiter.
  • Skipping of quote delimiters is now more consistent at the "end of sexp". We now always try to skip whenever possible instead of inserting nested delimiters at the end.
    • However, if the quote is explicitly preceded by an escape character, do not skip.
  • New post handler for sp-rewrap-sexp.
  • Various optimizations on syntax-ppss and case-fold-search.
  • Documentation rewrite using sphinx and http://readthedocs.io

latex-mode

  • Add norm-bar pair

ess (emacs speaks statistics)

  • Add support for ess via smartparens-ess.el