﻿◎私家改造版について
本家Emueraのバグ修正を行ったものとなります。

◎開発方針
Emuera本家が対応停止状態となっているため、私家改造版はコードのベースとするためにバグ修正以外の変更を行わないものとします

◎ライセンス
Emuera本体に準じます。

◎派生ソフトの作成について
Emueraのライセンスに従っていただければ自由にフォークしていただいて構いません。
むしろ、新機能が欲しい等の場合には積極的にフォークしていただければと思います。
その際はEmueraのライセンスファイルの添付とともに、フォーク元になったベースバージョンの明記もお願いいたします。
（Emueraのライセンスファイルが当ソフトのライセンスファイルを兼ねるため、本ファイルの添付は不要です。）

◎現在のベースバージョン
・Emuera1824+v11
　○v10で取り込んだ変更を色々チューニング+微修正
　　　古い実装ではUIのレスポンスが悪い+表示位置正しくならないため

◎過去の修正内容
・Emuera1824+v10
　○Emuera1823+v1のツールチップ周りの変更が1824に取り込まれてなかったので追加
　○VARSETが特定条件で正常に機能しないのを修正

・Emuera1824+v9
　○ARRAYMSORTがInt32の範囲しか扱えないのをInt64の範囲全体に拡張
　　　そのままではうまくいかないことも、ちょっと頭をひねればできてしまうものである。
　○内部の変数定義でTYPOがあったのを修正
　　　これまで問題にならなかった＝誰も使ってない　というわかりやすいロジック

・Emuera1824+v8.1
　○例外発生時のエラーログ出力時のファイル名表示がフルパスなのをそうでないように

・Emuera1824+v8
　○再起動時の画像データのクリアがちゃんとできていないのを修正
　○WINAPIモード時の再起動中に内部で例外が起こりそのまま落ちてしまうことがあったのを修正

・Emuera1824+v7
　○ERHファイル中で起きたエラーを正しくキャッチして処理を止められていないバグを修正
　　　そりゃ大量のエラー祭にもなるわけである
　　　ちなみに構文そのものエラーと、行解析時のエラーの両方があるときだけ正しく動いていたとかいうギャグ

・Emuera1824+v6.2
　○UNICODE関数の警告表示周りで事前解析時にRestructureされてる場合に.Net例外になるのを修正
　　　実行中に発覚した場合とは処理変えないといけなかったですね、はい

・Emuera1824+v6.1
　○UNICODE関数周りの変更
　　　改行に対応する制御文字0x0Aと0x0Dは通すように変更
　　　ついでにごりおしで注意文を出すシステムを作ったので、警告かつ空文字列を返すように変更

・Emuera1824+v6
　○UNICODEメソッドが制御文字に対応する数字を受け付けないように
　　　0では実害あるケース報告されてるものの他はあんま影響ないとは思うわけだが念のため
　　　わざとか事故以外ないと思うのでエラー扱いでいいや
　○内部コードの無駄を整理やら保守面での変更やら
　　　雑なコードの多さが露わすぎたので

・Emuera1824+v5
　○STRJOIN内部処理の引数ハンドリングがザルで事故りまくりなのを修正
　　　ほんと実装が中途半端すぎたorz

・Emuera1824+v4
　○+v1の修正が中途半端でやっぱりエラー吐くのを修正
　　　チェックが甘かった
　○HTML_PRINTの<button>タグでvalueが32bit整数を超える値の場合ボタンにならないのを修正
　　　実用的には問題にならない気もするが

・Emuera1824+v3
　○行連結読み込み時にFORM文字列{数値変数}が先頭にあると豪快に誤爆して例外を放り投げてくるのを修正
　　　そりゃ、この判定の仕方じゃ誤爆するよ、TrimStartしかしてないんだよ？

・Emuera1824+v2
　○HTML_GETPRINTEDSTRが正しくない返り値を返すケースがあるのを修正
　　　こ　れ　は　ひ　ど　い

・Emuera1824+v1（差し替え版）
　○STRJOINが豪快にバグってたどころか、仕様に対して実装がgdgdになっていたのを修正
　　　おそらく、引数の仕様変えた時に実装が中途半端だったっぽいorz

・Emuera1823+v1
　○TOOLTIP_SETDELAYとTOOLTIP_SETDURATIONを併用した場合にDELAYが働かないバグを修正
　　　C#側に併用できる仕組みがないのが悪いんや…
　○テスト版で行った残り時間非表示のTINPUTとAWAITの挙動変更を取り込み
　　　もちろんがんがんテスト状態、事故ったらﾜｰｲヽ(ﾟ∀ﾟ)ﾒ(ﾟ∀ﾟ)ﾒ(ﾟ∀ﾟ)ﾉﾜｰｲ

・Emuera1822+v1
　○解析モード時のチェックファイルの判定のエンバグ修正
　　　1821+v11の履歴表示行数のバグ修正による事故でした

・Emuera1821+v11.1
　○REPEAT、FORの入れ子をエラー扱いから警告扱いに引き下げ
　　　個人的にはエラーでもいいが、現実的にはこっちの方が妥当かなーとか思い返してみる
　　　ついでに警告文に無限ループの指摘を追加

・Emuera1821+v11
　○履歴表示行数が設定を無視して10000行固定になっていたのを修正
　　　何でこんな中途半端なことしてたのやら…
　○#REFで定義された変数の想定仕様と内部挙動がかみあってないのを修正
　　　内部挙動の問題なのでコーディング上の影響はないと信じたい
　○v9,v9.1の追加警告まわりの色々tweak
　　　ちゃんとCOUNTの引数（定数の場合のみ）も見るように、eraMegaten母ちゃんあたりですごい誤爆してたので…
　　　後、多重化で引っかかったREPEATやFORに対して対応なし警告がセットになってしまうので、それを出ないようにちょっといじった

