diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2023-09-19 15:18:11 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2023-09-19 15:21:03 +0200 |
commit | b03338c70d81f2cba9c8a0b4fefbf83ef7a346e0 (patch) | |
tree | 28ebf04f4dbfbf5b021d018216df6fe85b8110f5 /test/lisp/emacs-lisp | |
parent | 321f2e1e4d4b2f209b072dc891cc89cbab19f032 (diff) | |
download | emacs-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.el | 5 |
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 |