dash Atom Feed

A modern list library for Emacs
dash- (.sig), 2024-May-10, 730 KiB
Magnar Sveen <magnars@gmail.com>
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

A modern list API for Emacs.

See its overview at https://github.com/magnars/dash.el#functions.

Old versions

dash- 113 KiB
dash- 113 KiB
dash- 113 KiB
dash- 113 KiB
dash- 113 KiB
dash- 113 KiB
dash- 111 KiB
dash- 106 KiB
dash- 104 KiB
dash- KiB


Dash NEWS -- history of user-visible changes

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

See the end of the file for license conditions.

Change log

From 2.19.1 to 2.20.0
  • Calling -zip with two arguments now emits a warning. This long-discouraged calling convention remains supported, but the caller is now referred to the equivalent -zip-pair instead (Stefan Monnier, #400).
  • Calling -zip-pair with less than or more than two arguments is now deprecated, and can be replaced with the equivalent call to -zip-lists instead.
  • Fixed a regression from 2.18 in -take that caused it to prematurely signal an error on improper lists (#393).
  • The function -pad can now be called with zero lists as arguments.
  • The functions -union, -intersection, and -difference now return proper sets, without duplicate elements (#397).
  • The functions -same-items? and -permutations now work on multisets (lists with duplicate elements) (#390, #397, #399).

    For example:

    el (-same-items? '(1 1 2 3) '(3 1 2)) ; => t (-permutations '(1 1 2)) ; => '((1 1 2) (1 2 1) (2 1 1))

  • Several functions which are documented as returning a fresh, mutable object (such as a copy of one of their arguments) are no longer marked as pure. Pure functions called with constant arguments are evaluated during byte-compilation; the resulting value is an immutable constant, and thus unsafe to modify destructively. The functions in question are: -clone, -cons*, -drop-last, -interleave, -interpose, -iota, -non-nil, -repeat, -slice, -snoc, -split-at, -take, -take-last.

New features
  • The function -contains? now returns the matching tail of the list instead of just t, similarly to member (#397).
  • New function -frequencies that takes a list and counts how many times each distinct element occurs in it (suggested by @ebpa, #209, #214, #399).
  • New functions -zip-lists-fill and -unzip-lists which are better behaved versions of -zip-fill and -unzip, respectively (#400).
From 2.19.0 to 2.19.1
  • 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
  • Reverted a breaking change introduced in 2.18.0 that caused the threading macro --> to be indented differently from -> and ->> (#375).
  • 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: https://github.com/magnars/dash.el/wiki/Obsoletion-of-dash-functional.el

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