Subject: bug#34708: alist-get has unclear documentation

From: Eric Abrahamsen <[email-masked]>
Date: Mon, 04 Mar 2019 08:24:14 -0800

On 03/03/19 07:51 AM, Drew Adams wrote:

[...]

> It's important to not give the impression that
> there must be an _existing_ element with KEY.
> Showing an example can help dispel that mistake.
>
> (setq foo ())
> (setf (alist-get 'a foo) 1
> (alist-get 'b foo) 2)
>
> C-h v foo; ==> ((b. 2) (a. 1))

I think it would be nice to have an example that shows both a common
use-case (as an accumulator), and how to use REMOVE. I started off with
the accumulator part:

(let (word word-freq)
  (while (setq word (pop word-list))
    (cl-incf (alist-get word word-freq 0 #'equal) 1)))

But so far haven't come up with a non-contrived way to work REMOVE in
there...