« [iPod touch]オカエリナサλ | Main | [iPod touch]メモ(MobileNotes.app)からテキストに書き出したり、テキストから書き込んだりするスクリプトアプリケーション »

2007.11.10

[Emacs][Zaurus]Emacs用Twitterクライアントtwit.el variant

Emacs用のTwitterクライアントとして早くから存在した、Theron Tlaxさんの書かれたtwit.elにpost時残り文字数表示をするHackを加えたL.さんの改造版を元に、自分好みに改造してみました。

かなり変えてしまったので、この版をtwit.el variantと名乗ることにします。

twit.elをベースにしたのは、Twitterのsourceに「twit.el」と表示されるからです。
何を使っているのか他人に分からないんじゃ、面白くないですよね。

改造の方針は、操作系や見た目をNavi2chに近づけるというものです。
どんな感じかはscreen castをどうぞ。

初めてのまともな(?)Emacs Lispなので、ひどいものですいませんが(いや、いつだって自分にはマトモなものなど書けませんが)、Navi2chライクなTwitterクライアント、という目標はある程度達成され、類似のものも無いので公開してみます。
技術的に見るものは全く無いので、間違っても自分が書いた部分は参考にしないでください。

twit.el variantを書くに当たっては、はやみずさんのtwittering-mode、Navi2ch ProjectのNavi2chを大いに参考にしています。
また、小松さんのurlencode.elも参考にしました。


……すいません。参考にしたというか関数をコピペしました。

動作テスト環境

動作環境をかっちりと明示できればいいのですが、詳しくないものでよく分かっていません。
オリジナルのtwit.elの動作環境が22.0.99.1〜22.1.1付近なので、それぐらいかと。

銭谷さんのメンテナンスされているCarbon Emacsと、dipusさんのメンテナンスされているLinux Zaurus向けPrivate PackagesにあるEmacs、Meadow Netinstall Setup Programでインストールできる、Meadow3での動作を確認しています。

GNU Emacs 22.1.1 (powerpc-apple-darwin8.9.0, Carbon Version 1.6.0)
GNU Emacs 22.0.93.1 (arm-sharp-linux-gnu)
GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600)

Vine Linux 4.1に入っている22.0.50.1でも動きました。

GNU Emacs 22.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.8.17, emcws)

ただし細工が必要。
XmlParserが古いので、新しいxml.elをもらってきます。これを入れ換えるか順序が先のload-pathに置いて先に読ませます。
また、なぜかGNUS由来のmailcap.elにあるmailcap-parse-mailcapsが未定義なので、明示的に読ませます。FLIMとの衝突?
これで流儀的に正しいかは分かりかねますが動きました。

しかし、POST時にPOST自体は成功するものの、引数の数が違うとエラーが出ますね。
よく分からん。

(load "/usr/share/emacs/22.0.50/lisp/gnus/mailcap.elc")
(load "twit")
(twit-mode t)
(setq twit-username "USERNAME")
(setq twit-password "PASSWORD")
(setq twit-favorite-friends
'("otsune" "masui" "miyagawa" "emacs"))

ダウンロード

twit.el(本体)

twit_utf8.txt(ドキュメント)

Linux Zaurus用のパッケージも置いておきます。「/opt/QtPalmtop/share/emacs/site-lisp/twit.el」に入ります。dipusさんのPrivate PackagesにあるEmacsの構成に準拠したものです。

「twit.el-variant_0.0.11-0.1.2-1_arm.ipk.bin」をダウンロード

不具合

山ほどあるかと思いますが、「(require 'cl)」とポストしようと思ったらそこが消えてしまいました。謎。

Zaurus上のEmacsとNetFrontを連携させるには

Zaurus上のEmacsでURLを踏んだときにNetFrontでブラウズする場合は、以前こちらのページにあったbrowse-url-netfront.elを使います。

「browse-url-netfront.el」(転載)をダウンロード

load-pathの通ったところにコピーし、.emacs.elに以下のように書いておきます。

(autoload 'browse-url-netfront "browse-url-netfront" "" t)
(setq browse-url-browser-function 'browse-url-netfront)

|

« [iPod touch]オカエリナサλ | Main | [iPod touch]メモ(MobileNotes.app)からテキストに書き出したり、テキストから書き込んだりするスクリプトアプリケーション »