# iniedit_fixed.py 修正メモ

## 主な修正点

### 1. dirty フラグ管理
- ファイル読込後に `edit_modified(False)` を明示実行
- 保存後に `edit_modified(False)` を明示実行
- タイトルの `*` 表示を modified 状態に正しく連動

### 2. 保存確認フローの共通化
- `new_file()` / `open_file()` / DnD / 終了処理で共通の保存確認を使用
- `Yes / No / Cancel` を正しく扱う
- Save As をキャンセルした場合は後続処理を中断

### 3. DnD の安定化
- DnD 文字列を複数ファイル・空白入りパスに対応して解析
- DnD でも通常のファイル読込ルーチンに統一
- 前の編集状態や一時タグが残らないよう整理

### 4. 保存先取り違え対策
- `last_opened_file` 依存をやめ、`current_file` に統一
- 読込・保存後の状態更新を一元化

### 5. 検索・置換の整合
- 検索時に `found` タグと選択範囲を同時に設定
- 置換は `found` 範囲を使って動作
- 1件置換 → 次検索の流れを安定化

### 6. 補助的な修正
- Tooltip の `bbox("insert")` 依存を廃止
- Windows のターミナル起動を `subprocess.Popen(["cmd.exe"], cwd=...)` に変更
- 複数行INIパーサの `rstrip('"""')` を廃止し、終端を明示処理
- 文字コードメニュー選択時、未保存変更がある場合は再読込しない

## 手元で確認してほしい項目
1. 起動直後に `*` が付かないこと
2. 開く/DnD/新規/終了で、保存確認が自然に出ること
3. Save As をキャンセルしたときに、元の内容が消えないこと
4. DnD で開いたあと、保存先がドロップしたファイルのままであること
5. 検索→置換 が期待通り動くこと
6. `text.ini` 挿入、`color.ini` ハイライト、外部コマンドが従来通り使えること

## この環境での確認
- `python -m py_compile iniedit_fixed.py` は通過
- GUI 実行確認は未実施（この環境に `tkinterdnd2` が入っていないため）
