Index: lang/elisp/twittering-mode/trunk/twittering-mode.el
===================================================================
--- lang/elisp/twittering-mode/trunk/twittering-mode.el (revision 58)
+++ lang/elisp/twittering-mode/trunk/twittering-mode.el (revision 62)
@@ -46,5 +46,5 @@
 (require 'parse-time)
 
-(defconst twittering-mode-version "0.5")
+(defconst twittering-mode-version "0.6")
 
 (defun twittering-mode-version ()
@@ -103,4 +103,5 @@
 
 (defvar twittering-friends-timeline-data nil)
+(defvar twittering-friends-timeline-last-update nil)
 
 (defvar twittering-username-face 'twittering-username-face)
@@ -203,7 +204,13 @@
    (t nil)))
 
+(defun twittering-setftime (fmt string uni)
+  (format-time-string fmt ; like "%Y-%m-%d %H:%M:%S"
+		      (apply 'encode-time (parse-time-string string))
+		      uni))
 (defun twittering-local-strftime (fmt string)
-  (format-time-string fmt ; like "%Y-%m-%d %H:%M:%S", shown in localtime
-		      (apply 'encode-time (parse-time-string string))))
+  (twittering-setftime fmt string nil))
+(defun twittering-global-strftime (fmt string)
+  (twittering-setftime fmt string t))
+
 
 (defvar twittering-debug-mode nil)
@@ -324,5 +331,5 @@
 ;;;
 
-(defun twittering-http-get (method-class method &optional sentinel)
+(defun twittering-http-get (method-class method &optional parameters sentinel)
   (if (null sentinel) (setq sentinel 'twittering-http-get-default-sentinel))
 
@@ -354,5 +361,16 @@
 		 request)
 	     (setq request
-		   (concat "GET http://twitter.com/" method-class "/" method ".xml HTTP/1.1" nl
+		   (concat "GET http://twitter.com/" method-class "/" method
+			   ".xml"
+			   (when parameters
+			     (concat "?"
+				     (mapconcat
+				      (lambda (param-pair)
+					(format "%s=%s"
+						(twittering-percent-encode (car param-pair))
+						(twittering-percent-encode (cdr param-pair))))
+				      parameters
+				      "&")))
+			   " HTTP/1.1" nl
 			   "Host: twitter.com" nl
 			   "User-Agent: " (twittering-user-agent) nl
@@ -581,13 +599,14 @@
 	     request)
 	 (setq  request
-		(concat "POST http://twitter.com/" method-class "/" method ".xml?"
-			(if parameters
-			    (mapconcat
-			     (lambda (param-pair)
-			       (format "%s=%s"
-				       (twittering-percent-encode (car param-pair))
-				       (twittering-percent-encode (cdr param-pair))))
-			     parameters
-			     "&"))
+		(concat "POST http://twitter.com/" method-class "/" method ".xml"
+			(when parameters
+			  (concat "?"
+				  (mapconcat
+				   (lambda (param-pair)
+				     (format "%s=%s"
+					     (twittering-percent-encode (car param-pair))
+					     (twittering-percent-encode (cdr param-pair))))
+				   parameters
+				   "&")))
 			" HTTP/1.1" nl
 			"Host: twitter.com" nl
@@ -767,4 +786,7 @@
 	    ))
 
+      ;; save last update time
+      (setq twittering-friends-timeline-last-update created-at)
+
       (mapcar
        (lambda (sym)
@@ -903,6 +925,13 @@
     (if (not buf)
 	(twittering-stop)
-      (twittering-http-get "statuses" "friends_timeline")
-      ))
+       (if (not twittering-friends-timeline-last-update)
+	   (twittering-http-get "statuses" "friends_timeline")
+	 (let* ((system-time-locale "C")
+		(since
+		  (twittering-global-strftime
+		   "%a, %d %b %Y %H:%M:%S GMT"
+		   twittering-friends-timeline-last-update)))
+	   (twittering-http-get "statuses" "friends_timeline"
+				`(("since" . ,since)))))))
 
   (if twittering-icon-mode
@@ -933,5 +962,13 @@
   (interactive)
   (setq twittering-friends-timeline-data nil)
-  (twittering-http-get "statuses" "friends_timeline"))
+  (if (not twittering-friends-timeline-last-update)
+      (twittering-http-get "statuses" "friends_timeline")
+    (let* ((system-time-locale "C")
+	   (since
+	     (twittering-global-strftime
+	      "%a, %d %b %Y %H:%M:%S GMT"
+	      twittering-friends-timeline-last-update)))
+      (twittering-http-get "statuses" "friends_timeline"
+			   `(("since" . ,since))))))
 
 (defun twittering-click ()
Index: lang/elisp/twittering-mode/trunk/ChangeLog
===================================================================
--- lang/elisp/twittering-mode/trunk/ChangeLog (revision 58)
+++ lang/elisp/twittering-mode/trunk/ChangeLog (revision 62)
@@ -1,2 +1,17 @@
+2008-08-03  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>
+
+	* twittering-mode.el (twittering-mode-version): Update to 0.6
+	* twittering-mode.el (twittering-friends-timeline-last-update): 新
+	規変数
+	(twittering-setftime, twittering-local-strftime)
+	(twittering-global-strftime): `twittering-local-strftime'を機能分
+	割
+	(twittering-http-get): オプション引数`parameters'を追加、他調整
+	(twittering-http-post): 同上の調整
+	(twittering-status-to-status-datum): last-updateを更新する処理を追
+	加
+	(twittering-friends-timeline, twittering-erase-old-statuses):
+	statusのupdate時にsinceをパラメータと指定する処理をサポート
+
 2008-07-21  Tsuyoshi CHO  <Tsuyoshi.CHO+develop@Gmail.com>
 
