]> gitweb @ CieloNegro.org - sugar.git/blob - dot-files/_navi2ch/elisp/navi2ch-idle-parse_el
Auto commit by The Sugar System.
[sugar.git] / dot-files / _navi2ch / elisp / navi2ch-idle-parse_el
1 (require 'navi2ch)
2
3 (defvar navi2ch-article-parse-timer-id nil)
4 (defvar navi2ch-article-parse-timer-interval 3)
5 (defun navi2ch-article-parse-timer-setup ()
6   (when navi2ch-article-parse-timer-id
7     (cancel-timer navi2ch-article-parse-timer-id))
8   (setq navi2ch-article-parse-timer-id
9         (run-with-idle-timer navi2ch-article-parse-timer-interval
10                              t 'navi2ch-article-parse-messages-list)))
11 (defun navi2ch-article-parse-messages-list ()
12   (with-current-buffer (navi2ch-article-current-buffer)
13     (catch 'loop
14       (dolist (x navi2ch-article-message-list)
15         (when (stringp (cdr x))
16           (setcdr x (cons (cons 'point nil)
17                           (navi2ch-article-parse-message (cdr x)))))
18         (when (input-pending-p) (throw 'loop nil)))
19       (cancel-timer navi2ch-article-parse-timer-id)
20       (setq navi2ch-article-parse-timer-id nil))))
21 (add-hook 'navi2ch-article-mode-hook 'navi2ch-article-parse-timer-setup)
22
23 (provide 'navi2ch-idle-parse)