diff options
| author | Andrew Schwartzmeyer | 2018-09-24 21:09:39 -0700 |
|---|---|---|
| committer | Eli Zaretskii | 2018-09-29 09:56:46 +0300 |
| commit | 48ff4c0b2f78f1812fa12e3a56ee5f2a0bc712f7 (patch) | |
| tree | 0572bf3bf14553e78dcbe58ffa3d0b8b754b4f04 /test | |
| parent | c973a0f15efe173671d82ac9a6ba67d5a592dc2e (diff) | |
| download | emacs-48ff4c0b2f78f1812fa12e3a56ee5f2a0bc712f7.tar.gz emacs-48ff4c0b2f78f1812fa12e3a56ee5f2a0bc712f7.zip | |
Support mode aliases in 'provided-mode-derived-p'
* lisp/subr.el (provided-mode-derived-p): Check aliases of
MODES as well as MODES themselves. (Bug#32795)
* test/lisp/subr-tests.el (provided-mode-derived-p): New test.
Copyright-paperwork-exempt: yes
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/subr-tests.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index 86938d5dbe0..f218a7663e0 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el | |||
| @@ -61,6 +61,18 @@ | |||
| 61 | (quote | 61 | (quote |
| 62 | (0 font-lock-keyword-face)))))))) | 62 | (0 font-lock-keyword-face)))))))) |
| 63 | 63 | ||
| 64 | (ert-deftest provided-mode-derived-p () | ||
| 65 | ;; base case: `derived-mode' directly derives `prog-mode' | ||
| 66 | (should (progn | ||
| 67 | (define-derived-mode derived-mode prog-mode "test") | ||
| 68 | (provided-mode-derived-p 'derived-mode 'prog-mode))) | ||
| 69 | ;; edge case: `derived-mode' derives an alias of `prog-mode' | ||
| 70 | (should (progn | ||
| 71 | (defalias 'parent-mode | ||
| 72 | (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode)) | ||
| 73 | (define-derived-mode derived-mode parent-mode "test") | ||
| 74 | (provided-mode-derived-p 'derived-mode 'prog-mode)))) | ||
| 75 | |||
| 64 | (ert-deftest number-sequence-test () | 76 | (ert-deftest number-sequence-test () |
| 65 | (should (= (length | 77 | (should (= (length |
| 66 | (number-sequence (1- most-positive-fixnum) most-positive-fixnum)) | 78 | (number-sequence (1- most-positive-fixnum) most-positive-fixnum)) |