From 7466b10346a3fdde2d3735d6ac09556569c24e5a Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 22 Feb 2021 11:56:12 +0100 Subject: [PATCH] Improve wrong number of args error message in propertize * src/editfns.c (Fpropertize): Improve error message. (syms_of_editfns) : New DEFSYM. * test/src/editfns-tests.el (propertize/error-wrong-number-of-args): New test. --- src/editfns.c | 3 ++- test/src/editfns-tests.el | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/editfns.c b/src/editfns.c index 991f79abac7..fb20fc96550 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -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. */); diff --git a/test/src/editfns-tests.el b/test/src/editfns-tests.el index dcec971c12e..ea80da4819c 100644 --- a/test/src/editfns-tests.el +++ b/test/src/editfns-tests.el @@ -128,6 +128,10 @@ (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." -- 2.39.2