Add a test for let-binding unwinding
Bindings in other buffers are not un-set when we unwind a let-binding which set the default value. There doesn't seem to be an existing test which covers this, so here's one. * test/src/data-tests.el (data-tests--let-buffer-local-no-unwind-other-buffers): Add test for let-binding unwinding behavior
This commit is contained in:
parent
55a7af9123
commit
b29bf8181f
1 changed files with 22 additions and 0 deletions
|
@ -364,6 +364,28 @@ comparing the subr with a much slower lisp implementation."
|
|||
(should (equal (default-value var) (symbol-value var))))
|
||||
(should (equal (default-value var) def))))))
|
||||
|
||||
(ert-deftest data-tests--let-buffer-local-no-unwind-other-buffers ()
|
||||
"Test that a let-binding for a buffer-local unwinds only current-buffer."
|
||||
(let ((blvar (make-symbol "blvar")))
|
||||
(set-default blvar 0)
|
||||
(make-variable-buffer-local blvar)
|
||||
(dolist (var (list blvar 'left-margin))
|
||||
(let* ((def (default-value var))
|
||||
(newdef (+ def 1))
|
||||
(otherbuf (generate-new-buffer "otherbuf")))
|
||||
(with-temp-buffer
|
||||
(cl-progv (list var) (list newdef)
|
||||
(with-current-buffer otherbuf
|
||||
(set var 123)
|
||||
(should (local-variable-p var))
|
||||
(should (equal (symbol-value var) 123))
|
||||
(should (equal (default-value var) newdef))))
|
||||
(with-current-buffer otherbuf
|
||||
(should (local-variable-p var))
|
||||
(should (equal (symbol-value var) 123))
|
||||
(should (equal (default-value var) def)))
|
||||
)))))
|
||||
|
||||
(ert-deftest binding-test-makunbound ()
|
||||
"Tests of makunbound, from the manual."
|
||||
(with-current-buffer binding-test-buffer-B
|
||||
|
|
Loading…
Add table
Reference in a new issue