(require 'mixi)
(require 'mixi-utils)
(require 'timer)
-
-;; Functions and variables which should be defined in the other module
-;; at run-time.
-(eval-when-compile
- (defvar riece-current-channels)
- (autoload 'riece-send-string "riece-server")
- (autoload 'riece-identity-prefix "riece-identity")
- (autoload 'riece-display-message "riece-message")
- (autoload 'riece-make-message "riece-message")
- (autoload 'riece-current-nickname "riece-misc")
- (autoload 'riece-message-own-p "riece-message")
- (autoload 'riece-message-text "riece-message")
- (autoload 'riece-message-target "riece-message")
- (autoload 'riece-parse-identity "riece-identity"))
+(require 'riece-message)
(defgroup riece-mixi nil
"Riece integration for mixi."
(defun riece-mixi-display-message-function (message)
(when (and (get 'riece-mixi 'riece-addon-enabled)
- (or (not riece-mixi-reply-to-only-me)
- (and riece-mixi-reply-to-only-me
- (riece-message-own-p message)))
+ (or (riece-message-own-p message)
+ (not riece-mixi-reply-to-only-me))
(string-match riece-mixi-regexp (riece-message-text message)))
(let* ((url (match-string 1 (riece-message-text message)))
(object (mixi-make-object-from-url url)))
(defun riece-mixi-send-object-with-url (target object)
(condition-case nil
- (let ((string (mixi-make-title object t))
- (url (mixi-make-url object)))
- (riece-mixi-send-notice target string)
+ (let ((url (mixi-make-url object)))
(riece-mixi-send-notice target url))
(error nil)))
(when (member target riece-current-channels)
(let ((objects (mixi-make-objects url-or-function
riece-mixi-check-range)))
- (mapc (lambda (object)
- (when (mixi-parent-p object)
- (let ((comments (mixi-get-comments
- object riece-mixi-check-range)))
- (mapc (lambda (comment)
- (let ((time (mixi-object-time comment)))
- (when (mixi-time-less-p
- riece-mixi-last-check time)
- (riece-mixi-send-object-with-url
- target comment))))
- comments)))
- (let ((time (mixi-object-time object)))
- (when (mixi-time-less-p riece-mixi-last-check
- time)
- (riece-mixi-send-object-with-url target
- object))))
- objects)))))
+ (while objects
+ (let ((object (car objects)))
+ (when (mixi-parent-p object)
+ (let ((comments (mixi-get-comments
+ object riece-mixi-check-range)))
+ (while comments
+ (let ((time (mixi-object-time (car comments))))
+ (when (mixi-time-less-p riece-mixi-last-check
+ time)
+ (riece-mixi-send-object-with-url
+ target (car comments))))
+ (setq comments (cdr comments)))))
+ (let ((time (mixi-object-time object)))
+ (when (mixi-time-less-p riece-mixi-last-check time)
+ (riece-mixi-send-object-with-url target object))))
+ (setq objects (cdr objects)))))))
riece-mixi-check-alist)
(setq riece-mixi-last-check (current-time))))