From 5a43d78c26b0c8b4fc202042a344ad1d5f4e0a81 Mon Sep 17 00:00:00 2001 From: Tadashi MATSUO Date: Mon, 1 Feb 2010 00:40:49 +0900 Subject: [PATCH] `twittering-http-get-default-sentinel' is rearranged. * twittering-mode.el (twittering-http-get-default-sentinel): rearranged. --- ChangeLog | 5 +++ twittering-mode.el | 91 ++++++++++++++++++++++++---------------------- 2 files changed, 52 insertions(+), 44 deletions(-) diff --git a/ChangeLog b/ChangeLog index faadbe76..b31ff7f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-01-31 Tadashi MATSUO + + * twittering-mode.el (twittering-http-get-default-sentinel): + rearranged. + 2010-01-30 Tadashi MATSUO * twittering-mode.el (twittering-fill-string): use `frame-width' diff --git a/twittering-mode.el b/twittering-mode.el index cf82d2bd..121860aa 100644 --- a/twittering-mode.el +++ b/twittering-mode.el @@ -1461,50 +1461,53 @@ Available keywords: (defun twittering-http-get-default-sentinel (temp-buffer noninteractive proc stat &optional suc-msg) (debug-printf "get-default-sentinel: proc=%s stat=%s" proc stat) (unwind-protect - (let ((header (twittering-get-response-header temp-buffer)) - (body (twittering-get-response-body temp-buffer)) - (status-line nil) - (status nil)) - (if (string-match twittering-http-status-line-regexp header) - (when body - (setq status-line (match-string-no-properties 1 header)) - (setq status (match-string-no-properties 2 header)) - (case-string - status - (("200") - (setq twittering-new-tweets-count - (count t (mapcar - #'twittering-cache-status-datum - (reverse (twittering-xmltree-to-status - body))))) - (setq twittering-timeline-data - (sort twittering-timeline-data - (lambda (status1 status2) - (let ((created-at1 - (twittering-created-at-to-seconds - (cdr (assoc 'created-at status1)))) - (created-at2 - (twittering-created-at-to-seconds - (cdr (assoc 'created-at status2))))) - (> created-at1 created-at2))))) - (if (and (< 0 twittering-new-tweets-count) - noninteractive) - (run-hooks 'twittering-new-tweets-hook)) - (let ((same-timeline - (equal twittering-last-retrieved-timeline-spec-string - twittering-last-requested-timeline-spec-string))) - (setq twittering-last-retrieved-timeline-spec-string - twittering-last-requested-timeline-spec-string) - (twittering-render-timeline same-timeline)) - (twittering-add-timeline-history) - (when (and (twittering-buffer-active-p) - twittering-notify-successful-http-get) - (message (if suc-msg suc-msg "Success: Get.")))) - (t (when (twittering-buffer-active-p) - (message "Response: %s" status-line))))) - (when (twittering-buffer-active-p) - (message "Failure: Bad http response."))) - ) + (let* ((header (twittering-get-response-header temp-buffer)) + (body (twittering-get-response-body temp-buffer)) + (header-is-valid + (string-match twittering-http-status-line-regexp header)) + (status-line (and header-is-valid + (match-string-no-properties 1 header))) + (status (and header-is-valid + (match-string-no-properties 2 header)))) + (cond + ((and header-is-valid body) + (case-string + status + (("200") + (let* ((reversed-statuses + (twittering-xmltree-to-status body)) + (statuses (reverse reversed-statuses))) + (setq twittering-new-tweets-count + (count t (mapcar + #'twittering-cache-status-datum + statuses)))) + (setq twittering-timeline-data + (sort twittering-timeline-data + (lambda (status1 status2) + (let ((created-at1 + (twittering-created-at-to-seconds + (cdr (assoc 'created-at status1)))) + (created-at2 + (twittering-created-at-to-seconds + (cdr (assoc 'created-at status2))))) + (> created-at1 created-at2))))) + (if (and (< 0 twittering-new-tweets-count) + noninteractive) + (run-hooks 'twittering-new-tweets-hook)) + (let ((same-timeline + (equal twittering-last-retrieved-timeline-spec-string + twittering-last-requested-timeline-spec-string))) + (setq twittering-last-retrieved-timeline-spec-string + twittering-last-requested-timeline-spec-string) + (twittering-render-timeline same-timeline)) + (twittering-add-timeline-history) + (when (and (twittering-buffer-active-p) + twittering-notify-successful-http-get) + (message (if suc-msg suc-msg "Success: Get.")))) + (t (when (twittering-buffer-active-p) + (message "Response: %s" status-line))))) + ((and (not header-is-valid) twittering-buffer-active-p) + (message "Failure: Bad http response.")))) ;; unwindforms (when (and (not twittering-debug-mode) (buffer-live-p temp-buffer)) (kill-buffer temp-buffer)))