- (if (not (process-attributes pid))
- (kill-emacs)
- (run-at-time "1 min" nil 'orphan-watchdog pid)))
-
-(defun hook-counter (hook)
- "Count how many times a hook is called. Increments
-`hook'-counter variable value if it is bound, otherwise does
-nothing."
- (let ((counter (intern (concat (symbol-name hook) "-counter"))))
- (if (boundp counter)
- (set counter (1+ (symbol-value counter))))))
-
-(defun add-hook-counter (hook)
- "Add hook to count how many times `hook' is called."
- (add-hook hook (apply-partially 'hook-counter hook)))
-
-(add-hook-counter 'notmuch-hello-mode-hook)
-(add-hook-counter 'notmuch-hello-refresh-hook)
-
-(defadvice notmuch-search-process-filter (around pessimal activate disable)
- "Feed notmuch-search-process-filter one character at a time."
- (let ((string (ad-get-arg 1)))
- (loop for char across string
- do (progn
- (ad-set-arg 1 (char-to-string char))
- ad-do-it))))
+ (unless (test-process-running pid)
+ (kill-emacs)))
+
+(defun orphan-watchdog (pid)
+ "Initiate orphan watchdog check."
+ (run-at-time 60 60 'orphan-watchdog-check pid))
+
+(defvar notmuch-hello-mode-hook-counter -100
+ "Tests that care about this counter must let-bind it to 0.")
+(add-hook 'notmuch-hello-mode-hook
+ (lambda () (cl-incf notmuch-hello-mode-hook-counter)))
+
+(defvar notmuch-hello-refresh-hook-counter -100
+ "Tests that care about this counter must let-bind it to 0.")
+(add-hook 'notmuch-hello-refresh-hook
+ (lambda () (cl-incf notmuch-hello-refresh-hook-counter)))
+
+(defvar notmuch-test-tag-hook-output nil)
+(defun notmuch-test-tag-hook () (push (cons query tag-changes) notmuch-test-tag-hook-output))
+
+(defun notmuch-test-mark-links ()
+ "Enclose links in the current buffer with << and >>."
+ ;; Links are often created by jit-lock functions
+ (jit-lock-fontify-now)
+ (save-excursion
+ (let ((inhibit-read-only t))
+ (goto-char (point-min))
+ (let ((button))
+ (while (setq button (next-button (point)))
+ (goto-char (button-start button))
+ (insert "<<")
+ (goto-char (button-end button))
+ (insert ">>"))))))