・Emuera1821+v10
　○STRJOINが第1引数が～～NAMEのような定数文字列配列の場合豪快に例外吐くのを修正
　　　この場合何が起こるか頭から抜けてた
　○v9、9.1の変更部分で特定条件で例外が飛ぶのを修正
　　　ただし、この例外が飛ぶ=その行がエラーを起こしている、なので、これが直ろうがその行は100%エラーです

・Emuera1821+v9.1
　○REPEATならびにCOUNTをループ変数にとるFORが多重になっている場合のエラー表示追加が引数をチェックしない場合豪快に例外吐くのを修正
　　　うん、この設定のこと頭から抜け落ちてた
　　　
・Emuera1821+v9
　○PRINTBUTTON系ならびにPRINTPLAIN系が特定条件でSETCOLORを反映しない問題を修正
　　　うん、これは設計が悪い、間違いなく悪い
　○REPEATならびにCOUNTをループ変数にとるFORが多重になっている場合のエラー表示追加
　　　関数跨ぎだけはさすがに無理です

・Emuera1821+v8
　○COPYCHARA、ADDCOPYCHARAがユーザー定義キャラクタ変数をコピーしない問題を修正
　　　作った後に増えた部分だから、Emuの人の作業漏れの公算大？

・Emuera1821+v7.2
　○文字列配列の結合関数STRJOINの追加
　　　書式：STRJOIN(＜配列変数＞{, ＜区切り文字列＞, ＜配列添え字開始位置＞, ＜配列添え字要素数＞})
　　　内容：ツールチップの最大表示時間を[表示時間(ms)]に設定
　　　引数：＜配列変数＞：結合した配列変数、キャラ変数を指定した場合エラーになるかも
　　　　　　＜区切り文字列＞：結合のさいに要素間に加える文字列、他の言語の同一処理同様、省略時は","が自動的に適用されます（区切り文字が必要ない場合は""を与えてください）
　　　　　　＜配列添え字開始位置＞、＜配列添え字要素数＞：指定した場合　配列添え字開始位置≦i＜開始位置＋配列添え字要素数　の範囲で結合する
　　　　　　後者を指定する場合、前者は省略不可
　　　最初JOINにしようと思ったけど事故がありそうだからこうした
　　　ver7.1で引数仕様変更
　　　ver7.2で数値配列に変数、区切り文字列の処理に問題があったので修正

・Emuera1821+v6
　○SORTCHARAをユーザー定義変数で行うと例外チュドーンになるのを修正
　　　このパターン想定しないコードで放置してたの、どこのEmuの人ですかー？

・Emuera1821+v5.2
　○@USERXXX系システム関数でREUSELASTLINEを利用したシステム内部処理渡しについて、
　　REUSELASTLINE命令の引数が空白でない場合、システム側メッセージの表示を行わないように変更
　　　ただし、これを利用してスクリプト側でREUSELASTLINEを用いてメッセージを表示させたい場合、
　　　システム内部処理とタイミングが異なる関係上、入力値の表示を自動でクリアできないため、
　　　入力値の表示を消したい場合、REUSELASTLINEの前にCLEARLINE 1を行う必要があります。

・Emuera1821+v5.1
　○v5の変更でSTRFORMの引数が文字列変数の場合の挙動がおかしくなったのを修正
　　　引数チェックのタイミングで挙動が変わるのは非常によろしくない
　○TOOLTIP_SETDURATIONが設定されているときのツールチップの表示位置のtweak
　　　マウスカーソルのやや下に表示されるように位置設定

・Emuera1821+v5
　○STRFORMが正しく振る舞わないバグを修正
　　　かなりクリティカルなバグというか、ここまで判明しなかったのが驚きというレベル

・Emuera1821+v4
　○一部命令のエラー時の表示がおかしいのを修正
　　　コピペしたら文面修正を忘れないのは大事な作業ですよ？
　○解析モード時はコンフィグによらず10000行までデータを保持するように
　　　一部バリアントはこれでも収まらないが、これ以上はメモリ不足との兼ね合いが生じ始めるためさすがにこれで許してください

・Emuera1821+v3.1
　○命令TOOLTIP_SETDURATIONの挙動に関するtweak
　　　表示命令の時間指定引数にwindows側の仕様でshortの最大値である32767より大きな値を渡すと無視されるようなので
　　　shortの最大値を超える場合は32767を引数とするように変更

・Emuera1821+v3
　○ツールチップの表示時間を設定する命令TOOLTIP_SETDURATIONを追加
　　　書式：TOOLTIP_SETDURATION [表示時間(ms)]
　　　内容：ツールチップの最大表示時間を[表示時間(ms)]に設定
　　　引数：[表示時間(ms)]：0以上の整数値　0の場合デフォルトの挙動になります、後タイマーの特性上極端に短い時間は想定通りに動かないかもねー

・Emuera1821+v2.1（ﾃｽﾄ向け公開）
　○再起動時、_fixed.configの変更に対して、コンフィグダイアログの固定状態が追随しないのを修正

・Emuera1821+v2
　○PRINT系命令の大半がSKIPDISPを無視するという実装漏れを修正
　　　CALLTRAIN使うとひどいことになりますね、はい

・Emuera1821+v1
　○1821+v2の修正がキャラクタ変数に適用されてないのを修正

作業従事者：妊）|дﾟ)の中の人
