[ 新規に投稿する ]

各種ヒストリが保存されていないNo.42461
Fzok4234 さん 26/01/23 13:13 [ コメントを投稿する ]
  最近、秀丸エディタで複数のファイルを開いて編集している最中に、瞬間的な停電でパソコンの電源が落ちて
しまいました。復電後にパソコンを起動して秀丸エディタでの作業を再開しようとして、常駐秀丸エディタの
ファイルヒストリを表示させたところ、最後に秀丸エディタを起動させてから停電で落ちるまでの間に開いて
いたファイルの記録がスッポリと無くなっていました。

また、作業中に検索や置換も行っていましたが、こちらの検索や置換のヒストリも同様に最後の起動から
落ちるまでの記録が消失していました。

このため、復電後の作業の再開に著しく支障を来してしまいました。

以前にも、Windows の BSOD で強制終了となったときも、同様の現象がありました。今後、このような予期せぬ
強制終了で各種ヒストリを消失させないようにするためには、どのように対策をとればよいのでしょうか ?


[ ]
RE:42461 各種ヒストリが保存されていないNo.42471
秀丸担当 さん 26/01/26 15:54 [ コメントを投稿する ]
  特にコメントすることはないですが、停電しても維持されたらいいというご意見と受け止めて参考にいたします。
[ ]
RE:42471 各種ヒストリが保存されていないNo.42474
Fzok4234 さん 26/01/26 16:07 [ コメントを投稿する ]
  とりあえず、少し危なっかしい状況なので、マクロなどで各種ヒストリを明示的にこまめにレジストリへ
フラッシュできる体制をとりたいです。

サンプルマクロ等のご教示よろしくお願いします。


[ ]
RE:42474 各種ヒストリが保存されていないNo.42475
秀まるお2 さん 26/01/26 17:56 [ コメントを投稿する ]
  すみませんが電源が落ちてもヒストリを保存したいとうか言われても対応不可です。レジストリに書き込んだとしてもWindowsの方で保存しないだろうし、そんなことまでサイトー企画に言われても無理です。

どういうつもりでこんなマシンガンのように要望や質問を書き込んでおられるのか分かりませんが、こちらとしては返事をするのに大変苦労しています。精神的にもまいっています。無料だからということでなんでもかんでも書き込むのはご勘弁ください。

Fzok4234さんから何か要望されても一切対応できませんので、その辺もよろしくお願いします。
[ ]
RE:42475 各種ヒストリが保存されていないNo.42476
Fzok4234 さん 26/01/26 22:47 [ コメントを投稿する ]
  大変失礼いたしました。ご迷惑をかけたことをお詫び申し上げます。

実は最近、アウトライン解析のツリー定義を明示的に指定した文字列にヒットさせるように、
全てのファイルタイプ別の設定を変更しようとしたところ、
https://www.maruo.co.jp/hidesoft/2/x42421_.html#42421
で挙げた一連の不具合に遭遇してしまい、作業が頓挫状態になったことで、焦りと苛立ちから精神状態が
かなり不安定になっておりました。

この一連のツリー定義の不具合は、以前から当方が悩まされていた秀丸エディタの宿命とも言うべき
ほぼ解決不可能な問題である
・内部で秀丸独自コードを使うことによる不完全な Unicode 対応。
・レジストリへの REG_BINARY 形式での設定の保存による機能拡張性の犠牲。
・簡単に長さを増やすことのできない固定長の文字列バッファー。
の「魔の 3 点セット」が総出で襲い掛かる形で発症したため、やり場の無い憤りをどうしても抑えることが
できませんでした。

かねてから当方では、各種テキストファイルを Shift-JIS から UTF-8 に変換したり、CLI 環境を
コマンドプロンプトから PowerShell に移行したり、それに伴って管理用スクリプトを .ps1 に刷新して
.bat や .vbs を全廃するなどの「環境のモダン化」の作業に追われて、精神的にピリピリした状態が
続いていました。そのため、去年の 11 月あたりからユーザーサイドの環境のモダン化を妨げる要因を
改善することを指摘する「レガシー狩り」ともいえる投稿を散発的に行うなど、怒りが爆発する兆候が
既に現れておりました。

そのような状況下でこのツリー定義の不具合が突如牙を向いてきたため、その苦痛に耐えきれない状態となって
しまい、怒りの爆発を抑えきれなくなってしまいました。

