Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
> # ファイル全体をindent-regionしておいたほうが、同様の勘違いが > # 起きなくてよさそうですね。。 先日修正したunwind-protect関連の問題点は、適切にインデントが 行われていない点が原因(勘違いを引き起こした)と思っています。 ですので、タイミングをみて全体をindent-regionしたいと思います。 いまのところ、hayamiz/image-without-temp-fileをマージした後に 実施しようと考えていますが、いかがでしょうか。 # 普段から適切にインデントしなさいという指摘はごもっともです。 -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
今井です。 []を含むtweetのポスト、確認しました。 問題なく投稿できています。 IMAI Toshiyuki snowd...@kototone.jp -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
はやみずです url-hexify-stringで使っているunreserved charactersはRFC2396を参考にして いるようですが、調べてみたところこのRFCはobsoleteでした。RFC3986を参照 するべきようです。 http://en.wikipedia.org/wiki/Percent-encoding RFC3986では、丸括弧などもエスケープすべき文字(reserved chars)になっています。 で、この問題の根本は twittering-url-reserved-p の実装ミスですね。 文字chがアルファベットであるかどうかの判定に (and (<= ?A ch) (<= ch ?z)) としていたので、Zとaの間にある [ や ] もエスケープしなくてよいとみなさ れていたわけです。 とりあえずfixしたものを hayamiz/master にコミットしておいたので、確認し てみてください。手元の環境では、[ や ] を含んだものもcurlを使って投稿で きています。 Yuto Hayamizu Master's degree student at Kitsuregawa Laboratory Department of Information and Communication Engineering Graduate School of Information Science and Technology University of Tokyo From: Tadashi MATSUO Subject: Re: [twmode-users] 文字[もしくは文字]を含むtweetがポストできない Date: Wed, 06 Jan 2010 03:32:28 +0900 (JST) > 松尾です。 > > こちらではcurl(SSL)を使っていないのですが、問題なく > 投稿できるようです。今井さんはcurlをお使いでしょうか。 > twittering-percent-encodeで「[」や「]」が%5bや%5dにencode > されないのと関係あるのかもしれません。 > > Emacs 22.1のurl-util.elにある、url-hexify-stringを基にした > 関数で置き換えるパッチを作ってみました。 > http://github.com/hayamiz/twittering-mode/tree/master > に対する差分です。 > > twittering-mode.elのあるディレクトリで > patch -p1 < replace-percent-encode.path > を実行すれば適用できます。 > > これを適用するとエラーは収まるでしょうか。 > > --- > 松尾 直志 -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
今井です。 添付ファイルがついてたんですね。なんかメーラーが勝手に展開しちゃってたので、添付ファイルとは思ってませんでした。 今回のことでpatchの使い方がわかりました。便利なものですね。 次のアップデートが出たときに、また試してみます。 いろいろありがとうございます。 IMAI Toshiyuki snowd...@kototone.jp -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
松尾です。 すいません。実行コマンドを patch -p1 < replace-percent-encode.path のように書いてましたが、添付のファイル名は replace-percent-encode.patch だったので正しくは patch -p1 < replace-percent-encode.patch ですね。添付ファイルをreplace-percent-encode.patchの 名前で保存して、上記コマンドを実行すればパッチを適用 できるはずです。 hayamiz/master の dfcedf63dc41bccde8d4e5a998ba964a9bedd1ff に対する差分なので、現在のHEAD (de5b424412762ca4990014a8557f7411d2c1c9a5)に適用すると 微調整が行われた旨が出力されるはずです。 こちらでは以下のようになりました。 $ patch -p1 < /tmp/replace-percent-encode.patch patching file twittering-mode.el Hunk #2 succeeded at 1217 (offset -2 lines). --- 松尾 直志 -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
こんばんは、今井です。 patchを試そうと思ったのですが、malformed patch at line 5、というエラーが出て適用できなかったので、自力で書き換えましたところ、問題なく投稿できることを確認しました。 curlが関係しているというのは、いわれてみれば確かにそのとおりでした。[]に1-5というように数字を入れて連番ダウンロードできる機能を忘れてました。 patchは、replace-percent-encode.pathという名前のファイルを作って、 > diff -r ce86c2bd92fe twittering-mode.el から > (or (and (<= ?A ch) (<= ch ?z)) までをコピー後保存し、コマンドを実行すればいいと理解しています。 もし違ったら、違うよといってやってください。 IMAI Toshiyuki snowd...@kototone.jp -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
やたがわです。 松尾さんのパッチを適用してみると、手元では期待通りにpostできる ようです。 ただ、この問題の追試をしていて気付いたのですが、 > error in process sentinel: if: Failure: invalid HTTP response. > error in process sentinel: Failure: invalid HTTP response. 2回errorを投げられるのは意図していない動作のように見えますので、 それは直しておきます。 # ファイル全体をindent-regionしておいたほうが、同様の勘違いが # 起きなくてよさそうですね。。 > こんばんは、今井 (imait) です。 > 今日気付いたのですが、tweet中に「[」もしくは「]」を含んでいると、ポスト時にエラーを起こすようです。 > *Message*を見ると、次のようなエラーが返っていました。 > error in process sentinel: if: Failure: invalid HTTP response. > error in process sentinel: Failure: invalid HTTP response. > debug modeをonにした場合は: > debug mode:on > Loading etags...done > find-tag-tag: Command attempted to use minibuffer while in minibuffer > error in process sentinel: if: Failure: invalid HTTP response. > error in process sentinel: Failure: invalid HTTP response. > Quit > debug mode:off > です。 > emacsの機能(etags? どういうものか私は知りません)とぶつかってるとかなのでしょうか。 > 暇があれば追ってみようと思っています。 > IMAI Toshiyuki > snowd...@kototone.jp -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
松尾です。 こちらではcurl(SSL)を使っていないのですが、問題なく 投稿できるようです。今井さんはcurlをお使いでしょうか。 twittering-percent-encodeで「[」や「]」が%5bや%5dにencode されないのと関係あるのかもしれません。 Emacs 22.1のurl-util.elにある、url-hexify-stringを基にした 関数で置き換えるパッチを作ってみました。 http://github.com/hayamiz/twittering-mode/tree/master に対する差分です。 twittering-mode.elのあるディレクトリで patch -p1 < replace-percent-encode.path を実行すれば適用できます。 これを適用するとエラーは収まるでしょうか。 --- 松尾 直志 diff -r ce86c2bd92fe twittering-mode.el --- a/twittering-mode.elSat Jan 02 03:55:16 2010 +0100 +++ b/twittering-mode.elWed Jan 06 03:18:08 2010 +0900 @@ -63,6 +63,16 @@ (defconst twittering-max-number-of-tweets-on-retrieval 200 "The maximum number of `twittering-number-of-tweets-on-retrieval'.") +;;; derived from url-util.el of Emacs 22.1 +(defconst twittering-url-unreserved-chars + '(?a ?b ?c ?d ?e ?f ?g ?h ?i ?j ?k ?l ?m ?n ?o ?p ?q ?r ?s ?t ?u ?v ?w ?x ?y ?z + ?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?L ?M ?N ?O ?P ?Q ?R ?S ?T ?U ?V ?W ?X ?Y ?Z + ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 + ?- ?_ ?. ?! ?~ ?* ?' ?\( ?\)) + "A list of characters that are _NOT_ reserved in the URL spec. +This is taken from RFC 2396.") + + (defvar twittering-number-of-tweets-on-retrieval 20 "*The number of tweets which will be retrieved in one request. The upper limit is `twittering-max-number-of-tweets-on-retrieval'.") @@ -1209,19 +1219,35 @@ (setq statuses (cdr statuses))) ret))) -(defun twittering-percent-encode (str &optional coding-system) - (if (or (null coding-system) - (not (coding-system-p coding-system))) - (setq coding-system 'utf-8)) - (mapconcat - (lambda (c) - (cond - ((twittering-url-reserved-p c) - (char-to-string c)) - ((eq c ? ) "+") - (t (format "%%%x" c - (encode-coding-string str coding-system) - "")) +;; derived from url-util.el of Emacs 22.1 +(defun twittering-url-hexify-string (string) + "Return a new string that is STRING URI-encoded. +First, STRING is converted to utf-8, if necessary. Then, for each +character in the utf-8 string, those found in `url-unreserved-chars' +are left as-is, all others are represented as a three-character +string: \"%\" followed by two lowercase hex digits." + ;; To go faster and avoid a lot of consing, we could do: + ;; + ;; (defconst url-hexify-table + ;; (let ((map (make-vector 256 nil))) + ;; (dotimes (byte 256) (aset map byte + ;; (if (memq byte url-unreserved-chars) + ;; (char-to-string byte) + ;; (format "%%%02x" byte + ;; map)) + ;; + ;; (mapconcat (curry 'aref url-hexify-table) ...) + (mapconcat (lambda (byte) + (if (memq byte twittering-url-unreserved-chars) + (char-to-string byte) + (format "%%%02x" byte))) + (if (multibyte-string-p string) + (encode-coding-string string 'utf-8) + string) + "")) + +(defun twittering-percent-encode (str) + (twittering-url-hexify-string str)) (defun twittering-url-reserved-p (ch) (or (and (<= ?A ch) (<= ch ?z)) -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users
[twmode-users] 文字[もしく は文字]を含むtweetがポス トできない
こんばんは、今井 (imait) です。 今日気付いたのですが、tweet中に「[」もしくは「]」を含んでいると、ポスト時にエラーを起こすようです。 *Message*を見ると、次のようなエラーが返っていました。 error in process sentinel: if: Failure: invalid HTTP response. error in process sentinel: Failure: invalid HTTP response. debug modeをonにした場合は: debug mode:on Loading etags...done find-tag-tag: Command attempted to use minibuffer while in minibuffer error in process sentinel: if: Failure: invalid HTTP response. error in process sentinel: Failure: invalid HTTP response. Quit debug mode:off です。 emacsの機能(etags? どういうものか私は知りません)とぶつかってるとかなのでしょうか。 暇があれば追ってみようと思っています。 IMAI Toshiyuki snowd...@kototone.jp -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ twmode-users mailing list twmode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/twmode-users