summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2023-09-19 15:18:11 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2023-09-19 15:21:03 +0200
commitb03338c70d81f2cba9c8a0b4fefbf83ef7a346e0 (patch)
tree28ebf04f4dbfbf5b021d018216df6fe85b8110f5 /test/lisp/emacs-lisp
parent321f2e1e4d4b2f209b072dc891cc89cbab19f032 (diff)
downloademacs-b03338c70d81f2cba9c8a0b4fefbf83ef7a346e0.tar.gz
emacs-b03338c70d81f2cba9c8a0b4fefbf83ef7a346e0.tar.bz2
emacs-b03338c70d81f2cba9c8a0b4fefbf83ef7a346e0.zip
Warn about duplicated :tag strings in defcustom choices
It is bad user experience when two menu items have identical labels. * lisp/emacs-lisp/bytecomp.el (bytecomp--check-cus-type): Add check. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-defcustom-type): Add test case.
Diffstat (limited to 'test/lisp/emacs-lisp')
-rw-r--r--test/lisp/emacs-lisp/bytecomp-tests.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el b/test/lisp/emacs-lisp/bytecomp-tests.el
index a335a7fa1f8..e644417c3d4 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -1875,7 +1875,7 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
(FIXTURE-FN \\='#\\='electric-pair-mode))" fill-column)))
(ert-deftest bytecomp-test-defcustom-type ()
- (cl-flet ((dc (type) `(defcustom mytest nil "doc" :type ',type)))
+ (cl-flet ((dc (type) `(defcustom mytest nil "doc" :type ',type :group 'test)))
(bytecomp--with-warning-test
(rx "type should not be quoted") (dc ''integer))
(bytecomp--with-warning-test
@@ -1891,6 +1891,9 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
(rx "duplicated value in `choice': `a'")
(dc '(choice (const a) (const b) (const a))))
(bytecomp--with-warning-test
+ (rx "duplicated :tag string in `choice': \"X\"")
+ (dc '(choice (const :tag "X" a) (const :tag "Y" b) (other :tag "X" c))))
+ (bytecomp--with-warning-test
(rx "`cons' requires 2 type specs, found 1")
(dc '(cons :tag "a" integer)))
(bytecomp--with-warning-test