(require 'w3m) (defvar rtm-feed-url-prefix "https://www.rememberthemilk.com/atom/") (defvar rtm-feed-content-type "application/atom+xml") (defvar rtm-temporary-file-prefix "/tmp/rtm") (defvar rtm-convert-program "/home/tabe/bin/rtm2howm.scm") (defun rtm-retrieve (user) (interactive "sUser: ") (catch 'failed (let ((temp-file (make-temp-file rtm-temporary-file-prefix))) (unwind-protect (progn (set-file-modes temp-file ?\600) (with-temp-file temp-file (let ((content-type (w3m-retrieve (concat rtm-feed-url-prefix user "/") nil t))) (unless (equal rtm-feed-content-type content-type) (throw 'failed (message "failed."))))) (call-process rtm-convert-program temp-file t t)) (delete-file temp-file) ))))