CHANGELOG.txtをアウトライン画面で表示したときにレベル1の見出しが複数表示される

  1. Kuroさん、こんにちは。

    Meryをダウンロードすると「Mery」フォルダ内に「CHANGELOG.txt」が付属していますが、そのファイルのことで相談があります。

    CHANGELOG.txtはMarkdown記法で書かれているので、拡張子を「.txt」から「.md」に変更すると、Markdownファイルとして閲覧することができます。

    それで、Meryで「CHANGELOG.md」を開いた後、アウトライン画面を表示するとレベル1の見出しが複数表示されます。

    本来であれば、CHANGELOG.mdのアウトライン画面でのレベル1の見出しは「変更ログ」のみが表示されることが想定されます。

    https://imgur.com/gallery/changelog-md-fOFR9Lq

    ですが、現行のCHANGELOG.txtの拡張子を「.txt」から「.md」に変更して、アウトライン画面で表示すると、レベル1の見出しが「変更ログ」だけでなく、下記8つの行も含まれてしまいます。

    https://imgur.com/gallery/changelog-md-tYd1gJL

    「#begingroup = true」
    「#begingroup = 1」
    「#begingroup = 2」
    「#begingroup = 3」
    「#icon = "****"」
    「#title = "****"」
    「#tooltip = "****"」
    「#include "ファイルのパス" ※絶対パスまたはマクロファイルからの相対パス」

    原因としては、上記8つの行の先頭文字の「#」が、アウトライン画面ではレベル1の見出しと認識されるからだと考えられます。

    それで、現在は暫定的に上記8つの行の先頭文字の「#」の前に半角スペースを挿入することで対応しています。

    ですが、Meryの新しいバージョンがリリースされるたびに上記の対応をするか、差分をコピーして追加するのは手間がかかります。

    よって、CHANGELOG.mdのアウトライン画面のレベル1の見出しが「変更ログ」だけ表示されるようにしてもらえないでしょうか?

    【環境情報】
    Mery: 3.7.6 (x64)
    Onigmo: 6.2.0
    C/Migemo: 1.3
    Tidy: 5.8.0
    Hunspell: 1.7.1
    アウトライン: 3.2.1 (Outline.dll)
    Markdown プレビュー: 1.0.7 (MarkdownPreview.dll)
    検索 バー: 1.0.6 (FindBar.dll)
    OS: Windows 11 (Version 23H2, OS Build 22631.4037, 64-bit Edition)

     |  MSY-07  |  返信
  2. こんにちは、ご報告ありがとうございます。

    確かにそうですね、アウトライン プラグインはあまり使っていなかったので、気づいていませんでした。

    アウトライン プラグインの仕様上、行単位での処理しかできないので、コード ブロック (```) の中を除外するのは難しいんですよね。

    CHANGELOG.md の方を修正するかたちになるかと思いますが、次のバージョンで対応しておきますね。

     |  Kuro  |  返信
  3. ご返信ありがとうございます。

    > CHANGELOG.md の方を修正するかたちになるかと思いますが、次のバージョンで対応しておきますね。

    どうかご対応よろしくお願いします。

     |  MSY-07  |  返信
  4. > 確かにそうですね、アウトライン プラグインはあまり使っていなかったので、気づいていませんでした。

    MeryのアウトラインプラグインはMarkdownとセットで便利に使っています。

    そう言えば、テキストエディターを使い始めた当初は色々なアウトラインプロセッサーを使っていたのですが、どれもしっくりこなかったんですよね。

    それで、最終的にMeryのアウトラインプラグインを使うようになりました。

     |  MSY-07  |  返信
  5. >> MSY-07 さん

    アウトラインプラグインで、言語設定「Markdown」の場合の設定値を以下のようにしても回避できそうです。

    現在: 「#」「##」…以降続く…
    変更後: 「#<半角スペース>」「##<半角スペース>」…以降続く…

    このようにすれば、「#icon」などは引っかからなくなると思います。

    >> Kuro さん

    アプリケーションにもよりますが、「#」の後に半角スペースが無いと見出し記号としてパースされないことも少なくないですから (Markdownプレビュープラグインもそうですね)、上記のようにアウトラインプラグイン自体のデフォルト設定も変更してしまってよい気がします。

    ちなみに…アウトラインプラグイン、割とよく使っているのですが、やはり私も同様にMarkdown内でコードブロック内の文言によく引っかかっています。

    特に私の場合、Shell ScriptやPythonをコードブロックに書くことが頻繁にあるのですが、そうすると両言語ともコメントアウト記号が「#」なのですよね…😅

    そう簡単に実装できるものでないのでしたらご放念いただいて大丈夫なのですが、いったんアイデア程度に書かせてください。
    Meryの場合、Markdownの「```」で囲っている箇所をコメントとして取り扱うことができているので、例えば「コメント扱いになっている箇所をアウトラインに含めない」といったオプション実装が可能なら、前述のような状況は回避できそうだと思いました。やはり難しいでしょうか…?

     |  yuko  |  返信
  6. yukoさん、ご返信ありがとうございます。

    > アウトラインプラグインで、言語設定「Markdown」の場合の設定値を以下のようにしても回避できそうです。
    >
    > 現在: 「#」「##」…以降続く…
    > 変更後: 「#<半角スペース>」「##<半角スペース>」…以降続く…
    >
    > このようにすれば、「#icon」などは引っかからなくなると思います。

    アウトラインプラグインで、言語設定「Markdown」の場合の設定値を教えてもらった通りに変更したら、「#icon」などが表示されなくなりました。

    上記の設定値を設定する前は、Meryに内蔵されているMarkdown構文ファイルをエクスポートした後、正規表現をコピーして設定していたのですが、アウトライン画面に表示されるまで3秒くらい時間がかかっていたので悩んでいました。

    教えてくださってありがとうございます。

     |  MSY-07  |  返信
  7. >> yuko さん、MSY-07 さん

    > アプリケーションにもよりますが、「#」の後に半角スペースが無いと見出し記号としてパースされないことも少なくないですから (Markdownプレビュープラグインもそうですね)、上記のようにアウトラインプラグイン自体のデフォルト設定も変更してしまってよい気がします。

    確かに、そう言われてみるとそうですね。

    次のバージョンではデフォルト値を変えてみます。ただし、デフォルト値なので、現在の設定が勝手に書き換わるわけではなく、新規インストールや [リセット] したときにだけ適用されるかたちになります。

    > Meryの場合、Markdownの「```」で囲っている箇所をコメントとして取り扱うことができているので、例えば「コメント扱いになっている箇所をアウトラインに含めない」といったオプション実装が可能なら、前述のような状況は回避できそうだと思いました。やはり難しいでしょうか…?

    うーん、プラグインからその操作をするのはちょっと難しそうですね。

    実は、Mery のパーサーは「```」をコメントとして認識していますが、テキスト全体を解析しているわけではありません。

    画面に表示されている部分だけをリアルタイムで解析しているだけなので、「ここがコメント」といった情報は持ってないんです。

    なので、やるとしたら、プラグイン側でテキスト全体を解析するパーサーを作成する必要がありますね。

     |  Kuro  |  返信
  8. >> MSY-07 さん

    お役に立てたようで何よりです😊

    >> Kuro さん

    > 画面に表示されている部分だけをリアルタイムで解析しているだけなので、「ここがコメント」といった情報は持ってないんです。
    > なので、やるとしたら、プラグイン側でテキスト全体を解析するパーサーを作成する必要がありますね。

    なるほど、そうなるとこれまた動作速度とのにらみ合いでものすごく大変そうな予感… 一朝一夕でどうにかなるものではなさそうですね。失礼しました。

     |  yuko  |  返信
  9. ご返信ありがとうございます。

    > なるほど、そうなるとこれまた動作速度とのにらみ合いでものすごく大変そうな予感… 一朝一夕でどうにかなるものではなさそうですね。

    Markdown のパーサーを本気で作るとなると、かなりの手間がかかりそうですね😱

    「```」だけ例外的に対応するのは比較的簡単かもしれませんが、Markdown だけを特別扱いするわけにもいかないですしね。

    できるかどうかは置いといて、ひとつのアイデアとしては、Mery 側にプラグインからアクセスできる API を用意して、プラグインが Mery の内部パーサーを使えるようにするという方法があります。

    具体的には、プラグインから位置を渡して、Mery 側でその行付近をパースし、指定した位置の属性を返すというシンプルな仕組みです。

    とはいえ、テキスト全体を解析する必要があるので、動作速度には期待できないかもしれませんが…😅

     |  Kuro  |  返信
  10. Kuroさん、ご返信ありがとうございます。

    > 次のバージョンではデフォルト値を変えてみます。ただし、デフォルト値なので、現在の設定が勝手に書き換わるわけではなく、新規インストールや [リセット] したときにだけ適用されるかたちになります。

    アウトラインプラグイン自体のMarkdownのデフォルト設定を変更すれば、CHANGELOG.md以外のmdファイルにも適応されるのでいいですね。

    その方向でお願いします。

     |  MSY-07  |  返信
  11. ご返信ありがとうございます。

    > アウトラインプラグイン自体のMarkdownのデフォルト設定を変更すれば、CHANGELOG.md以外のmdファイルにも適応されるのでいいですね。

    そうですね、それは仕様として対応しておきますね。

    ただ、これだけでは根本的な解決にはならないので、yuko さんが言われている「コメント扱いになっている部分をアウトラインから外す」という方法が必要になると思います。

    今のところ、実現できるかはまだわかりませんが、技術的には面白いアイデアなので、優先度は少し低めにしておきつつ😅、開発に挑戦してみたいと思います。

     |  Kuro  |  返信
  12. > ただ、これだけでは根本的な解決にはならないので、yuko さんが言われている「コメント扱いになっている部分をアウトラインから外す」という方法が必要になると思います。
    >
    > 今のところ、実現できるかはまだわかりませんが、技術的には面白いアイデアなので、優先度は少し低めにしておきつつ😅、開発に挑戦してみたいと思います。

    首を長くして待っていますね。
    まだ暑いので体調には気を付けてくださいね。

     |  MSY-07  |  返信
  13. Kuroさん、Ver 3.7.7のリリースお疲れさまでした。

    Ver 3.7.7を確認しましたが、アウトライン プラグインで [編集モード] が [Markdown] のときのデフォルト設定が変更されていて、CHANGELOG.txtの見出しがアウトライン画面で正しく表示されるようになりました(CHANGELOG.txt自体に修正が入っていることも影響していますが)。

    ご対応いただきありがとうございます。

     |  MSY-07  |  返信
  14. ご確認ありがとうございます。

    > Ver 3.7.7を確認しましたが、アウトライン プラグインで [編集モード] が [Markdown] のときのデフォルト設定が変更されていて、CHANGELOG.txtの見出しがアウトライン画面で正しく表示されるようになりました(CHANGELOG.txt自体に修正が入っていることも影響していますが)。

    さらに今回、新しく [コメント行を無視する] オプションをアウトライン プラグインに追加しました。

    このオプションを使うと、コメント部分をアウトライン項目から除外できるようになります。

    状況に応じて、ぜひお試しいただければと思います。

     |  Kuro  |  返信
  15. > さらに今回、新しく [コメント行を無視する] オプションをアウトライン プラグインに追加しました。
    >
    > このオプションを使うと、コメント部分をアウトライン項目から除外できるようになります。

    [コメント行を無視する] オプションを試してみましたが、コメント部分をアウトライン項目から除外できるので、アウトラインの見出しが見やすくなりますね😊

    それで、CHANGELOG.txtについて追加で確認したいことが2つあります。

    1つ目は、CHANGELOG.txtの拡張子を「.md」に変更すると、下記の「## 2.6.6 (2018-03-22)」から「## 2.5.5 (2016-11-13)」の範囲の文字が青く表示されます。

    ・開始:「- (?<=) 戻り読み」(2.6.6)
    ・終了:「- UTF-16LE (BOM 無し)、UTF-16BE (BOM 無し) に対応 (オプション > 基本 > 既定のエンコードは再設定が必要)」(2.5.5)

    どうやらこれは、Markdownの編集モードでタグ開始の「<」とタグ終了の「>」が反応していることが原因のようです。

    一応、対処法としてはタグ開始とタグ終了を空欄にすることで文字が黒く表示されるようになります。
    ですが、これだと他のmdファイルを開いたときに、インラインHTMLのタグが強調されなくなります。

    よって、Markdownの編集モードのタグ開始とタグ終了を空欄にする以外に対処法はありませんか?

    2つ目は、CHANGELOG.txtの「## 2.4.0.5701 (2015-06-20)」の前の行に余分な空行が挿入されているので除去してもらえませんか?

     |  MSY-07  |  返信
  16. ご報告ありがとうございます。

    > 1つ目は、CHANGELOG.txtの拡張子を「.md」に変更すると、下記の「## 2.6.6 (2018-03-22)」から「## 2.5.5 (2016-11-13)」の範囲の文字が青く表示されます。

    ご指摘のとおり、<>がタグとして認識されてしまっているのが原因ですね。

    > よって、Markdownの編集モードのタグ開始とタグ終了を空欄にする以外に対処法はありませんか?

    現在、Mery のドキュメントはできるだけ多くの方に気軽に読んでもらえるように、テキスト形式 (.txt) で提供しています。

    Markdown 記法も使っていますが、すべてのユーザーさんが Markdown や HTML に慣れているわけではないので、できるだけ直感的に読めるようにしています。

    そのため、Markdown での対処法としては、<>は HTML エンティティ (&lt;&gt;) に置き換えるのが適切ですが、テキスト形式での可読性を優先した書き方にしているのが現状です。

    もし完全に Markdown 形式に移行するなら、CHANGELOG を Markdown ファイルとして管理し、配布形式を HTML や PDF に変更するといったかたちも考えられますね。

    ただ、このような形式はフリーソフトのドキュメントとしては少し重たく感じる場合もあります。

    シンプルなテキスト形式には、セキュリティ面でも安心感があり、気軽に開けるという利点もあるので、そういった点を考慮すると、なかなか難しいところですね🤔

    > 2つ目は、CHANGELOG.txtの「## 2.4.0.5701 (2015-06-20)」の前の行に余分な空行が挿入されているので除去してもらえませんか?

    こちらもご指摘ありがとうございます。余分な空行については削除しておきますね。

     |  Kuro  |  返信
  17. > シンプルなテキスト形式には、セキュリティ面でも安心感があり、気軽に開けるという利点もあるので、そういった点を考慮すると、なかなか難しいところですね🤔

    誰でも扱えて読みやすいという意味ではテキスト形式が一番ですからね。

    他の案としては、編集モードのタグ開始とタグ終了の適用範囲を狭くするということも考えましたが、試しにHaijin Boys Onlineのhtmlコードを確認したら、意外とタグ開始とタグ終了の間が長かったりするので、適用範囲を狭くするのは難しそうですね😓

    > こちらもご指摘ありがとうございます。余分な空行については削除しておきますね。

    ご対応よろしくお願いします。

     |  MSY-07  |  返信
  18. ご返信ありがとうございます。

    > 他の案としては、編集モードのタグ開始とタグ終了の適用範囲を狭くするということも考えましたが、試しにHaijin Boys Onlineのhtmlコードを確認したら、意外とタグ開始とタグ終了の間が長かったりするので、適用範囲を狭くするのは難しそうですね😓

    HTML タグの場合、HTML の仕様としてタグ内に記述できる文字数に制限は設けられていないようですし、難しいところですね。

    また、タグ開始とタグ終了の項目は HTML タグに限らず、たとえば、に設定し、小説のセリフ部分に色を付けるような使い方もあります。

    そのため、タグの文字列の長さに制限を設けるような仕様変更は、機能的にはレベルダウンになってしまいます😅

    CHANGELOG だけの対応であれば、(?<=) 戻り読みと書いてあるあたりをコメント ブロックにすることで、ある程度回避できそうです。

    ただし、前回の回答でもお伝えしたとおり、あくまでテキスト形式での可読性を優先しているので、今後の更新内容についても、必ずしも Markdown モードでキレイに色分けできるとは限らないことはご了承くださいね。

     |  Kuro  |  返信
  19. > HTML タグの場合、HTML の仕様としてタグ内に記述できる文字数に制限は設けられていないようですし、難しいところですね。
    >
    > また、タグ開始とタグ終了の項目は HTML タグに限らず、たとえば、`「`と`」`に設定し、小説のセリフ部分に色を付けるような使い方もあります。
    >
    > そのため、タグの文字列の長さに制限を設けるような仕様変更は、機能的にはレベルダウンになってしまいます😅

    HTMLはタグ内に記述できる文字数に制限がないんですね。

    また、小説のセリフ部分に色を付ける場合、何行になるか分からないですからね😅

    そう考えると、タグの文字列の長さに制限を設けるのはデメリットの方が大きいですね。

    > CHANGELOG だけの対応であれば、`(?<=) 戻り読み`と書いてあるあたりをコメント ブロックにすることで、ある程度回避できそうです。
    >
    > ただし、前回の回答でもお伝えしたとおり、あくまでテキスト形式での可読性を優先しているので、今後の更新内容についても、必ずしも Markdown モードでキレイに色分けできるとは限らないことはご了承くださいね。

    無理を言ってすいませんが、ご対応お願いします😓

    あと、私もテキスト形式を優先してほしいので、Markdownモードでの色分けのことは承知しました。

     |  MSY-07  |  返信
  20. CHANGELOG.txtについて、追加で3つ目の要望があります。

    CHANGELOG.txtの「## 2.6.6 (2018-03-22)」の「- それに伴いマクロの指令 #language = "xxxx" を追加」の下記にある「- #language ="PerlScript"」についてですが、「=」の後の半角空白が抜けています。

    よって、「- #language ="PerlScript"」の「=」の後に半角空白を追加してもらえませんか?

    重箱の隅をつつくような要望ですいません😓

     |  MSY-07  |  返信
  21. ご報告ありがとうございます。

    > よって、「- #language ="PerlScript"」の「=」の後に半角空白を追加してもらえませんか?

    おおっ、これは盲点でした。次のバージョンで修正しておきますね。

    > 重箱の隅をつつくような要望ですいません😓

    いえいえ、気になりますよね。最近は ChatGPT で誤字脱字チェックをしているので、ある程度は防げていると思うのですが、過去の更新分までは手が回らず…そこはご容赦くださいませ😅

     |  Kuro  |  返信
  22. ご返信ありがとうございます。

    > おおっ、これは盲点でした。次のバージョンで修正しておきますね。

    MarkdownプレビュープラグインでCHANGELOG.txtを見ていたら偶然見つけました。

    ご対応よろしくお願いします。

    > いえいえ、気になりますよね。最近は ChatGPT で誤字脱字チェックをしているので、ある程度は防げていると思うのですが、過去の更新分までは手が回らず…そこはご容赦くださいませ😅

    ChatGPTで誤字脱字のチェックができるのは便利ですね😃

    現在の更新分だけで手一杯だと思われるので、過去の更新分までは手が回らないことは承知しました。

     |  MSY-07  |  返信
  23. Kuroさん、Ver 3.7.8のリリースお疲れさまでした。

    CHANGELOG.txtを確認しましたが、拡張子を「.md」に変更すると文字が青く表示されていた箇所が黒く表示されていることを確認しました。

    また、余分な空行が除去されていることと、「=」の後に半角空白が追加されていることを確認しました。

    ご対応いただきありがとうございます。

     |  MSY-07  |  返信
  24. ご確認いただきありがとうございます。

    > Kuroさん、Ver 3.7.8のリリースお疲れさまでした。

    これで安定版になってくれると良いのですけどね…😒

    > また、余分な空行が除去されていることと、「=」の後に半角空白が追加されていることを確認しました。

    過去のものにはまだまだ誤字脱字が潜んでいそうですけどね😅

    > 現在の更新分だけで手一杯だと思われるので、過去の更新分までは手が回らないことは承知しました。

    それよりも、若かりし頃の自分のキャラが痛すぎて、もう黒歴史もいいところ。すぐにでも封印したいレベルです😱

     |  Kuro  |  返信
  25. Kuroさん、こんにちは。

    enno.jpという文章校正ツールにCHANGELOG.txtの文章(93,865文字)を貼り付けて誤字脱字チェックをしたところ、いくつか誤字脱字が見つかったため報告します。

    1. 読点の前後の余分な半角空白
    • 「## 3.7.7 (2024-11-17)」の「- [大きいフォント サイズ] 、[小さいフォント サイズ] コマンドのショートカット キーの初期値に [Ctrl + ;]、[Ctrl + -] を追加」
      • 「[大きいフォント サイズ]」の後
    • 「## 3.6.1 (2023-10-17)」の「- [名前を付けて保存] のとき、マクロの [ファイルを保存する前] イベントと、 プラグインの EVENT_FILE_SAVING でファイル名を取得できるようにした」
      • 「マクロの [ファイルを保存する前] イベントと、」の後
    • 「## 3.3.7 (2022-06-25)」の「- その代わり、 [タブとウィンドウ] に [外部から開く時] のオプションを追加」
      • 「その代わり、」の後
    • 「## 2.6.12 (2018-10-13)」の「- [マーカー] 、 [自動マーカー] 、 [検索した文字列] 、 [不正なスペル] のスタイルを下の強調表示のスタイルが透過するようにした」
      • 「[マーカー]」の後
      • 「[自動マーカー]」の前後(2箇所)
      • 「[検索した文字列]」の前後(2箇所)
      • 「[不正なスペル]」の前
    • 「## 2.6.12 (2018-10-13)」の「- [次の変更行] 、 [前の変更行] のコマンドを [編集] カテゴリに追加 (メニューには表示していませんのでポップアップメニューやショートカットに割り当てて使用します)」
      • 「[次の変更行]」の後
      • 「[前の変更行]」の前
    • 「## 2.6.0 (2017-05-11)」の「- マーカー機能を付けてみた (ポップアップメニューをカスタマイズしている場合はメニューに反映されないので、リセットするか手動で [ツール] カテゴリの [マーカーに追加/削除] を追加してください。あと、 [表示] → [ツール バー] から [マーカーバー] を表示すれば便利です)」
      • 「あと、」の後
    • 「## 0.3.4.1508 (2008-12-16)」の「- ブックマークのショートカットとマクロ実行のショートカットがかぶっていたので、マクロ記録 [SHIFT+F4] 、マクロ実行 [F4] に泣く泣く変更」
      • 「マクロ記録 [SHIFT+F4]」の後
    1. 余分な文字
    • 「## 2.0.3.3662 (2012-07-06)」の「- 編集モードの設定でで Access Violation が出る不具合を修正 (肝心の処理が抜け落ちていた、そもそも今まで動いていたこと自体が奇跡)」
      • 「編集モードの設定で」→「編集モードの設定で」
    1. い抜き言葉
    • 「## 2.2.0.4910 (2013-11-16)」の「- メッセンジャープラグインは文書の送信ができなくなってる」
      • 「できなくなってる」→「できなくなってる」
    • 「## 2.0.11.3997 (2012-10-24)」の「- プラグイン仕様を若干変更 (旧アウトライン プラグインは使えなくなってる)」
      • 「使えなくなってる」→「使えなくなってる」
    1. ら抜き言葉
    • 「## 0.3.3.1436 (2008-11-07)」の「- アウトラインの右クリックメニューで解析パターンを切り替えれるようにした」
      • 「切り替えれるようにした」→「切り替えれるようにした」

    よって、上記の誤字脱字を修正してもらえませんか?

     |  MSY-07  |  返信
  26. こんにちは。ご報告ありがとうございます。

    うーん、困っちゃいましたね。「1. 読点の前後の余分な半角空白」と「2. 余分な文字」については書き間違いなので修正しますが、「3. い抜き言葉」と「4. ら抜き言葉」については、そのままにさせていただければ嬉しいです。

    それを言い出すと、昔の更新内容には「あんまり」や「ちょろっと」、「されちゃう」や「バグってた」など、カジュアルな言い回しがあったり、方言が混じっていたりもするので、全部書き直すことになってしまいます。

    そのあたりは、昔のフリーソフトらしいノリを感じてもらえる「黒歴史」として、温かく見守っていただけるとありがたいです。

     |  Kuro  |  返信
  27. ご返信ありがとうございます。

    > うーん、困っちゃいましたね。「1. 読点の前後の余分な半角空白」と「2. 余分な文字」については書き間違いなので修正しますが、「3. い抜き言葉」と「4. ら抜き言葉」については、そのままにさせていただければ嬉しいです。

    「3. い抜き言葉」と「4. ら抜き言葉」については、よくよく考えると言い方の問題なので無視してください。

    > それを言い出すと、昔の更新内容には「あんまり」や「ちょろっと」、「されちゃう」や「バグってた」など、カジュアルな言い回しがあったり、方言が混じっていたりもするので、全部書き直すことになってしまいます。
    >
    > そのあたりは、昔のフリーソフトらしいノリを感じてもらえる「黒歴史」として、温かく見守っていただけるとありがたいです。

    「黒歴史」を読むのも1つの楽しみなので、そこは修正しない方がいいですね😊

     |  MSY-07  |  返信
  28. こんばんは。該当箇所についてはひとまず修正しましたので、次のバージョンでは反映されていると思います。

    > 「3. い抜き言葉」と「4. ら抜き言葉」については、よくよく考えると言い方の問題なので無視してください。

    ご理解いただきありがとうございます。テキストエディターを開発しているのに、正しい日本語を使っていないと叱られたらどうしようかと心配してました😅

    さすがに最近は、インターネット上に公開するものとして、(ある程度は) 適切な言葉選びを心がけています。(炎上とか誹謗中傷とか、本当に怖いですからね…)

    > 「黒歴史」を読むのも1つの楽しみなので、そこは修正しない方がいいですね😊

    改めて読み返してみると、昔のインターネットの雰囲気が感じられますね。今の時代にこんな書き方をしてたら、きっとすぐに炎上しちゃいそうです。

    当時のフリーソフトって面白くて、開発者とユーザーさんが近い距離感で、日記サイトのコメント欄でワイワイやりとりしながら作っていたので、ついついそのノリが出ちゃってますね。

    まさに「黒 (Kuro) 歴史」です…。さて、今夜も冷え込むみたいです。(昔のノリっぽい感じで〆てみましたw)

     |  Kuro  |  返信
  29. ご返信ありがとうございます。

    > こんばんは。該当箇所についてはひとまず修正しましたので、次のバージョンでは反映されていると思います。

    ご対応ありがとうございます。

    > ご理解いただきありがとうございます。テキストエディターを開発しているのに、正しい日本語を使っていないと叱られたらどうしようかと心配してました😅
    >
    > さすがに最近は、インターネット上に公開するものとして、(ある程度は) 適切な言葉選びを心がけています。(炎上とか誹謗中傷とか、本当に怖いですからね…)

    私としては文章の内容が理解できて不快でなければ、どのような書き方をしてても良いと思っています。

    > 改めて読み返してみると、昔のインターネットの雰囲気が感じられますね。今の時代にこんな書き方をしてたら、きっとすぐに炎上しちゃいそうです。
    >
    > 当時のフリーソフトって面白くて、開発者とユーザーさんが近い距離感で、日記サイトのコメント欄でワイワイやりとりしながら作っていたので、ついついそのノリが出ちゃってますね。

    このノリは楽しそうですね(´▽`)

    > まさに「黒 (Kuro) 歴史」です…。さて、今夜も冷え込むみたいです。(昔のノリっぽい感じで〆てみましたw)

    おあとがよろしいようで(笑)

     |  MSY-07  |  返信
  30. >> Kuroさん

    メリークリスマス、そしてVer 3.7.9のリリースお疲れさまでした🎉

    CHANGELOG.txtを確認しましたが、「読点の前後の余分な半角空白」と「余分な文字」が除去されているのを確認しました。

    また、「ら抜き言葉」に関しても追加で修正されているのを確認しました。

    ご対応いただきありがとうございます😊

     |  MSY-07  |  返信
  31. メリークリスマス!🎄

    ご確認いただきありがとうございます。

    > また、「ら抜き言葉」に関しても追加で修正されているのを確認しました。

    なはは…、黒歴史を見返すと、恥ずかしくなっちゃって、「いっそのこと全部 ChatGPT にぶん投げて校正してもらおうかな…?」なんて考えたのですが、あまりに量が多くて、自分でチェックするのがめちゃくちゃ大変そうだったので諦めました😅

    そういえば、今回の更新分、Markdown 的な確認をすっかり忘れてました!でも、問題なさそうかな…😮‍💨

     |  Kuro  |  返信
  32. 「Mery」の開発ありがとうございます。

    大石剛司です。

    フォーラム内で、Ver 3.7.7 で以下の情報がありました。
    「さらに今回、新しく [コメント行を無視する] オプションをアウトライン プラグインに追加しました。」

    自分で変更したアウトラインを公開したいと思っていますが、できれば最新版と同じ内容にしたいと思っています。

    WEB で公開されている「mery-plugin-outline-master.zip」に、 [コメント行を無視する] を反映させたいのですが、変更部分を教えてもらうことは可能でしょうか?

    よろしくお願いします。

     |  大石剛司  |  返信
  33. ご愛用いただき、ありがとうございます。

    > WEB で公開されている「mery-plugin-outline-master.zip」に、 [コメント行を無視する] を反映させたいのですが、変更部分を教えてもらうことは可能でしょうか?

    [コメント行を無視する] 機能は、プラグインから Mery 本体の構文解析機能を利用する仕組みを使っており、現在はまだベータ検証中のため、現時点ではプラグイン SDK からはご利用いただけません。

    準備が整い次第、最新版の SDK をリリースする予定ですので、今しばらくお待ちください。

    > 自分で変更したアウトラインを公開したいと思っていますが、できれば最新版と同じ内容にしたいと思っています。

    確かに、そのようなサンプルを公開できれば良いのですが、開発環境が Delphi XE2 であることや、Windows 10、11 対応のために Delphi 本体のソースコードを一部改変しているため、ライセンス上オープンソース化が難しい部分があります。

    改変部分を除いてビルド可能な状態にすることはできそうですが、最新版とまったく同じものにするのは難しいかもしれません。

    また、ご注意いただきたい点として、アウトライン プラグインは設定を Mery.ini に書き出す仕様のため、独自の ini ファイルに変更していただくことをおすすめします。

    もしそのままビルドしたものを使用する場合は、同梱のSystem.IniFiles.pas.diffにある差分のとおり、Delphi 側のソースコードを書き換える必要があります。

    これは、Delphi のIniFilesクラスが保存時に値の前後の空白を自動でトリムしてしまう仕様への対応です。

    System.IniFiles.pasを修正せずにそのまま Mery.ini に上書きすると、設定内容が壊れる可能性がありますので、ご注意ください。

    とはいえ、せっかく Delphi 12 も無料で使えるようになりユーザーも増えてきましたので、時間が取れれば最新版のアウトライン プラグインを Delphi 12 でビルドできるよう調整し、さらに Mery.ini に依存しないサンプルとして少し開発してみようかな、とも思いますね。

     |  Kuro  |  返信
  34. アドバイスありがとうございます。また、注意事項もありがとうございます。
    最新版の公開までは、このまま使用します。

    他のプラグインのソースファイルも見直しましたが、追加した機能の書き込みは別の INI ファイルを使用しています。
    ただ、読み込みだけであれば、大丈夫でしょうか?

      //確保
      sStr21 := ChangeFileExt(ParamStr(0), '.ini');
      IniFile := TIniFile.Create(sStr21);
      //設定
      IntLineMargin := IniFile.ReadInteger('General', 'LineMargin',   80);
      IntTabSize    := IniFile.ReadInteger('General', 'TabColumns',    8);
      //破棄
      IniFile.Free;

    よろしくお願いします。

     |  大石剛司  |  返信
  35. ご返信ありがとうございます。

    > 他のプラグインのソースファイルも見直しましたが、追加した機能の書き込みは別の INI ファイルを使用しています。
    > ただ、読み込みだけであれば、大丈夫でしょうか?

    別の INI ファイルを使用しているのであれば問題ありません。また、読み込みだけであれば、Mery.ini を参照しても特に問題はないかと思います。

    ただし、書き込みを行うとすべてのキーの値がトリム (前後の空白が削除) されてしまうため注意が必要です。

    書き込んだキーだけでなく、既存のすべての設定項目に影響が出る可能性があり、Mery 本体の設定にも影響を及ぼしますので、くれぐれもご注意ください。

    それと、プラグイン SDK を最新版 (Mery Ver 3.7.17 対応) に更新しました。Editor_QueryStatusの引数もPBOOLに修正済みです。

    【GitHub】https://github.com/haijinboys/mery-plugin-sdk

    最新版のアウトラインプラグインもオープンソース化に向けて Delphi 12 でビルドできるように調整を進めていますが、なかなか手強いですね。

    というのも、Delphi XE2 で Per-Monitor DPI やダークモード対応を独自に実装しているため、Delphi 12 標準の DPI 機能と競合してしまいますし、ダークモードも Delphi XE2 のソースコードを改変して対応している関係で、ライセンス的にそのコードを公開できないという問題があります。

    なかなか悩ましいところです。

    とはいえ、最新版のプラグイン SDK では新機能のEditor_GetAttrを利用して Mery 側の構文解析情報にアクセスできるようになっているので、アウトラインプラグインの [コメント行を無視する] 機能も比較的簡単に実装できるかと思います。

    ということで、最新版アウトラインプラグインのソースコードから、関連する部分をご紹介します。

    まず、コメント行かどうかを判定するメソッド (mMain.pas) はこちらです。

    function TMainForm.IsCommentLine(ALine: Integer; AText: PChar): Boolean;
    var
      AI: TAttrInfo;
      P: PChar;
    begin
      FillChar(AI, SizeOf(TAttrInfo), #0);
      AI.cbSize := SizeOf(AI);
      AI.nFlags := AI_NEED_ATTR_SUB;
      AI.ptLogical.Y := ALine;
      P := AText;
      while (P^ = ' ') or (P^ = #09) do
      begin
        Inc(P);
        Inc(AI.ptLogical.X);
      end;
      Inc(AI.ptLogical.X);
      Editor_GetAttr(FEditor, @AI);
      if (AI.nAttr and ATTR_COMMENT) <> 0 then
      begin
        AI.ptLogical.X := Length(string(AText));
        Editor_GetAttr(FEditor, @AI);
        if (AI.nAttr and ATTR_COMMENT) <> 0 then
        begin
          Result := True;
          Exit;
        end;
      end;
      Result := False;
    end;
    

    そして、このメソッドをOutlineAllの中で以下のように使用しています。

    procedure TMainForm.OutlineAll;
    var
      I, Len: Integer;
      LList: TOutlineList;
      Text: array [0 .. MaxLineLength - 1] of Char;
      LineInfo: TGetLineInfo;
      OldLine, EmptyLine: Integer;
      Level, NewLevel: Integer;
      ApplyBefore: Boolean;
      CustomBarLevel: Integer;
      Line, Temp: Integer;
      UpdateAll: Boolean;
      FirstUpdate: Integer;
      Src, Dest: Integer;
      LNode: TTreeNode;
      LItem: TOutlineItem;
    begin
      LList := TOutlineList.Create;
      try
        Len := Editor_GetLines(FEditor, POS_LOGICAL);
        OldLine := -1;
        EmptyLine := -1;
        Level := 0;
        LineInfo.flags := FLAG_LOGICAL;
        LineInfo.cch := Length(Text);
        for I := 0 to Len - 1 do
        begin
          if FAbortThread then
            Break;
          LineInfo.yLine := I;
          Text[0] := #0;
          Editor_GetLine(FEditor, @LineInfo, Text);
          // ここでコメント行かどうかをチェック
          if FProp.Comments and IsCommentLine(LineInfo.yLine, Text) then
            Continue;
          CustomBarLevel := 0;
    

    FProp.Commentsは、設定画面の [コメント行を無視する] のオン/オフに対応していますので、適宜 GUI 側で追加していただければと思います。

    そういうわけで、最新版のアウトラインプラグインのソースコードの公開については、まだしばらく時間がかかりそうですが、どうか気長にお待ちいただければと思います。

     |  Kuro  |  返信
  36. 対応ありがとうございます。

    プラグインなので、最新版と同じ機能の実現に関しては、優先順位を下げてもらって結構です。
    これから、組み込んでみます。

    1:INIからでなく、プラグインから以下の情報の取得は可能でしょうか?

    IntLineMargin := IniFile.ReadInteger('General', 'LineMargin',   80);
    IntTabSize    := IniFile.ReadInteger('General', 'TabColumns',    8);

    2:何処かで読んだ記憶があり、「文字列を保存するときに先頭と最後に " を付加する」とありました。
    試験しましたがトリムされないで読み込まれました。
    ちなみに、自分は半角空白が先頭または最後に含まれる文字列を保存する場合は、Ini ファイルでなく、Txt ファイルを使用しています。

    procedure TFormPropaty.Button1Click(Sender: TObject);
    var
      IniFile: TiniFile;
      sStr1: String;
      sStr2: String;
    begin
      //設定
      StrIniFile := ExtractFilePath(ParamStr(0)) + DLL_FOLDER_NAME + '\' + INIFILE_NAME;
      //確保
      IniFile := TIniFile.Create (StrIniFile);
      //設定
      sStr1 :=        Edit5.Text;
      sStr2 :=  '"' + Edit5.Text + '"';
      IniFile.WriteString ('FormPropaty', 'test1', sStr1);
      IniFile.WriteString ('FormPropaty', 'test2', sStr2);
      Edit6.Text  := IniFile.ReadString ('FormPropaty', 'test1',  '');
      Edit7.Text  := IniFile.ReadString ('FormPropaty', 'test2',  '');
      //破棄
      IniFile.Free;
    end;

    よろしくお願いします。

     |  大石剛司  |  返信
  37. ご返信ありがとうございます。

    > 1:INIからでなく、プラグインから以下の情報の取得は可能でしょうか?

    LineMargin (折り返しの文字数) は、プラグインから直接取得できます。

    IntLineMargin := Editor_Info(FEditorHwnd, MI_GET_MAX_LINE_LENGTH, 0);
    

    ただし、これは [指定文字数で折り返し] モードのときに有効です。

    [折り返さない] や [ウィンドウの右端で折り返し] の場合でも値は取得できますが、[指定文字数で折り返し] における値が返ってきます。

    TabColumnsについては INI ファイルからの取得になりますが、こちらはオプション画面でしか変更できないため、INI に反映されていないというケースはまずないかと思います。

    一方、LineMarginはルーラーをドラッグして変更した場合など、INI に反映されないケースがあるため、プラグインから直接取得したほうが確実だと思います。

    > 2:何処かで読んだ記憶があり、「文字列を保存するときに先頭と最後に " を付加する」とありました。

    なるほど、それは知りませんでした。

    たしかに、TIniFile を使う場合、その方法で文字列の前後の空白などがトリムされるのを防げますね。

    調べてみたところ、TIniFile は Windows の INI API を使っているため、一般的な INI ファイルの仕様に沿って"文字列"と書くと、自動的に引用符は取り除かれて読み込まれるようです。

    私は TMemIniFile を使っているのですが、こちらは Delphi の独自実装のため、" で囲んでもそのまま読み込まれてしまうようです。(書き込み時は囲まれますが、読み取り時に自動で " が除去されません)

    このあたりは、用途に応じて TIniFile と TMemIniFile を使い分けるのが良さそうですね。勉強になりました。

     |  Kuro  |  返信
  38. Kuroさん、こんにちは。

    Mery Ver 3.7.18に同梱されているCHANGELOG.txtを確認したところ、修正してほしい箇所が3つあったのでご報告いたします。

    1.文章の途中で改行されている

    1つ目は、文章の途中で改行されている箇所があるため、文章の途中の改行を除去して1つの文章にまとめてもらえませんか?

    • バージョン:「## 2.5.4 (2016-09-23)」
      • 改行前:「仮想デスクトップで複数のデスクトップで Mery を起動できない対策として外部から起動時に新規の場合は新しいウィンドウ、既存のファイルを開いた場合は最近」
      • 改行後:「使ったウィンドウの新しいタブで開く隠しオプションを追加 (Mery.ini の [General] セクションに OpenIn=1 を追記)」
      • 参照元:テキストエディター「Mery」Ver 2.5.4
    • バージョン:「## 2.4.0.5701 (2015-06-20)」
      • 改行前:「マクロのインクルードファイルのパスが実行元のマクロファイルからの相対」
      • 改行後:「パスになっていたのを変更 (インクルード元のファイルからの相対パス、[My Macros] からの相対パス、実行元のファイルからの相対パスの順に検索します)」
      • 参照元:テキストエディター「Mery」Ver 2.4.0
    • バージョン:「## 2.1.3.4565 (2013-03-14)」
      • 改行前:「F6 でアウトラインにフォーカスを移した後にウィンドウを非アクティブにして戻した」
      • 改行後:「場合にフォーカスがどっか行く不具合を修正」
      • 参照元:Mery 2.1.3.4565
    • バージョン:「## 1.0.13.2718 (2010-02-23)」
      • 改行前:「その副作用でマルチモニタの場合でもウィンドウ位置が保存されるようになった」
      • 改行後:「のでモニタの数が変わった時にはウィンドウ位置を復元しないように修正」
      • 参照元:Mery 1.0.13.2718 (ベータ版)

    2.本来は括弧でくくった方が読みやすい箇所がくくられていない

    2つ目は、本来は括弧でくくった方が読みやすい箇所がくくられていないため、文末の文章を括弧でくくってもらえませんか?

    • バージョン:「## 3.1.0 (2020-09-16)」
      • 修正前:「[起動時にウィンドウの位置とサイズを復元する] で [位置] と [サイズ] を個別に設定できるようにした。チェックをオフにした場合は前回終了時の位置、サイズを復元します」
      • 修正後:「[起動時にウィンドウの位置とサイズを復元する] で [位置] と [サイズ] を個別に設定できるようにした (チェックをオフにした場合は前回終了時の位置、サイズを復元します)」
      • 参照元:テキストエディター「Mery」アルファ版 Ver 3.1.0 を公開、DirectWrite の高速化と鬼車の試験的実装
    • バージョン:「## 3.0.4 (2020-06-23)」
      • 修正前:「マクロの ScrollY プロパティとプラグインの Editor_SetScrollPos、Editor_GetScrollPos メソッドにスクロールマージンを含めないようにした。オーバースクロールやタイプライター スクロールでもスクロール位置の保存、復元ができるようになりますが、副作用でアウトライン プラグインにおけるジャンプ先はスクロールマージンが含まれない位置となります」
      • 修正後:「マクロの ScrollY プロパティとプラグインの Editor_SetScrollPos、Editor_GetScrollPos メソッドにスクロールマージンを含めないようにした (オーバースクロールやタイプライター スクロールでもスクロール位置の保存、復元ができるようになりますが、副作用でアウトライン プラグインにおけるジャンプ先はスクロールマージンが含まれない位置となります)」
      • 参照元:テキストエディター「Mery」ベータ版 Ver 3.0.4 を公開、矩形編集とマルチカーソルに対応
    • バージョン:「## 2.4.7.6369 (2015-12-24)」
      • 修正前:「ファイルを開く前にバイナリかどうかチェックするようにした。誤ってバイナリをドロップしてしまった際にもキャンセルできるが、空のタブが残るのはご愛敬」
      • 修正後:「ファイルを開く前にバイナリかどうかチェックするようにした (誤ってバイナリをドロップしてしまった際にもキャンセルできるが、空のタブが残るのはご愛敬)」
      • 参照元:テキストエディター「Mery」Ver 2.4.7
    • バージョン:「## 2.2.0.4910 (2013-11-16)」
      • 修正前:「表示->アウトプット、ツール->外部ツール->ツールジョブの中止のメニュー追加に伴い MEID を振り直した」改行後「マクロの ExecuteCommandByID (非推奨)、プラグインの Editor_ExecCommand (非推奨) を使用している場合は修正が必要。互換性を重視してケツに番号追加すれば良いんだけど、ソースの見た目が汚くなるのが許せなくて……すみません」
      • 修正後:「表示->アウトプット、ツール->外部ツール->ツールジョブの中止のメニュー追加に伴い MEID を振り直した (マクロの ExecuteCommandByID (非推奨)、プラグインの Editor_ExecCommand (非推奨) を使用している場合は修正が必要。互換性を重視してケツに番号追加すれば良いんだけど、ソースの見た目が汚くなるのが許せなくて……すみません)」
      • 参照元1:テキストエディター「Mery」Ver 2.2.0
      • 参照元2:Mery Ver 2.8.7に同梱されているMery.txtの更新履歴セクション「▼ 2013/11/16 (2.2.0.4910)」
    • バージョン:「## 2.0.7.3892 (2012-08-13)」
      • 修正前:「ポップアップ メニュー設定のサブメニューが保存されない不具合を修正」改行後「ポップアップ メニューが英語のような標記になってしまう場合は一度、INI ファイルを削除するか、ポップアップ メニュー設定のリセットをしてみてください」
      • 修正後:「ポップアップ メニュー設定のサブメニューが保存されない不具合を修正 (ポップアップ メニューが英語のような標記になってしまう場合は一度、INI ファイルを削除するか、ポップアップ メニュー設定のリセットをしてみてください)」
      • 参照元:Mery 2.0.7.3892, Alpha

    3.文章が長すぎて見づらい箇所がある

    3つ目は、文章が長すぎて見づらい箇所があるため、文章を複数の箇条書きに分割してもらえませんか?

    なお、分割後の文章はタブでインデントしてもらえると見やすいと思われます。

    • バージョン:「## 2.6.15 (2019-02-27)」
      • 分割前:「プラグイン読み込み時のチェックを厳密にした。64 ビットの本体に 32 ビット用のプラグインを導入してエラー (またはその逆も) という問い合わせがあるので、そもそもプラグインの仕様に沿っていないものは読み込まないようにしました。この仕様変更により読み込めなくなったプラグインがあれば教えていただけると助かります (OnCommand、QueryStatus、GetMenuTextID、GetStatusMessageID、GetIconID、OnEvents、PluginProc のメソッドが実装されているかをチェックします)」
      • 分割後1:「プラグイン読み込み時のチェックを厳密にした」
        • 分割後2:「64 ビットの本体に 32 ビット用のプラグインを導入してエラー (またはその逆も) という問い合わせがあるので、そもそもプラグインの仕様に沿っていないものは読み込まないようにしました。この仕様変更により読み込めなくなったプラグインがあれば教えていただけると助かります (OnCommand、QueryStatus、GetMenuTextID、GetStatusMessageID、GetIconID、OnEvents、PluginProc のメソッドが実装されているかをチェックします)」
      • 参照元1:テキストエディター「Mery」ベータ版 Ver 2.6.15 を公開
      • 参照元2:Mery Ver 2.8.7に同梱されているMery.txtの更新履歴セクション「▼ 2019/02/27 (2.6.15)」
     |  MSY-07  |  返信
  39. ご報告ありがとうございます。

    > 1.文章の途中で改行されている

    こちらは誤って改行が入ってしまったようです。修正しておきますね。

    > 2.本来は括弧でくくった方が読みやすい箇所がくくられていない
    > 3.文章が長すぎて見づらい箇所がある

    この点については、特に括弧でくくる意図はなく、文を「。」で区切っているため、そのように見えているのかもしれません。

    なお、箇条書きのテキストでは行末に「。」を付けないスタイルにしていますが、文の途中で「。」を入れて区切るのは一般的な書き方かと思いますので、ご理解いただければ幸いです。

    また、文章が長く見づらい場合は、お手数ですが折り返し表示などを使って読みやすい形に調整していただければと思います。

     |  Kuro  |  返信
  40. ご返信ありがとうございます。

    > こちらは誤って改行が入ってしまったようです。修正しておきますね。

    よろしくお願いします。

    > この点については、特に括弧でくくる意図はなく、文を「。」で区切っているため、そのように見えているのかもしれません。
    >
    > なお、箇条書きのテキストでは行末に「。」を付けないスタイルにしていますが、文の途中で「。」を入れて区切るのは一般的な書き方かと思いますので、ご理解いただければ幸いです。

    承知いたしました。

    > また、文章が長く見づらい場合は、お手数ですが折り返し表示などを使って読みやすい形に調整していただければと思います。

    承知いたしました。

    それと、追加で2つの修正提案があります。

    4.2つの文章が誤って1つの文章にまとめられている

    4つ目は、2つの文章が誤って1つの文章にまとめられている箇所があるため、該当する文章を2つの文章に分割してもらえませんか?

    • バージョン:「## 2.7.2 (2019-04-12)」
      • 分割前:「マクロの NextBookmark と PreviousBookmark を新しいブックマークに対応させたマクロで Chakra (jscript9.dll) における Quit メソッドをサポート外にしたヤツを既存のマクロになるべく影響を与えないように対策してみた」
      • 分割後1:「マクロの NextBookmark と PreviousBookmark を新しいブックマークに対応させた」
      • 分割後2:「マクロで Chakra (jscript9.dll) における Quit メソッドをサポート外にしたヤツを既存のマクロになるべく影響を与えないように対策してみた」
      • 参照元:テキストエディター「Mery」ベータ版 Ver 2.7.4 を公開、スクロールバーマーカーに対応!

    5.丸括弧の前後に半角空白がない

    5つ目は、文章中の丸括弧の前後に半角空白がない箇所があるため、丸括弧の前後に半角空白を挿入してもらえませんか?

    • 1103行目:「ファイルから置換で正規表現のファイルの先頭(\A)にヒットしなかったのを修正」の「(\A)」の前後
    • 1285行目:「マクロで Chakra(jscript9.dll)における Quit メソッドをサポート外にした」の「(jscript9.dll)」の前後
    • 1333行目:「カスタムフォントをプライベート(FR_PRIVATE)にした」の「(FR_PRIVATE)」の前後
    • 1382行目:「画面上の行数が 5 行未満(ウィンドウサイズが小さいとき)のスクロールの挙動を修正」の「(ウィンドウサイズが小さいとき)」の前後
    • 1398行目:「半角空白(U+0020)を含む結合文字を描画できるようにした」の「(U+0020)」の前後
    • 1407行目:「DirectWrite で U+200D(ゼロ幅接合子)の描画を修正」の「(ゼロ幅接合子)」の前後
    • 1412行目:「プラグイン イベント EVENT_CREATE の HiWord(lParam)に Application.Handle を格納していたけど桁が溢れていたので仕様変更」の「(lParam)」の前後
    • 1440行目:「[EOF] (ファイルの終端)を [←] 表記に変更」の「(ファイルの終端)」の後
    • 1524行目:「カーソル位置やブックマーク(his ファイル)を保存時に更新するようにした」の「(his ファイル)」の前後
    • 1633行目:「コモンダイアログを Per-Monitor DPI(仮想)に対応」の「(仮想)」の前後
    • 1660行目:「全画面表示解除の領域(画面上部)を 2px から 4px に増やした」の「(画面上部)」の前後
    • 1676行目:「アウトラインの初期状態の展開レベル(既定レベル)を指定できるようにした」の「(既定レベル)」の前後
    • 1914行目:「Windows 7 + Google 日本語入力(IMM)で発生する不具合を修正」の「(IMM)」の前後
    • 1952行目:「印刷時に背景色と文字色(透過色)は無視するようにした」の「(透過色)」の前後
    • 1974行目:「ショートカットファイル(.lnk)をドラッグ アンド ドロップした時の処理を修正」の「(.lnk)」の前後
    • 1999行目:「既定のエンコードが UTF-16 で ASCII 文字のみのファイルを開いたときに Mery 標準のエンコードである UTF-8(BOM 無し)を適用するようにしてみた」の「(BOM 無し)」の前後
    • 2200行目:「○ 必要に応じてインデックスを作成(強調文字なしの場合はインデックス不要)」の「(強調文字なしの場合はインデックス不要)」の前
    • 2594行目:「[次の文字列を検索] のアクセラレータキー(W)が重複していたのを修正」の「(W)」の前後
     |  MSY-07  |  返信
  41. ご報告ありがとうございます。

    > 5.丸括弧の前後に半角空白がない

    こちらは、## 2.8.8 (2019-12-24)に書かれている “Microsoft スタイル ガイド” に準拠する前の内容なので、ガイド適用前の表記になりますね。

    半角スペースの有無や細かい表記は、あちこちでバラつきがあるかと思います。

    気が向いたときにまとめて直すこともありますが、基本的には過去の内容で、今の運用や機能には影響がないので、今回は対応を見送らせてください。

    また、細かい確認や修正は意外と手間がかかりますし、ブログ記事と CHANGELOG の二重管理にもなっているので、今後は CHANGELOG の同梱はやめようと思っています。

     |  Kuro  |  返信
  42. ご返信ありがとうございます。

    > 半角スペースの有無や細かい表記は、あちこちでバラつきがあるかと思います。
    >
    > 気が向いたときにまとめて直すこともありますが、基本的には過去の内容で、今の運用や機能には影響がないので、今回は対応を見送らせてください。

    承知いたしました。

    あと、今の運用や機能には影響がない指摘ばかりですいませんでした(どうも気になってしまって)😓

    > また、細かい確認や修正は意外と手間がかかりますし、ブログ記事と CHANGELOG の二重管理にもなっているので、今後は CHANGELOG の同梱はやめようと思っています。

    確かに変更ログはブログ記事で確認できるので、CHANGELOGを同梱する必要はなさそうですね。

     |  MSY-07  |  返信
  43. > あと、今の運用や機能には影響がない指摘ばかりですいませんでした(どうも気になってしまって)😓

    いえいえ、大丈夫ですよ。"Microsoft スタイル ガイド" に沿うようになってからは、できるだけ半角スペースにも気を付けています。ただ、それ以前は特にルールがなかったので、多少ゆらぎがあるのはご勘弁ください。

    誤字や脱字を見つけていただけるのは本当に助かります🙏

    ただ、あまりに細かい修正リクエストになると、すべてに対応できないこともあります。

    「い抜き言葉」「ら抜き言葉」「括弧の有無」「半角スペース」などが気になるお気持ちはよく分かりますが、そのあたりはどうかご理解ください。

    文章の書き方は人によっても時代によっても変わるものです。なので、CHANGELOG については細かい部分まで突っ込まないでいただけると嬉しいです。

    MeryWiki についても同じで、今後の更新のためにもご配慮いただければ助かります。念のため、利用規約には「作者は修正や加筆の義務を負わない」と追記しておきました。

    私自身、文章を書くのが得意ではないので、あまり細かなご指摘が続くとちょっと筆が重くなってしまうこともあります😅

    その点はどうか温かく見守っていただけるとありがたいです。

     |  Kuro  |  返信
  44. いつもこのやりとり見てるんですが。
    神対応すぎですね。

     |  TN24  |  返信
  45. >> Kuroさん

    > いえいえ、大丈夫ですよ。"Microsoft スタイル ガイド" に沿うようになってからは、できるだけ半角スペースにも気を付けています。ただ、それ以前は特にルールがなかったので、多少ゆらぎがあるのはご勘弁ください。

    分かりました。

    > ただ、あまりに細かい修正リクエストになると、すべてに対応できないこともあります。
    >
    > 「い抜き言葉」「ら抜き言葉」「括弧の有無」「半角スペース」などが気になるお気持ちはよく分かりますが、そのあたりはどうかご理解ください。

    正直、上記の4つの修正リクエストに関してはやり過ぎたと反省しています😓

    > 文章の書き方は人によっても時代によっても変わるものです。なので、CHANGELOG については細かい部分まで突っ込まないでいただけると嬉しいです。

    今後はもしCHANGELOGが同梱され続けたとしても、文章の途中で改行されている場合や、誤字脱字など必要最低限の報告に留めることとします。

    > MeryWiki についても同じで、今後の更新のためにもご配慮いただければ助かります。念のため、利用規約には「作者は修正や加筆の義務を負わない」と追記しておきました。

    今後はMeryWikiについてはURLのリンク切れなど必要最低限の報告に留めることとします。

    > 私自身、文章を書くのが得意ではないので、あまり細かなご指摘が続くとちょっと筆が重くなってしまうこともあります😅
    >
    > その点はどうか温かく見守っていただけるとありがたいです。

    今後は細かい指摘はしないようにします。

    本当に色々すいませんでした😓

    >> TN24さん

    > いつもこのやりとり見てるんですが。
    > 神対応すぎですね。

    本当にその通りですね。

     |  MSY-07  |  返信
スポンサーリンク