佐久間です。
環境:
MS WindowsXP SP3
GNU Emacs 23.2.1 (i386-mingw-nt5.1.2600) of 2010-05-08 on G41R2F1
で、当方の.emacsが絡むと暗号化の際アクセストークンが壊れる(gpg -dで復号化できない)現象が生じました(emacs -qだと正常に暗号化されます)。
twittering-mode.el
を調べ、添付のパッチを当てたら現象が出なくなりましたが、他のLinux環境ではパッチなしでも問題ないので、修正が妥当なのかどうか判断できません。パッチの是非を確認いただけないでしょうか?
よろしくお願いし
松尾です。
パッチありがとうございます。見させてもらいました。
diff --git a/twittering-mode.el b/twittering-mode.el
index 8fc2ef4..d82ff12 100644
--- a/twittering-mode.el
+++ b/twittering-mode.el
@@ -2659,7 +2659,8 @@ like following:
;; In order to prevent `epa-file' to encrypt the file double,
;; `
ども、長です。
# 最近ぜんぜん触れてないorz
思いついただけですが、一言
(2011/01/08 21:03), Tadashi MATSUO wrote:
> 松尾です。
>
> パッチありがとうございます。見させてもらいました。
> しかしここで何かしらの変換が入るとは思ってませんでした。
>
> Twitter上でお聞きした話のときはgpg -dで復号できるがその結果が
> おかしい、ということでしたよね。Windowsだから改行関係の変換
> (LF←→CRLF)が入って、しかもたまたまGnuPGでも(エラーなしに)
> 復号できるデータになってたということだったんで
佐久間です。
2011/1/8 Tadashi MATSUO :
> 書き込むのは(epg-encrypt-string context str nil)で生成した
> (恐らくunibyteの)文字列なので、明示的にno-conversionにして
> おいた方が良さそうですね。
> commitしたいのですが、ChangeLog上のお名前はSakumaで良いで
> しょうか。
はい結構です。
> Twitter上でお聞きした話のときはgpg -dで復号できるがその結果が
> おかしい、ということでしたよね。Windowsだから改行関係の変換
> (LF←→CRLF)が入って、しかも
松尾です。
> gpg -d は途中で復号化が失敗した旨のメッセージが出ていたようです。
そうでしたか。それなら納得です。
> epg-encrypt-stringの結果はバイナリじゃないでしょうか。
> この理解が正しいとすると変換されてしまうのは改行コードというより文字コードだと思います。
> これはOSには依存せず、Unixでも同じです。Linux上で問題がおきないのはなぜか、私にもわかりません。
epg-encrypt-stringの結果はバイナリ(unibyte string)です。
なので文字コードの自動認識で特定文字コードと誤認識される
可能性はむしろ低いと思います。