3月 26
Meadow で、 dired から外部のプログラムへファイルを送る実験。
CraftDrop というコマンドラインからファイルを、起動中のプログラムへファイルをドラッグ&ドロップするプログラムを使用する。
cdrop.exe, cdropopt.exe, cdrop.dat(←cdrop.exeを初回起動時に作成される) を PATH の通ったところにコピー。
(めんどかったので、meadow/bin に放り込んだ)
.emacs に↓を追加:
;; dired で "c" でファイルを CraftDrop 送り
(add-hook 'dired-mode-hook
(lambda ()
(local-set-key "c" 'dired-exec-craftdrop)))
(defun dired-exec-craftdrop ()
"In dired, execute CraftDrop"
(interactive)
(craftdrop (dired-get-filename)))
;; 現在の行のファイルを craftdrop 送りにする
(define-process-argument-editing "/cdrop\\.exe$"
(lambda (x)
(general-process-argument-editing-function x nil nil nil)))
(defun craftdrop (&optional fname)
(interactive)
(if (not (file-exists-p fname))
(message "%s can't open." fname)
(setq fname (unix-to-dos-filename fname))
(let ((w32-start-process-show-window t))
(apply (function start-process)
"cdrop" nil "cdrop.exe" (list fname)))))
C-x d で dired を起動して、何かファイルにカーソルを合わせた状態で c を押すと、そのファイルを CraftDrop 送りにできる。
CraftDrop をまだ、ちゃんと使ってないので、このコードが活きてくるのか不明・・・。
参考にしたサイト:
3月 04
※昔の記事を復活(※2004/03/29頃の話を復活させた)
クイックスタート
DUnit がどんなものなのか、ここで少し体験してみます。
新しいプロジェクトを作成して、 1 + 1 = 2 となることを確かめるサンプルです。
※Delphi 7 を使って作業をしてます。
Continue reading »
3月 04
※昔の記事を復活(※2004/03/29頃の話を復活させた)
DUnit とは、Delphi 用の xUnit です。
※Delphi4以降 or Kylix で使用できます。
DUnit にもいくつか種類があるみたいなんですけど、
一番使われていそうなのが今から紹介する DUnit です。(※2004/03/29頃の話)
ここでは、Windows 用の Delphi 7 Professional を使って説明をしていきます。
Continue reading »
3月 03

TortoiseSVN をある程度自動化できるらしい。
C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe を使って自動化する。
例: commit を自動化。D:\Home\project01 にあるプロジェクトのフォルダを右クリックしてコミット、という動作を自動化。
- C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe のショートカットを作成。
- ショートカットのプロパティを開いて、リンク先を編集して、↓の様にする。
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"D:\Home\project01" /closeend:0 /notempfile
update するとき:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"D:\Home\project01" /closeend:2 /notempfile
check for modification で変更されたファイルをチェックする:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:repostatus /path:"D:\Home\project01" /closeend:0
ログメッセージを見る:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:"D:\Home\project01" /closeend:2 /notempfile
export する(D:\Home\project01 のプロジェクトを D:\Home\exports\project01 にエクスポート):
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:dropexport /path:"D:\Home\project01" /droptarget:"D:\Home\exports\project01" /closeend:0 /extended /notempfile
このショートカットを、Launchy とかに登録すると便利。
3月 03
Launchyは便利なランチャー。
Alt-Space(デフォルトでは) を押すと↓のようなのが出てきて、そこにコマンドを打ち込んで起動できる。

↑は emacs と打ち込んで Meadow を起動するところ。
Launchy から起動できるコマンドはショートカットをコピーするだけで追加できる。
Launchy の窓を右クリックして Options を選ぶと、ショートカットを追加できるディレクトリが追加変更できる。
メモ帳へのショートカットをコピーして notepad と言う名前に変更すれば、Launchy 上で notepad と入力するだけでメモ帳を起動できる。
デフォルトでFirefox や IE などのブックマークも起動できるようになっているけど、個人的にじゃまなのでWebyプラグインをOFFにして無効にした。
よく使うプログラムのショートカットをどんどんコピーしておくと、かなり便利。
3月 02
WSH で Perl を使えるようにできるらしい。
デフォルトはで、WSH には VBScript と JavaScript が使える。
WSH で Perl を使えるようにするには、ActivePerl をインストールすればいい。
そうすると、 pls という拡張子のファイルが WSH(Perl) のファイルと認識されてダブルクリックで実行できるようになる。
hello.pls
#!/bin/perl -w
our $WScript = $WScript;
use strict;
use warnings;
$WScript->Echo("Hello World!");
- 1行目のshebangは無くていい。
- use strict; を使いたい場合は、use strict; よりも前の行で、our $WScript = $WScript; としないと変数が宣言されてないといわれてエラー。
- 実行するにはダブルクリック。
3月 01
※新しい php-mode.el (2008/04/30)
PHP を使うことになったので emacs の php-mode を入れてみたけど、非常に使いにくい状態。
不満噴出で、いろいろ調べて既存の2つの php-mode をくっつけて修正したバージョン。
php-mode.el ver 0.0.4 と php-mode.el var 1.2.0を混ぜて少し修正。
meadow で動作確認。
site-lisp に php-mode.el をコピーして、
.emacs に以下の行を追加。
(autoload 'php-mode "php-mode" "PHP mode" t)
(setq auto-mode-alist
(cons '("\\.\\(php\\|php5\\|inc\\)$" . php-mode) auto-mode-alist))
(add-hook 'php-mode-hook '(lambda ()
(setq php-intelligent-tab nil)
(setq intelligent-tab nil)
(setq indent-tabs-mode t)
(setq c-basic-offset 4)
(setq tab-width 4)
) t)
3月 01

http://ja.wordpress.org/ から wordpress-2.3.3-ja.zip をっとってきてインストール。
けれども、インストール画面 wp-admin/install.php へアクセスすると長時間待たされたあげく、 Internal Server Error を吐いて終了してしまう。
コードを追っていくと、wp-includes/wp-db.php の164行目付近の error_log($error_str, 0); から戻ってこない。どうやらこれをコメントアウトする必要あり。
error_log($error_str, 0);↓
//error_log($error_str, 0);
これで、インストールが問題なく進む。無事インストール完了。
おそらく php.ini の error_log 辺りの設定をちゃんとすればいいのだと思うけど、ひとまずこれで。