新規エントリポストを追加

さーて、新しいバッファを作ってエントリポストするようにしてみたぞ。ちゃんと動いてくれよ〜

--- c:\tools\xyzzy\site-lisp\ht.l.0507	Fri May 08 13:30:55 2009
+++ c:\tools\xyzzy\site-lisp\ht.l	Fri May 08 16:31:03 2009
@@ -18,7 +18,7 @@
 ;;        実行したバッファの中身をまるまる投稿する機能のみ。
 ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
+(provide "hatena-atompub")
 
 (require "atomm/publish")
 
@@ -70,24 +70,14 @@
 (unless *hatena-atompub-mode-map*
   (setq *hatena-atompub-mode-map* (make-sparse-keymap))
   (define-key *hatena-atompub-mode-map* #\SPC          'hateda-show-content)
+  (define-key *hatena-atompub-mode-map* #\r            'hateda-get-entry-list)
   (define-key *hatena-atompub-mode-map* #\c            'hateda-create-entry)
-  (define-key *hatena-atompub-mode-map* '(#\C-c #\C-c) 'hateda-post)
   (define-key *hatena-atompub-mode-map* #\e            'hateda-edit-entry)
   (define-key *hatena-atompub-mode-map* #\d            'hateda-delete)
   (define-key *hatena-atompub-mode-map* #\q            'hateda-finish)
   )
 
 
-;;
-;; 新規エントリの作成
-;;
-(defun hateda-create-entry ()
-  (interactive)
-  (set-buffer (get-buffer-create *hateda-edit-buffer*))
-  
-  
-  )
-
 
 ;;
 ;; アプリケーション起動
@@ -232,11 +222,14 @@
 	    (hateda-get-entry-list)
 	    (message "削除しました")))))))
 
-;; 指定されたURLへDELETEを送る
-(defun hateda-delete-entry (deleteurl)
-  (atomm::atomm-delete-entry deleteurl
-			     *hateda-user*
-			     *hateda-password*))
+;;
+;; 新規エントリの作成
+;;
+(defun hateda-create-entry ()
+  (interactive)
+  (set-buffer (get-buffer-create *hateda-edit-buffer*))
+  (local-set-key '(#\C-c #\C-c) 'hateda-post)
+  )
 
 ;; エントリのポスト
 (defun hateda-post-new (data url)
@@ -260,9 +253,18 @@
 			  (list "content" nil (buffer-substring (point-min) (point-max))))
 		    )))
 	;    (msgbox "~S" data)
-	(hateda-post-new data *hateda-user-url*)
+	(when (hateda-post-new data *hateda-user-url*)
+	  (delete-buffer *hateda-edit-buffer*)
+	  (sleep-for 2)
+	  (hateda-get-entry-list))
 	)
     ))
+
+;; 指定されたURLへDELETEを送る
+(defun hateda-delete-entry (deleteurl)
+  (atomm::atomm-delete-entry deleteurl
+			     *hateda-user*
+			     *hateda-password*))
 
 ;; 終了
 (defun hateda-finish ()