Diary?

2007-09-15
Sat

(16:42)

とりあえず昨日作った謎のプラグインのロードマップでも書いてみる。

  • Must Do (やんなきゃいけないこと)
    • バグの修正。
      コメントを書く (今は一行も書いてない。だって作れるだなんて思わなかったんだもの)。
    • else: などとタイプしたときに自動アンインデント。
    • きちんとした配布用のページの作成。
  • Should Do (やった方がいいもの)
    • クラスブラウザの実装。
    • doctest との連携。
    • C 言語モード、 Makefile モード、 bash モードの作成 (他の言語ファイルは流石にやってられない。みんな書いて)。
  • Could Do (暇があったら)
    • pydoc の呼び出し (凝ったことをするとかなりしんどい。殆ど型推論やるようなものだ)。
    • pycheker との連携。

以下は既知のバグ。

  • Scribes のコアプラグインが /usr/share/scribes 以下に無い場合、自動アンインデントが出来ない <- 手元では修正済
  • return, yield などのある行では行末以外で改行しても自動アンインデントされる <- 修正中
  • ドキュメンテーション文字列内に class, def などで始まる行があると、そこにもジャンプしてしまう <- しばらく放置の予定。あんま実害なさそうだし
  • 新しいファイルや別拡張子のファイルを .py にリネームしても Python モードにならない (田辺さんよりの報告。俺はコマンドラインから新しいファイル名を指定してやってたから気がつかんかった) <- どうやって直すか考えてる。フック用のシグナルがあれば楽なんだけど

それから Scribes のプラグイン作成のノウハウを少々。

  • SCRIBES.utils, SCRIBES.lines, SCRIBES.cursor はテキスト操作に非常に有用 (ってか Gtk が酷いんだけど)
  • SCRIBES.info よりコアプラグインのインストールディレクトリとユーザプラグインのインストールディレクトリが取得できる
    • これと imp モジュールの load_source で、他のプラグインを読み込んでモジュールとして使える
  • unload メソッドは例外を送出しないようにする必要あり。そうでないと、 Scribes が異常な状態で常駐してしまう
    • 万が一そうなった場合、 ps aux | grep scribes とでもして Scribes のプロセス ID を調べて kill するしかない。どうも Scribes の自動補完機能用のプロセスが生きているようだ

(17:28)

ってか、俺以外に使っている人がいる時点で BTS でも掲示板でもいいからサポートページを作るべきなんだよな。

ちょうど今週と来週は三連休が重なるので、何かしら用意しといた方がいいな。

(18:25)

なんかアクセスログを見ていて不審に思ったので調べてみたら、この日記の URI がログの収集対象から外れてた。確か昔にワームのアクセスするような URI はログを採取しないように設定したんだけど、それとは違う理由だったはずなんだよなあ。謎だ (当時の作業メモは旧メインマシンの故障とともに消滅)。

(19:36)

もうすでにかなりどうでもいいことなんだけど、無断リンク禁止について。「無断リンク禁止」を本気大真面目に主張してる奴がいたらそいつは確実に電波あるいはバカなので、電波に対する対処方法に従ってガン無視するのが一番 (バカと電波は基本的に同種。バカは病院に入れる必要が無いだけ)。まさか向こうも裁判沙汰にまでしないだろう (そうしてきたら、ほぼ確実に電波どころかサイコ)。ちなみに無断リンク禁止を容認する奴は多分バカ。電波にまではいかないだろう (無知故の無断リンク禁止もあるけど、ただ無知なだけならそれほど時間をかけずに気がつくだろ)。

それでも無断リンクを禁止したい人は「リンクが嫌ならコレ使え!」みたいな簡単極まりない解決方法があるからそれ使えって話だよな (しかし猫と重金属さんは善人だ。俺だったら確実に生成した Java Script に屈辱的なバナーを表示するコードを入れ込む)。

ちなみに「リンクが嫌ならコレ使え!」には Java Script を OFF にすると効果が出ないという欠点があるのだけど、これは少しの工夫でどうにでもなる。具体的には、埋め込む HTML を次のように改変する。

<noscript>
Java Script を On にしやがれ。
<!--
</noscript>
(本文)
<!-- -->

これで完璧。もっとも、ここまでやる奴がいたら完全に毒電波だと俺は思うぞ。

(追記) あ、全然完璧じゃない。ソース見られたら終わりだ。じゃあどうすっかな。ページの本文は CGI + Ajax で別読み込み、読み込みには Cookie が必要でそれは Java Script で仕込む、これでいいか? 流石に Cookie を自分で書き換えるなんてことはされないだろうし (普通は)。

Creative Commons
この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。