GNU ELPA - dash


A modern list library for Emacs
dash-2.19.1.tar, 2021-Aug-26, 680 KiB
Magnar Sveen <>
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET dash RET

Full description

A modern list API for Emacs.

See its overview at

Old versions

dash-2.19.0.tar.lz2021-Jul-08 106 KiB
dash-2.18.1.tar.lz2021-Feb-28 103 KiB
dash-2.18.0.tar.lz2021-Feb-15 103 KiB
dash-2.12.0.tar.lz2015-Oct-05100.0 KiB


# Dash NEWS -- history of user-visible changes

Copyright (C) 2012-2021 Free Software Foundation, Inc.

See the end of the file for license conditions.

## Change log

### From 2.19.0 to 2.19.1

#### Fixes

- Fixed a regression from `2.18` in `-is-suffix-p` which led to false
  negatives when parts of the suffix appeared multiple times in the
  list being searched (Bennett Rennier, #384).

### From 2.18.1 to 2.19.0

#### Fixes

- Reverted a breaking change introduced in `2.18.0` that caused the
  threading macro `-->` to be indented differently from `->` and `->>`
- Added and fixed Edebug specifications for many Dash macros (Philipp
  Stephani, #380, #381).

#### New features

- The combinators `-on`, `-flip`, `-not`, `-andfn`, and `-orfn` now
  return variadic functions that take any number of arguments (#308).
- New combinator `-rotate-args` similar to `-flip`, but for arbitrary
  arglist rotations (suggested by @vapniks, #72).
- New function `-every` and its anaphoric macro counterpart `--every`.
  They are like the existing `-every-p` and `--every-p`, respectively,
  but return the last non-`nil` result instead of just `t`.
- New macro `--partition-after-pred` which affords
  `-partition-after-pred` better performance (Per Weijnitz, #362).

### From 2.18.0 to 2.18.1

- Fixed a regression from `2.17` as well as a long-standing bug in
  `--iterate`, which evaluated its arguments one too many times.  This
  in turn could lead to errors in `-flatten-n` when it tried
  flattening certain structures too far (#373).

### From 2.17 to 2.18

This release absorbs the now obsolete `dash-functional` version
`1.3.0` into `dash`, and brings the very old version of `dash` on GNU
ELPA up to date.

Package maintainers should replace all uses of `dash-functional`,
which will eventually be deleted, with `dash` version `2.18.0`.  For
more information on this, see:

- New function `-iota` for generating arithmetic sequences
  (@holomorph, #215).

- Calling `-list` with more than one argument is now deprecated.

- `-lambda` now accepts an empty argument list.

- New anaphoric macros `--reductions-from`, `--reductions`,
  `--reductions-r-from`, and `--reductions-r` corresponding to the
  analogous non-anaphoric functions.

- `-doto` threading now works as with `->`.

- New buffer-local minor mode `dash-fontify-mode` and globalized
  counterpart `global-dash-fontify-mode` for fontifying special Dash
  variables such as `it`, `it-index`, `acc`, etc.  The minor mode also
  fontifies calls to Dash macros in older Emacs versions which did not
  dynamically detect macro calls.

  This obsoletes the user option `dash-enable-fontlock` and the
  function `dash-enable-font-lock`, which is now an alias of

- New command `dash-register-info-lookup` for integration with `C-h S`
  (`info-lookup-symbol`).  This command allows Dash symbols to be
  looked up in the Dash manual just like Elisp symbols are looked up
  in the Elisp manual.  The command can be called directly when
  needed, or automatically from your `user-init-file`.  For example:

  (with-eval-after-load 'info-look

- Dash is now listed under the standard [Customization
  and [Finder
  `extensions` and `lisp`.

- The Dash manual is now licensed under the GNU Free Documentation
  License version 1.3.

- Various other bug fix, performance, byte-compilation, and
  documentation improvements.

### From 2.16 to 2.17

- Sped up `-uniq` by using hash-tables when possible (@cireu, #305).
- Fixed `-inits` to be non-destructive (@SwiftLawnGnome, #313).
- Fixed indent rules for `-some->` and family (@wbolster, #321).
- Added `-zip-lists` which always returns a list of proper...