aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'test/src')
-rw-r--r--test/src/thread-tests.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/src/thread-tests.el b/test/src/thread-tests.el
index b7ab31120aa..75d67140a90 100644
--- a/test/src/thread-tests.el
+++ b/test/src/thread-tests.el
@@ -393,4 +393,29 @@
393 (let ((th (make-thread 'ignore))) 393 (let ((th (make-thread 'ignore)))
394 (should-not (equal th main-thread)))) 394 (should-not (equal th main-thread))))
395 395
396(defvar threads-test--var 'global)
397
398(ert-deftest threads-test-bug48990 ()
399 (skip-unless (fboundp 'make-thread))
400 (let ((buf1 (generate-new-buffer " thread-test"))
401 (buf2 (generate-new-buffer " thread-test")))
402 (with-current-buffer buf1
403 (setq-local threads-test--var 'local1))
404 (with-current-buffer buf2
405 (setq-local threads-test--var 'local2))
406 (let ((seen nil))
407 (with-current-buffer buf1
408 (should (eq threads-test--var 'local1))
409 (make-thread (lambda () (setq seen threads-test--var))))
410 (with-current-buffer buf2
411 (should (eq threads-test--var 'local2))
412 (let ((threads-test--var 'let2))
413 (should (eq threads-test--var 'let2))
414 (while (not seen)
415 (thread-yield))
416 (should (eq threads-test--var 'let2))
417 (should (eq seen 'local1)))
418 (should (eq threads-test--var 'local2)))
419 (should (eq threads-test--var 'global)))))
420
396;;; thread-tests.el ends here 421;;; thread-tests.el ends here