
--------------------------------------------------------------------
■ パスの設定

Windows2000やXP等のNT系において「.xyzzy」 のファイル上のプログラムを動作させるには
「usr」フォルダの「ユーザー名」フォルダの「xyzzy.ini」ファイルにxyzzyのホームディレクトリへのパスを指定する必要がある場合があります。
最初に起動した時に作成されるので、メモ帳などで開いて書き足します。

例：
[init]
homeDir="D:\xyzzy"

また「システム環境変数」を設定します。「マイ コンピュータ」の「システムのプロパティ」にてタブ「詳細設定」にある「環境変数」で「xxのユーザー環境変数」に「新規」に変数名と変数値のパスを追加します。

例：新しいユーザー変数
変数名(N):　homeDir
変数値(V):　D:\xyzzy

--------------------------------------------------------------------
■ 変更履歴

初期設定ファイル「xyzzy.ini」の主に色設定ファイルを保存＆参考「xyzzy_color_bright.ini」「xyzzy_color_dark.ini」
最近使ったファイル＆最近閉じたファイルのダイアログウィンドウ拡大。
count-char.l（文字数） 　＞lispフォルダに移動。ショートカットキー　atkey.lに追加[2026-04-15]16:22:32(+0900)

.xyzzyでデフォルトの文字コードを変更すると、バイトコンパイルはできるがプログラムはエラーとなるので削除
（新規作成はfiles.l (defun new-file ()で(setq *default-fileio-encoding* *encoding-utf8n*)指定済み）

count-matchesで文字数を取得。編集メニューに追加。下部のメッセージで表記
括弧内の（1バイト文字、2バイト文字）の分子が改行、タブ、半角空白、全角空白の表示されない字を引いたもの
選択範囲か全体。下部メッセージに 全体（表示半角/半角、表示全角/全角）改行、タブ、半角空白、全角空白
count-char.l  :文字数（site-lipsフォルダ）.xyzzy でロード。[2026-03-24]18:41:37(+0900)

キーバインドの追加：選択の矩形コピーなどは一応メニューから出来るが、
リージョンの矩形コピーなどはキーバインドされてなかったので.xyzzyファイルに追加
C-F9 (Ctrl + F9) 矩形コピーする
M-F9 (Alt + F9) 矩形コピーして　削除する
S-C-F9 (Shift + Ctrl +F9) 矩形コピーして　空白で上書き）[2026-03-09]10:23:07(+0900)
(参考) 矩形のペースト S-F9（Shift + F9）＞F6～F10から選択
      （F6キャンセル　F7追加[行末]　F8上書き　F9入れる　F10リージョンで入れる[一列]

キーバインド変更と追加
マーク記録：set-hmark-add S-F5
マーク記録ダイアログ：hmark-dialog-box C-F5
マーク位置と現在位置のトグル切り替え：cmark-goto-mark-and-return F2

キーバインド変更と追加（記述 atkey.l ファイル）
次を検索：repeat-forward-search F3
前を検索：repeat-backward-search S-F3
バッファ選択：select-buffer C-F12
〓マークのリスト：cmark-dialog-box C-F2
GrepBuffer：grep-search-dialog F5 [2024-12-26]16:10:03(+0900)

一時バッファを閉じない設定をメニュー「ウィンドウ　＞一時バッファを残す」に追加[2023-04-12]09:23:30(+0900)
「～を全て閉じるを戻す」で保存されない一時バッファ（*grep*など）のエラー処理。一時バッファは戻せない
[2023-04-07]08:24:00(+0900)

undo.l に sort-text.l のコマンド追加して元に戻せるように修正[2023-03-18]07:18:14(+0900)

mend-encoding.l　＞　site-lisp から lisp フォルダに移動。
loadup.l で読み込み。パスの設定をしなくても表示される[2023-03-16]21:30:05(+0900)

files.l 選択ファイルより下[右]を全て閉じる。選択ファイル以外を全て閉じる。に「～を全て閉じるを戻す」を追加。
「～を全て閉じるを戻す」は残したバッファからのリスト順でリストアされる[2023-03-16]08:05:11(+0900)

sort-text.l ver.0.1.0.0 キーバインド： Ctrl+F7 （逆順 Ctrl+Shift+F7）＆編集メニューに追加。
stable-sort によるラインソート（行）。keyは付けてない
元に戻す（取り消し）でリージョンはマーク位置が元に戻らない。選択範囲はOK。[2023-03-13]15:15:07(+0900)
デフォルトで C-x | sort リージョンをソート。 C-x # sort バッファ全体をソート があるが、
sort（外部処理） コマンドは ANSI、UTF-16 LE(BOM付き) はOKだが、UTF-8、UTF-8(BOM付き)、UTF-16 BE(BOM付き) は文字化けするため作成

hmark.l ver.0.1.6.3 キーバインド変更と追加　[2023-03-13]09:27:45(+0900)
"マーク（Ctrl+F2）" 追加
"マーク"のポップアップ：（Alt + M）
"ﾏｰｸ追加 (Ctrl-F22)"：(shift + ctr + space) key
"ﾏｰｸ (Shift+Ctrl+F2)"：(shift + ctr + F2) key 変更

files.l 「ファイルの場所を開く」を追加
メニュー　＞ウィンドウ　または　タブを右クリック　から選択[2023-03-09]08:40:13(+0900)

paragrph.l　キーマップ変更
(global-set-key #\M-h 'mark-paragraph)
(global-set-key #\M-} 'forward-paragraph)
(global-set-key #\M-{ 'backward-paragraph)
 #\M-{ の { の入力は Shift+[ なので 実際の入力は #\S-M-[ となり、分かりづらい
また(define-key esc-map #\h 'backward-kill-word)と被っていてkillの方が機能してなかったので
(global-set-key #\M-p 'mark-paragraph)
(global-set-key #\C-M-] 'forward-paragraph)
(global-set-key #\C-M-[ 'backward-paragraph)
cmds.l　キーマップ変更
;define-key esc-map #\C-h 'backward-kill-word)　はコメントアウト
(define-key esc-map #\h 'backward-kill-word)　はそのまま[2023-03-08]10:32:18(+0900)

メニュー＞ファイルに「選択ファイル以外を全て閉じる」を追加　※保存して終了(E）＞（Q）に変更
バッファのタブに「他を全て閉じる」を右クリックに追加
[（ツール　＞共通設定　＞ファイラ　＞なんかする前に必ず確認する）のチェックでダイアログ表示確認]
close-all-buffer-except-current [2023-03-04]09:36:40(+0900)

scroll-page-mouse.l ウィンドウ分割で2画面以上になると「ホイールマウスに反応する」*support-mouse-wheel*の設定が
マウスアップの#\MBtnUpで反応せずにデフォルトに戻らないためコメントアウトして修正。[2023-02-21]17:57:06(+0900)

extend-function.l　insert-hr「-」の数67＞変更後68
「-」以外に　insert-hr-plus「+」insert-hr-slash「/」insert-hr-asterisk「*」（数34）
insert-hr-ruled-line「━」（全角の数は17）を追加[2023-02-13]08:16:38(+0900)

control-char-view.l　制御文字の表示にデフォルトに戻すメニューを追加[2023-01-30]11:42:03(+0900)

ミニバッファから検索　ディレクトリ（未完）[2022-02-23]06:12:50(+0900)

メニュー＞ファイルに「選択ファイルより下[右]を全て閉じる」を追加
バッファのタブに「下側[右側]を全て閉じる」を右クリックに追加
close-all-buffer-next[2022-02-21]03:08:17(+0900)

ファイルを開き直す mend-encoding.lの修正
lisp-toolは常設。メニュー表示トグルの切替なし[2022-02-09]06:27:09(+0900)

自動による文字エンコード判定が時々間違う[ANSI と UTF-8n(BOMなし)]のでメニューにフック追加
文字コードを指定してファイルを開き直す mend-encoding.l を site-lisp フォルダに追加
.xyzzy に (load-library "mend-encoding")  記述してロードする。
パスの設定で環境変数のパスを通してから、ダンプファイル「xyzzy.wxp」を削除してソフトを再起動しないと表示されないかもしれません。
キーボードからは　(#\C-c #\m) [2022-02-02]03:46:02(+0900)

バッチファイル内でUTF-8の文字コードを扱う場合、UTF-8Nで保存しないと不具合があるので
「ANSI(Shift_JIS) で常に開く」を中止[2020-08-22]14:08:07(+0900)

shell は 常に ANSI(Shift_JIS) でバッファを作成させる。（注意：保存の時は UTF-8N が無難）[2020-06-19]10:40:45(+0900)

.xyzzy に新規ファイル（デフォルト）の文字コードをUTF-8(BOMなし)に変更
XXX NG---.xyzzy に拡張子 .bat バッチファイルは ANSI(Shift_JIS) で常に開くようにする [2020-06-05]21:52:03(+0900)

.xyzzy にクリップボードエンコードをUTF-16に変更の書き込み
.xyzzy に新規ファイルの文字コードをUTF-8(ヘッダあり)に変更 [2020-02-17]16:55:30(+0900)

「選択の残像」の表示は終了時の設定に変更
「再選択・戻る」を「Esc-E（Alt-E）」に変更 [2016-03-14]10:08:28(+0900)

--------------------------------------------------------------------
■ 追加・変更ファイル群
//crayonzen 2004-2026

//////////////////////////////////
// テスト中やとりあえず完成したものや随時変更した方がいいファイル等の書き込み

.xyzzy
siteinit.l

//////////////////////////////////
// lispフォルダに追加したファイル群

undo.l　：重要。編集の元に戻す（取り消し）の際、インサーションポイント（キャレット）の位置がずれるため修正。編集にかかわる関数は必ずこの中に組み込まなければいけません。
count-char.l　：選択範囲または全体の半角文字、全角文字の文字数
mend-encoding.l　：バッファを文字コードを指定してファイルを開き直す。メニューにフック追加。
compile-directory.l　：ディレクトリ内（フォルダ内）「***.l」Lispファイルの一括コンパイルです。
control-char-view.l　：制御文字の表示。
delete-file-recent.l　：最近閉じたファイルをファイルのメニューに追加（ダイアログ表示）。
essay-mode.l　：エッセイモードでオリジナルのモードです。テキストで個人的に書きやすいかなというモード。
extend-copy.l　：拡張コピー＆カット＆ペースト。クリップボードと*selection-ring*（履歴）に同時に格納。
grepsd.l　：現在開いているバッファー（ファイル）のGrep版です。
hmark.l　：マークを付けてジャンプします。付箋のようなもの。こういうものは大抵は絶対パスですがフォルダ名を変更したりバックアップなどファイル移動が頻繁にあるのでファイル名にしています。ファイルを開くか、開いてなくても現在開いているファイルと同じディレクトリにあれば勝手に開いてジャンプします。
lisp-tool.l　：プログラム用「LispTool」。メニュー「Lisp」使えそうな関数をプルダウン表示＆実行。
outline.l　：アウトラインモードで逸見さん作
ring-popup-menu.l　：リージョンコピー履歴をポップアップ選択できる（Alt + Yキー）nonentityさん作にWindowsの選択コピー履歴もポップアップ選択できるようにしたもの（Alt + Vキー）。
selection-leave.l　：選択箇所の残像を表示、または再選択できるように。（Alt + Eキー）
text-mode.l　：備え付けのテキストモードでは物足りなかったのでいろいろ追加。

//////////////////////////////////
// lispフォルダで変更または追加されたファイル群

app-menu.l　：機能追加のためメニューや関数を追加、変更。
buffer.l
buf-menu.l
cmdbar.l
cmds.l
compile.l
count-char.l
defs.l
den8view.l
dialogs.l
errors.l
files.l
grep.l
grepd.l
gresreg.l
kbdmacro.l
ldefs.l
lispmode.l
loadup.l
mode-menu.l
mouse.l
number.l
paragrph.l
search.l
select.l
shell.l
timestmp.l
viewmode.l

//////////////////////////////////
// site-lispフォルダに追加したファイル群

count-char.l  :文字数　siteinit.lでロード。選択範囲か全体。下部メッセージに 全体（半角、全角）
adjust-column.l　：編集で行の整形です。「左、中、右」などに揃えます。
atkey.l　：基本的なWindows用のキーボード操作でコピー＆ペーストなど。（リージョンも使えますが）
convert-space.l　：編集で空白の半角全角の変換や空白行の削除。
ddwin-search.l　：辞書検索ソフトDDwinで検索をさせます。ソース内でのAppのパス指定が必要です（＆コンパイル）。
delete-history.l　：ツールから履歴の削除を個別にまたは全て一括でします。
extend-function.l　：ちょっとした拡張関数で、「行を---で仕切ったり」「全てのパッファ名を出力」「最後に表示していたバッファに切り替える」「英字と漢字の間に空白を１つあける　リファレンスから実装」「入力文字を指定回数分実行」
free-cursor-mode.l　：オプションのモード（minor else）です。フリーカーソルもどきでクリックした位置から自由にタイピングできます。
Jamming-search.l　：辞書検索ソフトJammingで検索させます。ソース内でのAppのパス指定が必要です（＆コンパイル）。
make-html.l　：未使用。ツールでテキストを簡易HTMLにしたり、HTMLを見やすいテキストに変換します（不十分）。デスクトップに保存します
make-html-lisp.l　：ツールでテキストを簡易HTMLにしたり、HTMLを見やすいテキストに変換します（不十分）。（Lisp用）。デスクトップに保存します
recent-delete-file.l　：未使用。「最近使ったファイル」（開いた）だけでは閉じたファイルの履歴がないので追加「最近閉じたファイル」（アップデート版delete-file-recent.lをlispフォルダに追加）。
scan-reference.l　：いちいちリファレンスを開いて検索するのが面倒になって、選択範囲またはカーソル上の単語を F1 キー一発で検索します。
scroll-page-mouse.l　：中央クリックボタンで画面をドラッグするとスクロールします。
siteinit.l　：site-lispフォルダにあるファイルの関数や追加の関数を読み込ませる。
view-code.l　：制御文字の表示をメニュー表示から確認。

//////////////////////////////////
// etcフォルダで変更または追加したファイル群

toolbar.bmp　：「元に戻す」「元に戻さない」のアイコンだけが分かりにくかったのでオリジナル画像。
essay　：エッセイモードの時のキーワードを指定するファイルで空です。
LISP　：キーワードの数が少なかったので基本となる関数群を含め増やしてソースを見やすくした。
LispBuiltin　：起動の時に読み込ませる関数を追加。
LispDefmacro　：

//////////////////////////////////
// edictフォルダで追加したファイル群（edict と GENE95 辞書 変換）※各自DLして変換して下さい。

xyzzydic
xyzzye2j
xyzzyidi
xyzzyj2e
xyzzyjrd
