Re: [twmode-users] 文字[もしく は文字]を含むtweetがポス トできない

2010-01-08 スレッド表示 yata_github
> # ファイル全体を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がポス トできない

2010-01-07 スレッド表示 IMAI Toshiyuki
今井です。

[]を含む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がポス トできない

2010-01-07 スレッド表示 Yuto Hayamizu

はやみずです

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がポス トできない

2010-01-06 スレッド表示 IMAI Toshiyuki
今井です。

添付ファイルがついてたんですね。なんかメーラーが勝手に展開しちゃってたので、添付ファイルとは思ってませんでした。

今回のことで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がポス トできない

2010-01-06 スレッド表示 Tadashi MATSUO
松尾です。

すいません。実行コマンドを

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がポス トできない

2010-01-06 スレッド表示 IMAI Toshiyuki
こんばんは、今井です。

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がポス トできない

2010-01-06 スレッド表示 yata_github
やたがわです。

松尾さんのパッチを適用してみると、手元では期待通りに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がポス トできない

2010-01-05 スレッド表示 Tadashi MATSUO
松尾です。

こちらでは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がポス トできない

2010-01-05 スレッド表示 IMAI Toshiyuki
こんばんは、今井 (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