]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve error data when passing a wrong type to 'sort' (Bug#34104)
authorPhilipp Stephani <phst@google.com>
Thu, 17 Jan 2019 22:39:19 +0000 (23:39 +0100)
committerPhilipp Stephani <phst@google.com>
Sat, 19 Jan 2019 23:04:19 +0000 (00:04 +0100)
* src/fns.c (Fsort): Use 'list-or-vector-p' for error message.
(syms_of_fns): Define 'list-or-vector-p'.

* test/src/fns-tests.el (fns-tests-sort): Extend unit test.

src/fns.c
test/src/fns-tests.el

index 1ac60321c589ae1d56521ed6bdc81c163016994e..345211418cb0825f3466a7d058fb5833630da9b6 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -2084,7 +2084,7 @@ the second.  */)
   else if (VECTORP (seq))
     sort_vector (seq, predicate);
   else if (!NILP (seq))
-    wrong_type_argument (Qsequencep, seq);
+    wrong_type_argument (Qlist_or_vector_p, seq);
   return seq;
 }
 
@@ -5358,6 +5358,7 @@ Used by `featurep' and `require', and altered by `provide'.  */);
   DEFSYM (Qsubfeatures, "subfeatures");
   DEFSYM (Qfuncall, "funcall");
   DEFSYM (Qplistp, "plistp");
+  DEFSYM (Qlist_or_vector_p, "list-or-vector-p");
 
 #ifdef HAVE_LANGINFO_CODESET
   DEFSYM (Qcodeset, "codeset");
index 3d1a8b37b4efc77670f3702ccf592ff7da4e28f8..d6cc99e8e33c17ba5ed21ba267af57da14158e42 100644 (file)
             '(9 . "ppp") '(8 . "ttt") '(8 . "eee") '(9 . "fff"))
            (lambda (x y) (< (car x) (car y))))
           [(8 . "xxx") (8 . "bbb") (8 . "ttt") (8 . "eee")
-           (9 . "aaa") (9 . "zzz") (9 . "ppp") (9 . "fff")])))
+           (9 . "aaa") (9 . "zzz") (9 . "ppp") (9 . "fff")]))
+  ;; Bug#34104
+  (should (equal (should-error (sort "cba" #'<) :type 'wrong-type-argument)
+                 '(wrong-type-argument list-or-vector-p "cba"))))
 
 (ert-deftest fns-tests-collate-sort ()
   (skip-unless (fns-tests--collate-enabled-p))