(riece-twitter-update): Don't send extra
[elisp/riece.git] / lisp / riece-twitter.el
index 9726069..a227cbb 100644 (file)
    (let ((username (read-string "Username: "))
         password)
      (unwind-protect
-        (setq password (read-passwd "Password: "))
+        (list (concat username ":"
+                      (setq password (read-passwd "Password: "))))
        (if password
           (riece-twitter-clear-string password))
-       (setq password nil))
-     (list (concat username ":" password))))
+       (setq password nil))))
   (setq riece-twitter-credential credential))
 
 (defun riece-twitter-update (status)
   "Update your status."
-  (interactive "sStatus: ")
+  (interactive
+   (progn
+     (unless riece-twitter-credential
+       (error "%s"
+             (substitute-command-keys
+              "\\[riece-twitter-set-credential] to set your credential")))
+     (list (read-string "Status: "))))
   (message "Sending to Twitter...")
-  (let ((process
-        (start-process
-         "curl" nil "curl"
-         "-H" "X-Twitter-Client: Riece"
-         "-H" (concat "X-Twitter-Client-Version: " riece-version-number)
-         "-H" "X-Twitter-Client-URL: http://riece.nongnu.org/twitter.xml"
-         "-u" credential
-         "-d" "source=riece"
-         "-d" (concat "status="
-                      (riece-twitter-escape-string
-                       (encode-coding-string status 'utf-8)))
-         "-s"
-         "http://twitter.com/statuses/update.json")))
+  (let* ((args
+         (list "-u" riece-twitter-credential
+               "-d" (concat "status="
+                            (riece-twitter-escape-string
+                             (encode-coding-string status 'utf-8)))
+               "-s"
+               "http://twitter.com/statuses/update.json"))
+        (process
+         (apply #'start-process
+                "curl" nil "curl"
+                (if (interactive-p)
+                    args
+                  (append args
+                          (list "-H" "X-Twitter-Client: Riece"
+                                "-H" (concat "X-Twitter-Client-Version: "
+                                             riece-version-number)
+                                "-H" "X-Twitter-Client-URL: http://riece.nongnu.org/twitter.xml"
+                                "-d" "source=riece"))))))
     (set-process-sentinel process #'riece-twitter-sentinel)))
 
 (defun riece-twitter-sentinel (process status)