Repository navigation
Releases: ukatech/kawari
Releases · ukatech/kawari
Release list
Phase 9.1.0
Phase 9.1.0 (Core 4.1.0)
無名関数 lambda の追加と、正規表現エンジン uka_regexp の更新。
- KIS に
lambdaを追加。無名の関数を定義して、その名前 (System.Lambda.<n>) を返す。返った名前は$(${f} 引数)のようにコマンド名として呼び出せるほか、別の関数に渡して使える。クロージャではなく、定義した場所の@で始まるローカルエントリは引き継がない。不要になったらrmfuncで消す - uka_regexp の更新: パターンの先頭に
(*UCP)を書くと\d\w\s\bと POSIX クラスが Unicode で判定される (既定は従来どおり ASCII のみ)。Windows ではパターン中のサロゲートペアを 1 文字として扱う。破滅的なバックトラックの対策など - 実装されないまま残っていた
expr/testの記述をマニュアルから削除
バイナリは 32bit の msvcrt 版 (MinGW g++ 8.1.0) でビルドしています。詳細は同梱の readme.1st (README.md) と document/kis_reference.html を参照。
🌹 Polished by Claudia
Phase 9.0.0 β4
Phase 9.0.0 β4 (Core 4.0.0)
正規表現コマンドの追加。伺か共用の正規表現エンジン uka_regexp (Unlicense) を載せました。
- KIS に
regex_match/regex_find/regex_findall/regex_count/regex_replace/regex_replace_first/regex_erase/regex_erase_first/regex_split/regex_escapeを追加。結果は引数のエントリに入る - パターン内のサブルーチン呼び出し
(?&名前)\g<名前>で、パターンに定義の無い名前を、辞書のエントリ${名前}の展開結果として取り込める - 辞書やスクリプトに書くパターンは、括弧を含むなら
"..."で囲むこと (素の括弧は華和梨の構文として消える) - ソースから作る場合、uka_regexp は git サブモジュールなので
git clone --recursiveかgit submodule update --initが必要
詳細は同梱の readme.1st (README.md) と document/kis_reference.html を参照。
🌹 Polished by Claudia
Phase 9.0.0 β3
Phase 9.0.0 β3 (Core 4.0.0)
ロケール依存と STL 誤用の修正。機能の追加はありません。
- SAORI over DirectSSTP のモジュール名の小文字化が本体の
LC_CTYPEに依存していた (tr_TRではINTERNAL_...を内蔵モジュールと判定できなかった) のを修正。ASCII の英字だけを小文字にする - SAORI の唯一性保証ファクトリのデストラクタが、
erase()後のイテレータを使っていたのを修正 find()の結果をunsigned intに入れてnposと比較していた箇所を修正。64bit の POSIX ではgsubが例外を投げ、trが範囲外を読み、isexistが区切り文字を補わなかった (32bit の Windows では変化なし)substrの長さのオーバーフロー、=が多い壊れた Base64 の復号で例外が出る不具合を修正TEntry::Pop/Replaceの境界を修正 (今のところ KIS から届かない内部の問題)
詳細は同梱の readme.1st (README.md) を参照。
🌹 Polished by Claudia
Phase 9.0.0 β2
Phase 9.0.0 β2 (Core 4.0.0)
- 本体 (SSP / ninix) のプロパティシステムと SSTP の EXECUTE を使う KIS コマンドを追加:
getproperty/setproperty/executesstp/executesstpx(応答コードはSystem.SSTP.ResponseCode、追加データはSystem.SSTP.Data) - SAORI over DirectSSTP に対応: 本体に内蔵されたモジュール (
internal_*など) を、DLL なしの SAORI としてcallsaoriで呼べる (未登録のinternal_*は自動登録) - 上記は SecurityLevel が local 以外のリクエストからは使えない
System.Sender.Pathが一度もセットされず、callsaoriが常にSecurityLevel: Localを送っていた不具合を修正
🌹 Polished by Claudia
Phase 9.0.0 β1
華和梨 Phase 9.0.0 β1 (Core 4.0.0)
内部の文字列をすべて wchar_t (Unicode) にした大改修のβ版です。従来の Shift_JIS の辞書はそのまま動きます。
主な変更
- 内部文字列を wchar_t 化。文字数・部分文字列などは 1 文字単位 (Windows では絵文字などサロゲートペアは 2 文字)
- 辞書は UTF-8 (BOM の有無を問わない) / Shift_JIS を自動判定して読み込み
- save / savecrypt は UTF-8 (BOM あり)、textsave / textappend / ログファイルは UTF-8 (BOM なし) で書き出し
- savecrypt で保存した辞書は 8.2.9 以前では読めません
- SHIORI: リクエストの Charset (Shift_JIS / UTF-8) で解釈し、同じ文字コードで応答。
loaduに対応 (ACP 外の文字を含むフォルダでも動作) - SAORI: UTF-8 で通信を始め、GET Version に Charset を返さない古い SAORI には Shift_JIS で送る。
loaduを持つ SAORI には UTF-8 のパスを渡す - 「表」「ソ」など 2 バイト目が 0x5C の文字や、IBM/NEC 拡張文字を含むファイル名・フォルダ名の不具合を修正
- compare などの文字列の大小比較は Unicode のコードポイント順に変更 (ASCII のみなら従来どおり)
- Win32 API を Unicode (W 版) に切り替え
🌹 Polished by Claudia
Phase 8.2.9
Phase 8.2.9 (Core 3.2.9)
- Windows 版 (mingw) のバイナリにバージョン情報リソースを追加 (ファイルのプロパティで 8.2.9.0 と表示されます)
- 小オブジェクト用アロケータの導入と単語比較の軽量化で処理速度を向上 (mingw 版)。1000 曲プレイリストの実ゴーストで 1.4〜1.9 倍
- バイナリは 32bit MinGW-w64 (msvcrt 版、g++ 8.1.0) でビルド、UPX 圧縮なし (従来より大きくなっています)。UCRT 版でビルドすると旧い OS で動かなくなるため、依存 DLL は KERNEL32.dll / msvcrt.dll のみ (kosui は USER32.dll も) にしています
🌹 Polished by Claudia