blog2009 > 2009年05月07日 > xyzzyで半角スペースを含むパスにあるdiff.exeを使う

#blognavi
テキストエディタ「xyzzy」で M-x から diff を実行する際、PATH が通っていない場所にある diff.exe を使うには、diff.exeのパスを ed::*diff-command-name* にセットすれば良い。
しかし、パスに半角スペースが含まれていると、「'C:\Program'は、内部コマンドまたは外部コマンド、」というエラーダイアログが出て実行できない。
この解決策は、MS-DOS形式のショートパスで指定すれば良く、これはロングパスを「get-short-path-name」関数に渡せば取得できる。
以下は「siteinit.l」への記述例。

;diff 実行時に XYZZY/bin/diff.exe に反応するようにする
(in-package "editor")
(setq ed::*diff-command-name*
  (map-slash-to-backslash (get-short-path-name (merge-pathnames "bin/diff.exe" (si:system-root)))))


検索かけてもズバリなものは見つからなかったので書いておく。


カテゴリ: [freeware] - &trackback() - 2009年05月07日 18:06:40
名前: コメント:
#blognavi
最終更新:2009年05月07日 18:18
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。