その結果、コマンドラインのファイル名の解釈や強制終了によるヒストリ消失などといった軽微な不具合に
対しても大変過敏に反応してしまい、「不具合は必ず解消されなければならない」という義憤に急き立て
られたことで、かなり無茶な不具合の修正や代替案の提案をリクエストしてしまう結果に至った次第であります。

スタッフの方々を当方の不安定な精神状態に巻き込んでしまったことを、改めてお詫び申し上げます。


[ ]
RE:42476 各種ヒストリが保存されていないNo.42477
秀まるお2 さん 26/01/27 13:34 [ コメントを投稿する ]
  秀丸エディタはWindows3.1の時代からのソフトウェアで、既存のユーザー様が多数おられる関係もあって、大胆な作り替えをすることは困難で、内部の作りもつぎはぎだらけになってます。ユニコード対応についても、当時の正規表現ライブラリがJRE32.DLLしか無かった関係もあって、そのライブラリを使いつつユニコード対応するために、非常に独特のやり方を僕が思いついてそれで無理矢理対応しています。正規表現パターンの互換性を維持したり、変なバグを出さないようにするなど考えて今に至ってるので、この辺の仕組みは今さら直すことは出来ないです。

今までのここの会議室での経緯はよく理解してないんですが、たぶんVisual Studio Codeとかで簡単に実現されてることを秀丸エディタ上でなんとか再現されようといろいろ苦労されてるのかと思います。しかし、上記の歴史的な経緯、特に正規表現パターンの互換性の問題があるので無理があると思います。よそ様のエディタで簡単に実現できてることがあるなら、そっちで作業してもらった方がいいと思います。
[ ]
RE:42477 各種ヒストリが保存されていないNo.42478
Fzok4234 さん 26/01/27 14:48 [ コメントを投稿する ]
  > 特に正規表現パターンの互換性の問題があるので無理があると思います。

とのことですが、既に h-tom さんが鬼車ベースの hmonig.dll をリリースしていて、当方でこれを
利用させていただいているので、正規表現に関してはそれほど不自由に感じていません。

------------------------------------------------------------------------------------------------

> ... 内部の作りもつぎはぎだらけになってます。ユニコード対応についても、当時の正規表現ライブラリが
> JRE32.DLL しか無かった関係もあって、そのライブラリを使いつつユニコード対応するために、非常に独特の
> やり方を僕が思いついてそれで無理矢理対応しています。

この「つぎはぎだらけ」の仕様とは、おそらく先程挙げた「魔の 3 点セット」のことを指していると
思われるのですが、当方におけるメインの開発言語などが C# および .Net であることから、
・文字列型の System.String は UTF-16LE 形式になっていて、初めから Unicode に対応している。
・レジストリなどへのデータ保存も System.Runtime.Serialization.Json.DataContractJsonSerializer などで構造化して行える。
・System.Collections.Generic.List のような可変長配列を始めとした多彩なコレクションによる柔軟なバッファーの実装。
といった機能が当たり前のように使用可能であることから、この仕様が体感的に非常に「理不尽」なものに
感じてしまいます。

------------------------------------------------------------------------------------------------

> たぶんVisual Studio Codeとかで簡単に実現されてることを秀丸エディタ上でなんとか再現されようと
> いろいろ苦労されてるのかと思います。

いま苦労しているのは、エディタ環境の調整だけではなく、先程も少し触れましたが、
・CLI シェルを PowerShell に移行。
・各種スクリプトも .ps1 に移行。
・各種テキストのエンコードを UTF-8 に変換。
・人間が読む文書を .md に移行。
・著書「リーダブルコード」に示されたコーディング作法の順守の徹底。
・Git および GitHub を使ったファイルのバージョン管理の徹底。
といった環境整備やソフトスキル習得の上での「全体的なモダン化」に関する事案全般についてです。今後は
これらに加えて、
・ビルド環境を Visual Studio 2026 にアップデートして C# 14 および .Net 10 へ対応させる。
・PowerShell も 7.5 へアップデート。
・MSYS2 の gcc との連携などクロスプラットフォームへの対応。
・Gemini CLI などを導入しての AI によるコーディングやビルド作業の自動化。
といったこともやらないといけないため、苦労が尽きる見通しが立たない状態です。

秀丸エディタの調整作業は、マクロの jsmode により以前よりもずっと楽にできるようになってきています。
ただそれは、「不具合が起きない」ことを前提とした話であって、今回のツリー定義の件のような
バッファーオーバーフローを伴った致命的な不具合に見舞われたら、さすがにお手上げ状態となってしまいます。


[ ]

[ 新規に投稿する ]