aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/test-lib.el
diff options
context:
space:
mode:
authorGravatar Tomi Ollila <tomi.ollila@iki.fi>2012-08-05 14:13:02 +0300
committerGravatar David Bremner <bremner@debian.org>2012-08-29 19:06:18 -0300
commit3c053bf81cf75ab37b906e748ea1edcf8af4b178 (patch)
treeac4afc2a7911aeca9c440c7b55a60f1ae33b2470 /test/test-lib.el
parentf791cc9247dfac8640c8896bad9d9c1a1e70edfc (diff)
test: emacs: run list-processes after accept-process-output in emacs 23.1
When running emacs tests using emacs 23.1.1 the tests block (until timeout) when emacs function (notmuch-test-wait) is called. There is an emacs bug #2930 titled: 23.0.92; `accept-process-output' and `sleep-for' do not run sentinel It seems this is present in emacs 23.1. Calling list-processes after accept-process-output seems work around this problem; in case Emacs version is 23.1 a defadvice is activated to do just that.
Diffstat (limited to 'test/test-lib.el')
-rw-r--r--test/test-lib.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/test-lib.el b/test/test-lib.el
index 52d99361..fa3380cf 100644
--- a/test/test-lib.el
+++ b/test/test-lib.el
@@ -35,6 +35,16 @@
"Disable yes-or-no-p before executing kill-emacs"
(defun yes-or-no-p (prompt) t)))
+;; Emacs bug #2930:
+;; 23.0.92; `accept-process-output' and `sleep-for' do not run sentinels
+;; seems to be present in Emacs 23.1.
+;; Running `list-processes' after `accept-process-output' seems to work
+;; around this problem.
+(if (and (= emacs-major-version 23) (= emacs-minor-version 1))
+ (defadvice accept-process-output (after run-list-processes activate)
+ "run list-processes after executing accept-process-output"
+ (list-processes)))
+
(defun notmuch-test-wait ()
"Wait for process completion."
(while (get-buffer-process (current-buffer))