ポータブル版のアップデート後に発生したと思しき不具合、及び、正しいアップデート方法について

  1. Kuroさん
    開発お疲れさまです。
    素晴らしくスマートなテキストエディタを作って下さってありがとうございます。

    長文になりそうなので、早速本題に入らせて頂きます。
    お忙しい中とは存じますが、よろしくお願い致します。

    OSの環境はWindows 10 x64 22H2です。
    Meryはx64のversion 3.7.1のポータブル版を使わせて頂いております。

    先日、ポータブル版のversion 3.3.1x64から
    ポータブル版のversion 3.7.1x64へアップデートしたのですが、

    バージョンアップの方法は、下記の投稿にあるように
    https://www.haijin-boys.com/discussions/6551
    上書きで問題ありませんよね?
    これまでも何度かバージョンアップしてきて、何の支障もありませんでしたし…。
    (なお、Extフォルダの中身は弄っていないのでデフォルトのExtフォルダで上書きされても問題ありません)

    といいますのも、
    バージョンアップ後、キーボードショートカットによる「前の文字列を検索」と「次の文字列を検索」の設定、
    すなわち、
    Shift + Ctrl + UP

    Shift + Ctrl + Down
    の設定が消えてしまったので不安になったのです。

    上記の発覚後、x64のversion 3.7.1ビットポータブル版のZIPを解凍した直後の環境でも試してみました。
    すると、その環境では問題が起こらず、上記のキーボードショートカットが発動してくれました。

    こうなってくると、やっぱり自分の勘違いだ!と思い、
    上記のキーボードショートカットが発動する状態の(色々とカスタマイズ済みの)version 3.3.1のMeryを
    "zipから解凍ほやほやのversion 3.7.1"で上書きすると、またしても、上記のキーボードショートカットの設定が消えてしまいました。

    なお、使わせて頂いているversion 3.3.1のMeryがPortable版というのは"恐らく"であります。
    記憶の上ではPortable版以外には触れていないつもりなのですが、
    version 3.3.1のMeryを起動して「ヘルプ」から「バージョン情報」を表示させると、「Portable」という表記がない為、確信が持てないでいます。
    これが手がかりになるのか分かりませんが、
    MeryPortable.ini (0バイト)と
    Mery.ini(100,000 バイト以上)が
    version 3.3.1のMery.exeと同じディレクトリ内に存在しています。

    最後になりますが、現在はShift + Ctrl + UPなどを自分で設定したので不自由なく使えています。
    ですので、本投稿の主旨は、上書きによるバージョンアップを境にキーボードショートカットの設定の一部が飛んでしまうようなのですが…というものです。

    長文失礼しました。
    お手隙のときによろしくお願い致します。

     |  鷹村  |  返信
  2. Mery をご愛用いただきありがとうございます。

    いただいた条件 (Ver 3.3.1 Portable から Ver 3.7.1 Portable のアップデート) で確認してみましたが、私の環境では現象を再現できませんでした。

    > バージョンアップの方法は、下記の投稿にあるように
    > https://www.haijin-boys.com/discussions/6551
    > 上書きで問題ありませんよね?

    はい、バージョンアップは上記の方法で問題ありません。

    ちなみに、消えてしまったのは [前の文字列を検索] と [次の文字列を検索] のショートカット キーの設定のみでしょうか?

    ---
    (1) その他の設定、たとえば、他のキー割り当てや、テーマの設定、その他のオプション項目の設定などは、ちゃんと引き継がれていたのでしょうか。

    (2) それとも、そもそも [前の文字列を検索] と [次の文字列を検索] の設定のみが変更されており、他の設定は初期値のままだったのでしょうか。(つまり、すべての設定が初期化されていても変化がわからない状態)
    ---

    (1) の場合は、キーボード割り当ての一部の設定のみ消えてしまったということになるので、INI ファイルに何らかの問題がある可能性が考えられます。

    (2) の場合は、Mery.ini を上書きしてしまっている可能性があります。

    "zipから解凍ほやほやのversion 3.7.1" とのことですが、一度でも Mery.exe を起動してしまうと、自動的に新しい Mery.ini が作成されます。

    そのフォルダーの内容をフォルダーごと上書きすると、新しい Mery.ini も同時に上書きされ、設定がすべて初期状態に戻ってしまいます。

    ZIP ファイルを解凍したとき、フォルダー内に Mery.ini が存在しないことを確認してから上書きしてみてください。

    もしそうでない場合、つまり、(1) のパターンで、[前の文字列を検索] と [次の文字列を検索] の設定のみが消えてしまった場合は、Mery.ini に問題がある可能性があります。

    新たに設定し直したとのことなので、すでに問題が再現できる Mery.ini は上書きされてしまっているかもしれませんが、もし Ver 3.3.1 の Mery.ini のバックアップなどがあれば、info(at)haijin-boys.com に添付ファイルとして送付していただければ、調査いたします。※ (at) は @ に置き換えて下さい。

    お手数をおかけしますが、よろしくお願いいたします。

     |  Kuro  |  返信
  3. Kuroさんへ
    お忙しい中、ありがとうございます。

    > いただいた条件 (Ver 3.3.1 Portable から Ver 3.7.1 Portable のアップデート) で確認してみましたが、私の環境では現象を再現できませんでした。

    お手数おかけしました。確認して頂いてありがとうございます。
    という事は、ウチの環境だけ、いわゆる"おま環"っぽいですね。

    > ちなみに、消えてしまったのは [前の文字列を検索] と [次の文字列を検索] のショートカット キーの設定のみでしょうか?
    > (1) その他の設定、たとえば、他のキー割り当てや、テーマの設定、その他のオプション項目の設定などは、ちゃんと引き継がれていたのでしょうか。

    はい。少なくても、確認できている範囲では、消えてしまったのは
    [前の文字列を検索] と [次の文字列を検索] のショートカット キーの設定のみです。

    例えば、自分で割り当てたショートカットは、マクロを利用するものも含めてVer 3.7.1 Portableでちゃんと機能しますし、
    カスタマイズしてある強調表示などの設定なども消えずに残っています。

    > そのフォルダーの内容をフォルダーごと上書きすると、新しい Mery.ini も同時に上書きされ、設定がすべて初期状態に戻ってしまいます。
    > ZIP ファイルを解凍したとき、フォルダー内に Mery.ini が存在しないことを確認してから上書きしてみてください。

    承知しております。

    > 新たに設定し直したとのことなので、すでに問題が再現できる Mery.ini は上書きされてしまっているかもしれませんが、もし Ver 3.3.1 の Mery.ini のバックアップなどがあれば、info@haijin-boys.com に添付ファイルとして送付していただければ、調査いたします。

    Ver 3.3.1 の Mery.iniは残っています。
    ですから、iniをお送りするのが最適な解決策であり「話はそれからだ!」となるのは当然の事だと思います。
    が、さっきiniの中身をざっと見てみた所、各種履歴やらプラグインのパスやらに、結構な個人情報(漏らしてはいけないとされているもの)が含まれていました。
    「罪のない人に濡れ衣を着せるくらいなら、初めから情報を漏らすな!」がマナーだと思っている一方、
    それらのすべての個人情報を他の値に漏れなく置き換える自身がありません。

    ですので、まずは余裕がある時に自分自身の別のPCで追試をしてみたいと思います。
    そのうえで、"おま環"ではない筈なのに、バージョンアップを境に問題が起こるように思えた場合は、改めてMery.iniの調査をお願いできますでしょうか?
    勝手ですいませんが、Meryを使わせて頂いているのですから、"おま環"っぽくなく、個人情報などの問題もクリアできるのであれば、情報提供させて頂くのが道理だとも思っています。

     |  鷹村  |  返信
  4. ご返信ありがとうございます。

    > という事は、ウチの環境だけ、いわゆる"おま環"っぽいですね。

    設定ファイルの読み込み処理については環境依存というのは考えにくいですし、何か特定の条件で発生する問題かもしれないですね。

    > はい。少なくても、確認できている範囲では、消えてしまったのは [前の文字列を検索] と [次の文字列を検索] のショートカット キーの設定のみです。

    なるほど、そこだけピンポイントで消えるというのは、原因が分からないですね。

    > ですので、まずは余裕がある時に自分自身の別のPCで追試をしてみたいと思います。

    ご協力ありがとうございます。

    > そのうえで、"おま環"ではない筈なのに、バージョンアップを境に問題が起こるように思えた場合は、改めてMery.iniの調査をお願いできますでしょうか?

    わかりました。もちろん、環境による問題でも大丈夫です。

    設定が消えるというのはアプリにとって深刻な問題です。最悪の場合は公開中止も考えなければなりませんので、お気づきの点がありましたら教えていただけると助かります。

    ちなみに、Ver 3.3.1 の Mery.ini で、特にご確認いただきたい部分は、[Keyboard] セクションの "SearchNextWordAction" と "SearchPrevWordAction" の値です。

    この部分が以下のようになっていれば、キーボードの設定は残っている状態です。

    SearchNextWordAction=Shift+Ctrl+Down
    SearchPrevWordAction=Shift+Ctrl+Up

    また、この値が空っぽになっている場合は、Ver 3.3.1 の時点で既に設定が消えているということになります。

    それ以外の値が入っている場合は、別の原因が考えられます。

    > 勝手ですいませんが、Meryを使わせて頂いているのですから、"おま環"っぽくなく、個人情報などの問題もクリアできるのであれば、情報提供させて頂くのが道理だとも思っています。

    いえいえ。いただいたデータやメールは検証の後、必ず消去するようにしていますが、個人の趣味で行っているサポートなので、安全性の保証まではできませんからね。

    公開することを望まない情報が含まれていないかご確認いただき、差し支えなければご協力いただけると助かります。

     |  Kuro  |  返信
  5. Kuroさん。
    ご丁寧なお返事をありがとうございます。
    また、ワガママをご理解頂きありがとうございます。

    その後、Mery.iniの差分を取ったり色々と実験してみまして、原因らしき事が分かりました。
    やってみた事を書き連ねても良いのですが、
    最もシンプルに状況をお伝えできそうな方法を書かせて頂きたいと思います。

    3つのMeryが登場するので、配役を整理したいと思います。
    いずれもx64のポータブル版です。

    ・Version 3.2.8 下記Version 3.3.1の代替です

    ・Version 3.3.1 沢山カスタマイズしてあるアップデート元の版です。「Shift+Ctrl+UP」/Downが効きます

    ・Version 3.7.1 アップデート後の版です。「Shift+Ctrl+UP」/Downを効かせるには設定が必要でした

    なお、後述の【A-5】の状態のMeryを、解凍したばかりのVersion 3.7.1でアップデートする事で私が体験した事を再現できました。

    ■Version 3.2.8での作業について
    【A-1】
    Version 3.3.1のzipを見つけられなかった為、
    Version 3.2.8を下記からダウンロードさせて頂きました。
    https://www.haijin-boys.com/download/MeryPortable-x64-3.2.8.zip

    【A-2】
    ダウンロードしたばかりのMeryを新規フォルダ内に解凍し、その中のMery.exeを起動します。

    【A-3】
    キーボードショートカットの
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」
    が効く事を確認します。

    【A-4】
    ツール>オプション>キーボードにて
    「前の文字列を検索」と
    「次の文字列を検索」に割り当てられているショートカットを削除後、
    OKをクリックして設定画面から抜けます。

    この時、
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」は
    未定義のショートカットになっている筈です。

    【A-5】
    しかし、なぜなのか、この状態においても、
    キーボードショートカットの
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」
    が効きます。

    Meryを終了させます。

    ■Version 3.3.1について
    【B-1】
    私の環境のVersion 3.3.1は、
    【A-5】と同じ状態にあるようでして、
    「前の文字列を検索」や
    「次の文字列を検索」にはキーボードショートカットが未定義の状態なのに、
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」
    が効く状態でした。

    ■Version 3.7.1について
    【C-1】
    Version 3.7.1を新規にダウンロードして
    https://www.haijin-boys.com/download/MeryPortable-x64-3.7.1.zip
    【A-4】の作業を行うと、
    キーボードショートカットの
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」
    は効かなくなります。

    ここが、Version 3.2.8やVersion 3.3.1とは異なるのかなと思いました。

    ■まとめ
    私の環境のVersion 3.3.1において
    「前の文字列を検索」や
    「次の文字列を検索」はキーボードショートカットが未定義の状態でした。
    しかし、それらに対応するキーボードショートカットである
    「Shift+Ctrl+UP」や
    「Shift+Ctrl+Down」が不思議と効く状態であった為、
    Version 3.7.1へのアップデートを境にキーボードショートカットが効かなくなり、まるで、それらの設定が消えたかのように感じられたのだと思います。

    しかし、実際にはキーボードショートカットがアップデート前から未定義でした。
    おそらく、私が、どこかのタイミングで未定義にしてしまったのに、
    ショートカットが効いてくれていた為、その事にずっと気づかなかったのだと思います。

    お騒がせ致しました。

     |  鷹村  |  返信
  6. 検証へのご協力、ありがとうございます。

    なるほど、そういうことでしたか。

    確かに、Ver 3.6.1 でキーボード操作に関する機能拡張が行われ、その際に Shift + Ctrl + Up/Down キーの動作が変更されていました。

    変更内容は以下の通りです。

    ---
    ## 3.6.1 (2023-10-17)

    - [縦書き] でショートカット キーに方向キーが含まれている場合、自動的に右に 90 度回転するようにした
    ---

    > 【A-5】
    > しかし、なぜなのか、この状態においても、
    > キーボードショートカットの
    > 「Shift+Ctrl+UP」や
    > 「Shift+Ctrl+Down」
    > が効きます。

    以前は、[次/前の文字列を検索] における Shift + Ctrl + Up/Down キーのみ、[縦書き] モード時には Shift + Ctrl + Right/Left に置き換えられるという特殊な仕様でした。

    この仕様の副作用で、キー割り当てが未定義の状態でも動作していたようです。

    Ver 3.6.1 以降、この特殊な仕様は廃止され、すべてのコマンドが [縦書き] モードにおける方向キーの回転に対応するようになりました。

    そのため、上記の副作用はなくなり、[次/前の文字列を検索] のキー割り当てが未定義の場合、動作しなくなりました。

    > しかし、実際にはキーボードショートカットがアップデート前から未定義でした。

    詳細な検証結果をありがとうございました。アップデートによって設定が消えたわけではないことがわかり、安心しました。

     |  Kuro  |  返信
スポンサーリンク