2009-12-09

Emacs 23.1.90 pretest

NTEmacs 23.1.90 pretest

Emacs 23.2 リリースに向けた pretest が始まりました。

相変わらず、以前書いた上記のメモと同じ手順で作ってます。メインの PC を Windows 7 にしたら、Cygwin 1.7 に移行して、それが落ち着いたら MinGW でのビルド環境作ろうかと。年末、お正月か、来年か…。orz

ちなみに 23.2 では  Windows 7 のタスクバーでうまいこと動くよう runemacs や emacsclient に改良が加えられています。

etc/NEWS を眺めて個人的に気になったのは以下の項目。

  • system-move-file-to-trash
  • make-pointer-invisible
  • help-downcase-arguments
  • kill-do-not-save-duplicates
  • completion-styles '(initials)
  • M-r is bound to the new `move-to-window-line-top-bottom'.
  • js.el is a new major mode for JavaScript files.
  • htmlfontify.el turns a fontified Emacs buffer into an HTML page.
  • You can give the `fullscreen' frame parameter the value `maximized'. This maximizes the frame.
  • On MS-Windows, `display-time' now displays the system load average as well as the time, as it does on GNU and Unix.

forward-word とかが長音符 "ー" に引っ掛らなくなったのが地味に嬉しい。

2009-12-06

NTEmacs で FTP サイトにあるファイルを編集

Emacs は、FTP で接続した先にあるファイルを、ローカルにあるファイルと同じ感覚で編集できます。

古くは ange-ftp、現在では tramp という仕組みを使います。(実際のところ tramp で FTP を扱うときは、裏で ange-ftp が動いているみたいです)

Linux など UNIX 系 OS の Emacs では、OS のディストリビューションに含まれている /usr/bin/ftp など BSD 由来(たぶん?)の ftp が使われます。

Windows にも C:\WINDOWS\system32\ftp.exe がありますけれど、これは Emacs から使うことはできません。

そこで Emacs のお膝元で配布している BSD 由来の Windows 用 ftp を使います。
(追記参照のこと)

これの Release\ftp.exe を適当なディレクトリに置いて使います。ぼくは横着なので Emacs と同じディレクトリに置いてます。
ange-ftp にこの ftp.exe を使うように指示するには以下のようにします。

(setq ange-ftp-ftp-program-name "C:\\emacs\\23\\bin\\ftp.exe")

M-x customize-group RET ange-ftp で Ange Ftp Ftp Program Name を編集しても良いです。個人的には customize を使った方法が好みです(どうでもいい)。

これで、あとはいつも通り C-x C-f /ftp:user@ftpserver:/path/to/file こんな感じでファイルを開けるようになります。

/ftp:user@ftpserver: TAB とすれば補完も効きます。パスワードは一回入れたらあとは聞かれないです。保存するのはもちろん C-x C-s です。

だいたいのファイル操作を透過的に扱えるようになるのが tramp / ange-ftp の利点です。

FTP ではなくて SFTP とか SSH を使いたい人は tramp の info を読んでみてください。その場合、Windows では PuTTY の plink + pageant を使うのが楽です。

すごく雑な駆け足の説明ですが。(・∀・;)

file insight ftp-exe

上で紹介した ftp.exe を NIS2010 のファイルインサイトにかけたら「100人未満」とか言われちゃって…。
いくら FTP が使われなくなりつつあると言っても、まったく使わないわけでもないし、Emacs から直接ファイル編集できたら便利ですし、知られていなかったらもったいないので紹介してみました。

ftp.exe 使うよりもいい方法があるよ!って場合はぜひ教えてください。

追記@Tue Dec 15 07:17:04 2009

ftp-for-win32.zip に含まれる ftp.exe は Passive mode (PASV) がデフォルトになっているため、active mode でも ftp を使いたい場合にはデフォルトを変更する必要があります。ange-ftp の PASV 関連の設定を有効に使うためにもこちらを使うのが良さそうです。

$ diff -pu main.c~ main.c
--- main.c~     1999-07-19 17:06:00.000000000 +0900
+++ main.c      2009-12-15 07:07:18.739744200 +0900
@@ -215,7 +215,7 @@ int main(int argc, char *argv[])
                verbose++;
        cpend = 0;           /* no pending replies */
        proxy = 0;      /* proxy not active */
-    passivemode = 1; /* passive mode *is* active */
+       passivemode = 0; /* passive mode is *not* active */
        crflag = 1;    /* strip c.r. on ascii gets */
        /*
         * Set up the home directory in case we're globbing.

が、白井秀行さんが他のバグも含めて直してコンパイルしてくださったファイルがあるので、それを使うのがお手軽なようです。

ftp-for-win32.new.tar.gz の Release\ftp.exe で置き換えてそのまま使えます。

passive も使えるけど active じゃないとダメという環境がありまして、自分とこで VS2008 を使ってバイナリを作ってみたけど warning だらけの上にまともに動きませんでした。

ともあれ先達に感謝。

2009-12-05

携帯遍歴

これまでに使ってきた携帯を、なんとなく調べたので表にしてみた(手抜きだけど)。
画像を集めたものの、拾い物なので載せられない…。

| 購入時期 | キャリア       | 種別     | 型番         |
| 1995/05? | NTT ドコモ     | ポケベル | センティーA  |
| 1995/09  | ツーカー       | 携帯     | TH251        |
| 1996/04? | NTT パーソナル | PHS      | 202S         |
| 1996/09  | NTT ドコモ     | 携帯     | P101         |
| 1997/05? | NTT ドコモ     | 携帯     | P203         |
| 1997/09  | NTT ドコモ     | ポケベル | キッズベル   |
| 1998/11? | NTT ドコモ     | 携帯     | P207         |
| 2001/06? | NTT ドコモ     | 携帯     | P503iS       |
| 2004/12  | NTT ドコモ     | 携帯     | SH901iC      |
| 2008/02  | NTT ドコモ     | 携帯     | P905i        |
| 2009/12  | NTT ドコモ     | 携帯     | P01B         |

初携帯はツーカーの TH251 だった。これはジョグダイヤルがついたソニーのやつ。発売から大々的に宣伝しててコレしかないと思った。ドコモで欲しかったけど、ドコモからは出なかった(後に後継機かなんかは出た)ので、しかたなくツーカーで。

当時某社に勤めていたのでツーカーを使うのは肩身が狭かった。それが耐え切れなくなったところで P デビュー。根っからの P 儲かと思ってたら、こう並べてみるとそうでもないかな。

1999年までは買ったか買ってないのか記憶にない P がいくつかあるけど、画像見ても確証が持てなかったので、それは載せていない。

ポケベルももう一つあったはずだけど、型番とかまったく記憶に無し。

2000年以降は新機種が出る度に替えるということはしなかったので P503iS 以降は正確なはず…。