* lisp/emacs-lisp/map.el: Avoid special casing lists.

(map-not-inplace, map-inplace): New errors.
(map-insert): New generic function.
(map-put!): Signal map-not-inplace rather than a generic 'error'.
(map-elt): Use map-not-inplace and map-insert to avoid hardcoding
a special case for lists.

* test/lisp/emacs-lisp/map-tests.el (test-map-put!): Rename from
test-map-put.  Also test the errors signaled.
1 job for master in 3 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #313
test

00:00:03

 
Name Stage Failure
failed
test Test There has been a runner system failure, please try again
Running with gitlab-runner 11.4.2 (cf91d5e1)
on gitlab-runner-docker cff9d373
Using Docker executor with image debian:stretch ...
Pulling docker image debian:stretch ...
Using docker image sha256:4879790bd60d439cfe39c063660eef7af525d5f6f1cbb701a14c7cfc11cbfcf7 for debian:stretch ...
ERROR: Job failed (system failure): Error response from daemon: open /var/run/docker/libcontainerd/containerd/e04eb74e5e8d3653abbce94c55315c1a8162c970a037c862c00ba1b4680bd763/init/shim-log.json: no such file or directory (executor_docker.go:1015:1s)