xyzzyをちょこちょこ改造
windows
|
comments(0) | 2009/09/23 03:12
テキストエディタxyzzyをUSBメモリーで使用できるよう少しずつ改造しています。
xyzzyとはフリー/シェアで公開されているエディタの中でもトップクラスの高性能なエディタです。詳しくはXyzzy Wikiの中にあるintroを見てみましょう。
機能
xyzzyに以下の機能を追加して再ビルドするものです。
- HOMEの自動設定。以下の順に検索($XYZZY … xyzzyインストールフォルダ $DRIVE … xyzzyのあるドライブ)
- $XYZZY\home
- $DRIVE\xyzzyhome
- $DRIVE\home
- $XYZZY
- xyzzy.iniを$XYZZY\usr内に保存(ユーザ名やOS名でフォルダ分けしない)
- ダンプファイルをxyzzy.imageとしてシステムのTempフォルダへ保存/読込
- unlha32.dllなど各種アーカイバDLLがシステムフォルダや$XYZZY内に存在しない場合は$XYZZY\libも検索
- putenv関数の追加(詳しくは「パッチ更新の履歴」参照)
ダウンロード
xyzzy-0.2.235-2009092301.patch を適用した xyzzy.exe、xyzzyenv.exe、xyzzycli.exe です。ダウンロード解凍後、本体のものと置き換えてください。
- xyzzy-20090923.zip (xyzzy-0.2.235ベース 約741KB)
その他、個人的な設定など
以下はおまけですが私は.xyzzyの位置をusrディクレトリ直下に固定しています。USBメモリーなどから直接使用する際にHOMEディレクトリやXYZZYHOMEの設定と関係無く.xyzzyファイルを読み込むためです。なお、estartup.lcが存在する場合(普通は存在するはず)はestartup.lを編集後バイトコンパイルしなければいけません。
--- xyzzy/lisp/estartup.l 2003-06-29 01:07:14.000000000 +0900
+++ xyzzy-merged/lisp/estartup.l 2006-04-08 11:17:10.000000000 +0900
@@ -147,11 +147,12 @@
(ignore-errors (load-history-file-compat)))
(unless no-init-file
(trap-errors
(let ((*loading-user-initial-file* t))
(load (namestring (if (file-system-supports-long-file-name-p "~/")
- "~/.xyzzy" "~/_xyzzy"))
+ (merge-pathnames "usr/.xyzzy" (si:system-root))
+ (merge-pathnames "usr/_xyzzy" (si:system-root))))
:if-does-not-exist nil :verbose nil :print nil)))
(unless *inhibit-history-load*
(ignore-errors (load-history-file))))
(ignore-errors (keep-compatibility))
(ignore-errors (init-app-menus))
Special Thanks
- Xyzzy Wikiの佐野さん
- Xyzzy Wikiのみなさん
- そしてエディタxyzzyを提供してくださっている亀井さん
更新の履歴
2009/09/23
xyzzy-0.2.235-2009092301.patch.txt
- xyzzycli.exeの接続不具合解消パッチ適用
(XyzzyWiki内「Memo/ソースからビルドしてみる3」のコメント部分)
2008/09/21
xyzzy-0.2.235-2008092101.patch.txt
- putenv関数を追加
;; .xyzzyとかで(si:putenv VARIABLE) を使用してみる ;; $xyzzy/binを環境変数PATHに追加(有効なのはxyzzy.exeからのプロセスだけです) (in-package "editor") (setq *bin-path* (merge-pathnames "bin" (si:system-root))) (in-package "user") (setq *bin-path* (merge-pathnames "bin" (si:system-root))) (si:putenv (concat "PATH=" (map-slash-to-backslash *bin-path*) ";" (si:getenv "PATH")));
2008/09/15
xyzzy-0.2.235-2008091502.patch.txt
- USBメモリーで使用できるようパッチを追加
- Homeディレクトリの自動設定。以下の順に検索
- $XYZZY\home
- $DRIVE\xyzzyhome
- $DRIVE\home
- $XYZZY
- xyzzy.iniを$XYZZY\usrに保存(ユーザ名やOS名でフォルダ分けしない)
- ダンプファイルxyzzy.imageとしてシステムのTempフォルダへ保存/読込
- unlha32.dllなど各種アーカイバDLLがシステムフォルダや$XYZZY内に存在しない場合は$XYZZY\libも検索
- Homeディレクトリの自動設定。以下の順に検索
2008/09/15
xyzzy-0.2.235-2008091501.patch.txt
- VC9用のpatchを作成