Hatena::ブログ(Diary)

あどけない話

2009-07-30

2009-07-28

Firemacs 3.7

Firefox で新しいフレームを開くと、そのフレームでは Firemacs 3.6 が動かないというレポートを 3 つ頂きました。忙しかったのと、Firefox 3.5 では再現しないのとで、ほおっておいたのですが、昨日時間ができたので調べてみました。

Firefox 2 と 3 では内部の構造が異なる部分があります。そこで、いわゆるアダプターパターンが書いてあって、起動時に Firefox のバージョンを判断し、どちらのアダプターを使うか決めています。

Firemacs 3.5 までは、navigator.userAgent を見て Firefox のバージョンを判断していました。Firefox なら当然 Firefox という文字列があると思いきや、Iceweasel や BonEcho など文字列を変えているパッケージがあって、その都度追加するのが嫌になってきました。また、ついには navigator.userAgent を IE に変更している人からも動かないと言われて、この方法を諦めました。

そこで Firemacs 3.6 では、gFindBar.onFindCommand という関数があれば Firefox 3、なければ 2 と判断することにしました。このコードは、Firefox 3.5 ではうまく動きます。また、Firefox 3.0 でも起動時のフレームではうまく動きます。しかし、起動後に新しく開いたフレームでは、見えない形でなんらかのエラーを起こしているらしく、おかしくなります。

Firefox 3.5 ではうまく動くことから判断して、これは Firefox 3.0 のバグだと思います。しょうがないので、navigator.userAgent を調べる昔のコードに戻しました。ただし、知らない文字列の場合はすべて Firefox 3 だと決め打ちました。

Firefox 2 で navigator.userAgent を変更している場合はうまく行きませんが、そういう人はサポートしないと割り切ります。

というわけで、Firemacs 3.7 を提出しました。380 個の承認待ちがあるようなので、いつのことになるのやら。。。

2009-07-04

Firemacs 3.6 のリリース

Firefox 3.5 に対応した Firemacs がないのか」と何人もの人に聞かれましたが、もう3.6を提出して承認待ちの状態ですよ。承認を待っているアドオンが多すぎて、承認にはしばらくかかるようです。Firefox とバージョンが合わなかったのが、心残り。。。

2009-03-16

Firemacs 3.5

FiremacsFirefox 3.1 でも動くようにして欲しいという要望があったので、CVS に書きためていたコードをリリースしました。こんな感じです。

  • C-xC-s で、選択した文字列を web 検索
  • C-M-t でタイトルをコピー
  • C-M-u で URL をコピー
  • Edit エリア only のオプション
  • C-u でカーソルから行頭まで kill
  • 矢印キーと補完メニューの問題を解決
  • "C-M-" を実装
  • C-m で検索を終了
  • Firefox 3 の Edit 領域で C-x と押すとビープ音がなるバグの修正