(require 'navi2ch) (defvar navi2ch-article-parse-timer-id nil) (defvar navi2ch-article-parse-timer-interval 3) (defun navi2ch-article-parse-timer-setup () (when navi2ch-article-parse-timer-id (cancel-timer navi2ch-article-parse-timer-id)) (setq navi2ch-article-parse-timer-id (run-with-idle-timer navi2ch-article-parse-timer-interval t 'navi2ch-article-parse-messages-list))) (defun navi2ch-article-parse-messages-list () (with-current-buffer (navi2ch-article-current-buffer) (catch 'loop (dolist (x navi2ch-article-message-list) (when (stringp (cdr x)) (setcdr x (cons (cons 'point nil) (navi2ch-article-parse-message (cdr x))))) (when (input-pending-p) (throw 'loop nil))) (cancel-timer navi2ch-article-parse-timer-id) (setq navi2ch-article-parse-timer-id nil)))) (add-hook 'navi2ch-article-mode-hook 'navi2ch-article-parse-timer-setup) (provide 'navi2ch-idle-parse)