]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve wrong number of args error message in propertize
authorStefan Kangas <stefan@marxist.se>
Mon, 22 Feb 2021 10:56:12 +0000 (11:56 +0100)
committerStefan Kangas <stefan@marxist.se>
Mon, 22 Feb 2021 10:56:12 +0000 (11:56 +0100)
* src/editfns.c (Fpropertize): Improve error message.
(syms_of_editfns) <Qpropertize>: New DEFSYM.
* test/src/editfns-tests.el
(propertize/error-wrong-number-of-args): New test.

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

index 991f79abac7a80ce0eb9978e8bf623722743fd0f..fb20fc965502a41660ff5bdb91f3fd95d9908306 100644 (file)
@@ -2945,7 +2945,7 @@ usage: (propertize STRING &rest PROPERTIES)  */)
 
   /* Number of args must be odd.  */
   if ((nargs & 1) == 0)
-    error ("Wrong number of arguments");
+    xsignal2 (Qwrong_number_of_arguments, Qpropertize, make_fixnum (nargs));
 
   properties = string = Qnil;
 
@@ -4448,6 +4448,7 @@ syms_of_editfns (void)
 {
   DEFSYM (Qbuffer_access_fontify_functions, "buffer-access-fontify-functions");
   DEFSYM (Qwall, "wall");
+  DEFSYM (Qpropertize, "propertize");
 
   DEFVAR_LISP ("inhibit-field-text-motion", Vinhibit_field_text_motion,
               doc: /* Non-nil means text motion commands don't notice fields.  */);
index dcec971c12ec743c2729e7032144d84801ec8222..ea80da4819cffc787e20df727225d508790d501a 100644 (file)
              (format (concat "%-3d/" s) 12)
              #("12 /X" 4 5 (prop "val"))))))
 
+(ert-deftest propertize/error-even-number-of-args ()
+  "Number of args for `propertize' must be odd."
+  (should-error (propertize "foo" 'bar) :type 'wrong-number-of-arguments))
+
 ;; Tests for bug#5131.
 (defun transpose-test-reverse-word (start end)
   "Reverse characters in a word by transposing pairs of characters."