diff options
| author | Christopher Genovese | 2016-12-07 19:51:33 +0900 |
|---|---|---|
| committer | Tino Calancha | 2016-12-07 19:51:33 +0900 |
| commit | 20f5a5b386db878e69a4b6be565dc06d06b46ffd (patch) | |
| tree | 24f855a48bdc8617f5800e40f743ad9b2da767c0 /test | |
| parent | 8e5a769965313a7a1c42b5992ed24e8b0ea71ead (diff) | |
| download | emacs-20f5a5b386db878e69a4b6be565dc06d06b46ffd.tar.gz emacs-20f5a5b386db878e69a4b6be565dc06d06b46ffd.zip | |
ibuffer-saved-filters: Remove extra nesting level
Fix Bug#25049.
* lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
nesting level; add transparent setter to adjust old-format values;
update doc string.
(ibuffer-save-filters): Remove extra level of nesting
in ibuffer-saved-filters values when saving new filters.
(ibuffer-old-saved-filters-warning): New variable with
clickable message with repair options to be displayed
as a warning if 'ibuffer-repair-saved-filters' detects
a format mismatch.
(ibuffer-repair-saved-filters): Add new command to check and
repair saved filters format.
(ibuffer-included-in-filter-p, ibuffer-decompose-filter):
Change access of saved filter data (cadr->cdr) to account
for reduced nesting.
* test/lisp/ibuffer-tests.el (ibuffer-save-filters):
New test; check that filters are saved in the proper format.
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/ibuffer-tests.el | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index 3a4def3a2b0..6d5187a2b77 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el | |||
| @@ -66,5 +66,34 @@ | |||
| 66 | (mapc (lambda (buf) (when (buffer-live-p buf) | 66 | (mapc (lambda (buf) (when (buffer-live-p buf) |
| 67 | (kill-buffer buf))) (list buf1 buf2))))) | 67 | (kill-buffer buf))) (list buf1 buf2))))) |
| 68 | 68 | ||
| 69 | (ert-deftest ibuffer-save-filters () | ||
| 70 | "Tests that `ibuffer-save-filters' saves in the proper format." | ||
| 71 | (skip-unless (featurep 'ibuf-ext)) | ||
| 72 | (let ((ibuffer-save-with-custom nil) | ||
| 73 | (ibuffer-saved-filters nil) | ||
| 74 | (test1 '((mode . org-mode) | ||
| 75 | (or (size-gt . 10000) | ||
| 76 | (and (not (starred-name)) | ||
| 77 | (directory . "\<org\>"))))) | ||
| 78 | (test2 '((or (mode . emacs-lisp-mode) (file-extension . "elc?") | ||
| 79 | (and (starred-name) (name . "elisp")) | ||
| 80 | (mode . lisp-interaction-mode)))) | ||
| 81 | (test3 '((size-lt . 100) (derived-mode . prog-mode) | ||
| 82 | (or (filename . "scratch") | ||
| 83 | (filename . "bonz") | ||
| 84 | (filename . "temp"))))) | ||
| 85 | (ibuffer-save-filters "test1" test1) | ||
| 86 | (should (equal (car ibuffer-saved-filters) (cons "test1" test1))) | ||
| 87 | (ibuffer-save-filters "test2" test2) | ||
| 88 | (should (equal (car ibuffer-saved-filters) (cons "test2" test2))) | ||
| 89 | (should (equal (cadr ibuffer-saved-filters) (cons "test1" test1))) | ||
| 90 | (ibuffer-save-filters "test3" test3) | ||
| 91 | (should (equal (car ibuffer-saved-filters) (cons "test3" test3))) | ||
| 92 | (should (equal (cadr ibuffer-saved-filters) (cons "test2" test2))) | ||
| 93 | (should (equal (car (cddr ibuffer-saved-filters)) (cons "test1" test1))) | ||
| 94 | (should (equal (cdr (assoc "test1" ibuffer-saved-filters)) test1)) | ||
| 95 | (should (equal (cdr (assoc "test2" ibuffer-saved-filters)) test2)) | ||
| 96 | (should (equal (cdr (assoc "test3" ibuffer-saved-filters)) test3)))) | ||
| 97 | |||
| 69 | (provide 'ibuffer-tests) | 98 | (provide 'ibuffer-tests) |
| 70 | ;; ibuffer-tests.el ends here | 99 | ;; ibuffer-tests.el ends here |