From 35c27cd5818bede77279dc7e5cf1beec93766baa Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Sat, 18 Apr 2015 16:35:43 +0200 Subject: [PATCH] Throw an error when converting a map into an unknown map type * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid. * test/automated/map-test.el: Add a regression test. --- lisp/emacs-lisp/map.el | 3 ++- test/automated/map-test.el | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el index fec06343f7c..7d839f822d2 100644 --- a/lisp/emacs-lisp/map.el +++ b/lisp/emacs-lisp/map.el @@ -193,7 +193,8 @@ MAP can be a list, hash-table or array." TYPE can be one of the following symbols: list or hash-table." (pcase type (`list (map-pairs map)) - (`hash-table (map--into-hash-table map)))) + (`hash-table (map--into-hash-table map)) + (t (error "Not a map type name: %s" type)))) (defmacro map--dispatch (spec &rest args) "Evaluate one of the provided forms depending on the type of MAP. diff --git a/test/automated/map-test.el b/test/automated/map-test.el index 8a12be84aa1..ea7b0af3f46 100644 --- a/test/automated/map-test.el +++ b/test/automated/map-test.el @@ -318,7 +318,8 @@ (assert (equal (map-values (map-into (map-into ht 'list) 'hash-table)) (map-values ht))) (assert (null (map-into nil 'list))) - (assert (map-empty-p (map-into nil 'hash-table))))) + (assert (map-empty-p (map-into nil 'hash-table))) + (should-error (map-into [1 2 3] 'string)))) (provide 'map-tests) ;;; map-tests.el ends here -- 2.39.5