◀ドキュメントトップへ
  • 344 ヘルプのコメント(rev.1135)
    • 345 RE: ヘルプのコメント(rev.1135)
    • 346 RE: ヘルプのコメント(rev.1135)
      • 347 RE2: ヘルプのコメント(rev.1135)
    • 348 Re:ヘルプのコメント(rev.1135)
      • 349 Re2:ヘルプのコメント(rev.1135)
      • 351 Re2:ヘルプのコメント(rev.1135)
        • 352 Re3:ヘルプのコメント(rev.1135)
          • 355 Re4:ヘルプのコメント(rev.1135)
            • 356 Re5:ヘルプのコメント(rev.1135)
              • 357 Re6:ヘルプのコメント(rev.1135)
                • 358 Re7:ヘルプのコメント(rev.1135)
                  • 360 Re8:ヘルプのコメント(rev.1135)
                  • 361 正規表現で行頭の制限
  • [344] ヘルプのコメント(rev.1135) げんた 2007年09月30日 00:06

    まず,sakura.hhc, sakura.hhk, sakura.hhpがsvn:ignoreに指定されているにもかかわらず追加commitされているようですが...

    ▼[HLP000005.html] 他
    『VisualStyle化』『UAC対応化』『マルチユーザー化』という言葉にどうも違和感があるように感じられます.

    『VisualStyle化』→『VisualStyleを有効にする』

    『UAC対応化』→『VirtualStoreを無効にする』

    『マルチユーザー化』→『個別プロファイルの利用』(は飛躍しすぎでわかりにくいか...)
    『設定のユーザ毎管理』『設定の個別保存』
    なんか良い言葉ないですかね...

    >詳しくはUAC対応化およびマルチユーザー化の頁参照
    「の頁」は不要.

    >パッケージ版のアンインストールでは、sakura.ini は削除しないようになっています。
    削除しないようになっています→削除されません

    *サクラエディタが作成する作業ファイルについて
    sakura.exeのあるフォルダに以下のファイルが作成されます。
    →マルチユーザの場合はsakura.exe.iniで指定された保存先.

    ▼[HLP000006.html]
    正規表現の違いについて(別途確認します.)

    ▼[HLP000010.html] ツールバーアイコンの変更手順
    >これは以前のバージョンが間違えていたわけではなく、過去の経緯によるものなので仕様と理解してください。
    以降の部分はヘルプとしては不要な気がしますけど.
    「仕様と」→「仕様変更と」の方がbetter.

    (HLP000149.htmlも同様)

    アイコンファイルの作成について
    URLが2つ紹介してありますが,この部分は外部リンクにした方が良いのでは?

    ▼[HLP000148.html] 「検索」タブ
    画像が古いです.(正規表現ライブラリを指定した場合は指定以外のDLLを確認しないので「優先」という言葉はやめました.)
    ちなみにbregonigも1.41aが最新.

    ▼[HLP000260.html] アプリアイコン
    >サクラエディタと同じフォルダ
    「あるいは設定フォルダに」を追加
    • [345] RE: ヘルプのコメント(rev.1135) maru 2007年09月30日 01:20

      ご確認ありがとうございます。たくさん宿題来ましたね(^^;

      >まず,sakura.hhc, sakura.hhk, sakura.hhpがsvn:ignoreに指定されているにもかかわらず追加commitされているようですが...
      help側のtrunkなんて誰も見てないだろうと思っていましたが、よく気が付きましたね・・・。
      さて、この3つのファイルですが、今までヘルプマシンの形式で配布していましたが、HTML Workshopの形式で管理したほうがメリットが大きいように思えてきて、運用の変更を企てています。

      以前にもここの掲示板に投稿したようにヘルプマシンのUIによる恩恵よりも、メンテナンスの面倒くささが気になっていました。ひとつだけ欠点が、HTML Workshopが持つバグのため、HTML workshopでhhcを編集保存するとmergeファイル指定の記述が壊れてしまいます。ただ、hhcをエディタで編集してしまえば何の問題も起こらないので、hhcをエディタでメンテしやすい構造に書き直してみました。

      一応ヘルプマシンにも戻れるように、とりあえず今回は両方ぶらさげておいて、今回提案するhhcを、みなさん(って誰だろ?)に確認いただいたのち、反対が無ければXHPとXHCは削除したい考えです。

      svn:ignore・・・?
      それってクライアント側の動作設定かと思っていました。というか、うろ覚え(汗)

      * 一旦ここまで。ヘルプの内容への指摘については分離します。
    • [346] RE: ヘルプのコメント(rev.1135) maru 2007年09月30日 02:13

      >▼[HLP000005.html] 他
      >『VisualStyle化』『UAC対応化』『マルチユーザー化』という言葉にどうも違和感があるように感じられます.
      完成度を気にしないといいましたが、ここだけは気になります。ユーザーへの影響も強いので。

      >『VisualStyle化』→『VisualStyleを有効にする』
      >『UAC対応化』→『VirtualStoreを無効にする』
      文章中はご指摘のように修正したとして、タイトルに『VisualStyleを有効にする/VirtualStoreを無効にする』だと長たらしい感じが。
      そもそもVisualStyleとVirtualStoreは解説ページを分けた方がいいのかもしれませんねぇ。VirtualStoreの説明が下のほうに潜ると見つけにくいし。ページを分けた上で、タイトルは単に『VisualStyle』『virtualStore』にする方向で考ます。

      >『マルチユーザー化』→『個別プロファイルの利用』(は飛躍しすぎでわかりにくいか...)
      >『設定のユーザ毎管理』『設定の個別保存』
      >なんか良い言葉ないですかね...
      タイトルに『ユーザー別設定』として、文章中では「<a>ユーザー別設定</a>を行うときは・・・」みたいな感じでどうですか。

      その他のご指摘事項は修正しました。
      • [347] RE2: ヘルプのコメント(rev.1135) げんた 2007年09月30日 02:23

        >>『VisualStyle化』→『VisualStyleを有効にする』
        >>『UAC対応化』→『VirtualStoreを無効にする』
        >文章中はご指摘のように修正したとして、タイトルに『VisualStyleを有効にする/VirtualStoreを無効にする』だと長たらしい感じが。
        >そもそもVisualStyleとVirtualStoreは解説ページを分けた方がいいのかもしれませんねぇ。VirtualStoreの説明が下のほうに潜ると見つけにくいし。ページを分けた上で、タイトルは単に『VisualStyle』『virtualStore』にする方向で考ます。
        >
        >>『マルチユーザー化』→『個別プロファイルの利用』(は飛躍しすぎでわかりにくいか...)
        >>『設定のユーザ毎管理』『設定の個別保存』
        >>なんか良い言葉ないですかね...
        >タイトルに『ユーザー別設定』として、文章中では「<a>ユーザー別設定</a>を行うときは・・・」みたいな感じでどうですか。
        じゃあ,これで.(あっさり)

        正規表現の違いについて「別途」と書きましたが,Bregexpで使える物がどれだかよくわからず,個別に確認すると激しく大変なことに気付きました.
    • [348] Re:ヘルプのコメント(rev.1135) K.Takata 2007年09月30日 08:20

      > ▼[HLP000006.html]
      > 正規表現の違いについて(別途確認します.)

      まずは、Bregexp.dllでも使えるものについて。

      >パターンについて
      >. \nを除く任意の1文字 [.\n]と同じ
      「[^\n]と同じ」の誤記?


      >使える(かもしれない)直前のパターンの数量子
      ・? の最小一致である ?? の記載がありません。
      ・m は省略可能であることを記載するか、別途 {n,} と {n,}? の欄を作った方が
      良いかもしれません。
      ・{n} と同じ意味で {n}? も使えます。
      ・最大一致(欲張りな量指定子)と最小一致(無欲な量指定子)は別の表にしても
      良いかもしれません。


      >使える(かもしれない)エスケープシーケンス
      >\b 単語の境界(SJIS未対応)
      ・「SJIS未対応」の意味がよく分かりません。\w に合わせて、「英単語の境界」に
      した方が良いかもしれません。
      ・[ ] の中で \b を使うと、バックスペース(BS)の意味になることも記載した方が
      良いかもしれません。

      >\Z 文字列の最後
      一般的な意味は、「文字列の最後、または文字列の最後の改行の直前」です。
      sakuraの改行の扱いに合わせて適宜修正すべきだと思います。

      >\n ( )でグループ化した文字列を指定する(nは1) 置換文字列などに使用できます
      「(nは1)」は変です。「(nは1以上の整数)」等でしょうか。
      また、Perl では、置換文字列には、\n より $n が推奨されています。
      (sakuraで使うにはどちらでも良いかもしれませんが。)

      Bregexp.dll では \G は使えないことになっていますが、全く使えないわけではなく、
      限定的に使用可能です。
      検索では使い道はなさそうですが、置換では有用な場合もあるかもしれません。
      http://homepage3.nifty.com/k-takata/diary/2007-09.html#22a


      ▼拡張式集合
      (?...) 形式の拡張正規表現については、Bregexp.dll のドキュメントには
      何も書かれていませんが、以下のものが使えます。

      (?#...) 注釈
      (?imsx) 孤立オプション
      i: 大文字小文字照合
      m: 複数行 (sakuraではデフォルトでon?)
      s: 単一行 (. が \n にもマッチ)
      x: 拡張形式(空白を無視、# 以降を無視)

      (式) 捕獲式集合
      (?:式) 非捕獲式集合 (グループ化のみ)

      (?=式) 先読み
      (?!式) 否定先読み

      ・用語は鬼車のドキュメントから持ってきましたので、必要に応じて変更すべきかも
      しれません。
      ・sakuraが複数行の検索に対応していないことを考えると、(?m) の記載はあまり
      意味がないかもしれません。
      ・Perl 5.005 から使えるようになった、
      (?-imsx), (imsx-imsx:式), (?<=式), (?<!式), (?>式) は、
      bregonig.dll では使用できますが、Bregexp.dll では使用できません。
      • [349] Re2:ヘルプのコメント(rev.1135) K.Takata 2007年09月30日 10:08

        > > ▼[HLP000006.html]
        > > 正規表現の違いについて(別途確認します.)

        続いて bregonig.dll について。

        ▼Bregexp.dll との非互換点
        ・\w は2バイト文字も含む。
        何度も書いていますが、\w は [A-Za-z0-9_] に加え、2バイト文字も含みます。
        これに応じて、\W, \b, \B の動作も変更になります。
        ・[ ] の中に [ を書くときは必ずエスケープが必要。
        文字集合の中で文字集合や積演算が使えるようになる代わりに、
        [ そのものを書くときは必ず \[ と書かなければならなくなりました。
        ・\c\ の動作が異なる。
        Bregexp.dll では、\c\ は Ctrl+\ を意味していますが、bregonig.dll では、
        \c の次の \ はエスケープとして解釈されます。Ctrl+\ を指定するには \c\\
        とする必要があります。(Perl の仕様と異なるため、変更の可能性があります。)
        ・置換で \nnn の動作が少し異なる。
        Perl の動作に近づけてあります。


        ▼機能拡張点1
        bregonig.dllで検索に使える機能拡張点には以下のものがあります。

        ▽エスケープシーケンス
        \x{HHHH} 拡張十六進数表現

        \z 文字列末尾

        \p{property-name} キャラクタプロパティ
        \p{^property-name} キャラクタプロパティ(否定)
        \P{property-name} キャラクタプロパティ(否定)

        \k<name>, \k'name' 名前指定後方参照
        \k<name+n>, \k<name-n> ネストレベル付き後方参照
        \k'name+n', \k'name-n' ネストレベル付き後方参照

        \g<name>, \g'name' 名前指定部分式呼出し
        \g<n>, \g'n' 番号指定部分式呼出し

        ▽文字集合
        [ ] の中に以下のものが指定可能です。

        [...] 文字集合内文字集合
        ..&&.. 積演算
        POSIXブラケット ([:xxxxx:], 否定 [:^xxxxx:])

        ▽拡張式集合
        (?imsx-imsx) 孤立オプション(オプションの否定が可能になった。)
        (imsx-imsx:式) 式オプション
        (?<=式) 戻り読み
        (?<!式) 否定戻り読み
        (?>式) 原子的式集合

        (?<name>式), (?'name'式) 名前付き捕獲式集合

        ▽量指定子
        bregonig.dll Ver.2.00 からは、強欲な量指定子が使えるようになります。
        ?+, *+, ++, {n,m}+, {n,}+, {n}+


        ▼機能拡張点2
        bregonig.dllで置換に使える機能拡張点には以下のものがあります。

        \x{HHHH} 拡張十六進数表現

        ${n} (安全な)番号指定参照
        $+ 最後にマッチした部分文字列

        $+{name}, $-{name}[n] 名前指定参照(Perl 5.10 互換、推奨)
        \k<name>, \k'name' 名前指定参照(鬼車準拠)
        ${name} 名前指定参照(独自拡張、暫定仕様のため非推奨)
      • [351] Re2:ヘルプのコメント(rev.1135) K.Takata 2007年09月30日 14:42

        > >使える(かもしれない)エスケープシーケンス
        > >\b 単語の境界(SJIS未対応)
        > ・「SJIS未対応」の意味がよく分かりません。\w に合わせて、「英単語の境界」に
        > した方が良いかもしれません。

        確認したところ、マッチすべきでないところにマッチする場合があるようです。例えば、

        2 バイト文字

        に対して \b で検索した場合は問題ないのですが、

        2バイト文字

        に対して同じように検索すると、おかしな結果になります。
        • [352] Re3:ヘルプのコメント(rev.1135) maru 2007年09月30日 22:47

          詳細なご説明をありがとうございます。
          正直今まで、よく分からない・自身の無いところが多く、修正したくとも躊躇していました。

          一応1.6.0.0ヘルプでは、コメントいただいた内容を元に私なりにまとめましたが、説明いただいた内容が詳細すぎて、かなり自信ないです。まだ不適切な部分が残っていそうですが、とりあえずリリースしました。

          なお、正規表現の説明はライブラリの説明から独立してHLP000089.htmlに引越ししました。
          http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html
          • [355] Re4:ヘルプのコメント(rev.1135) K.Takata 2007年10月01日 01:37

            ▼ maruさん
            > まだ不適切な部分が残っていそうですが、とりあえずリリースしました。
            リリースお疲れ様です。

            >HLP000089.html
            いろいろ気になる点がありましたので、細かいですが指摘させていただきます。

            ▼量指定子
            上のメタキャラクタでは数量子となっており、統一されていません。(どちらが一般的かは分かりません。)

            強欲な量指定子はまだ2.00のベータ版にしか搭載していないので、ヘルプに正式に載せるには早いかもしれません。

            ▼エスケープシーケンス
            \w は、Bregexp.dll では英単語ですが、bregonig.dll では英単語ではないので、
             単語の構成文字 [0-9A-Za-z_]と同じ
             [鬼] 2バイト文字も含む
            の方が良いかもしれません。こうする場合は、\b, \B の「英単語」も「単語」に戻すべきでしょう。

            \G を「前回のマッチ終端」と記載するのは問題がある気がします。「すべて置換」(s///g) の場合には一応そうなるのですが、普通の置換や検索の場合には、検索開始位置にマッチしますので。

            \x{HHHH} の HHHH は青字にすべきです。「拡張十六進数表現」は、「Hに16進数で文字コードを指定する(Hは1~4桁)」にした方が \xhh との統一がとれると思います。\xhh とは H の大小が合っていないのでどちらかに合わせた方がよいと思います。

            \p{^property-name}, \P{property-name} は1つの欄にまとめて良いと思います。property-name は青字にすべきです。

            \k<name+n>, \k<name-n>, \k'name+n', \k'name-n' は1つの欄にまとめて良いと思います。name と n は青字にすべきです。

            エスケープシーケンスは、鬼車のドキュメントのように、文字、文字種、位置、参照に分類した方がわかりやすくなるかもしれません。

            ▼置換表現および参照
            name と n は青字にすべきです。

            \x{HHHH} がぽつんと存在しているのは不自然な気がします。こちらの表からは削除するか、あるいは、置換で使える他のエスケープシーケンスも列挙するかどちらかに統一した方が良いと思います。


            長くなったので分けます。
            • [356] Re5:ヘルプのコメント(rev.1135) K.Takata 2007年10月01日 01:38

              > >HLP000089.html

              続きです。

              ▼文字集合
              メタキャラクタ の [ ] の説明は「キャラクタクラス」となっています。どちらかに統一した方がよいでしょう。(鬼車では文字集合と言っていますが、どちらが一般的かは分かりません。)

              POSIX ブラケットの説明は、
               [:xxxxx:] POSIXブラケット
               [:^xxxxx:] POSIXブラケット(否定)
              の方が他との統一がとれているような気がします。xxxxx は青字にすべきです。

              [...] の ... と、..&&.. の .. は青字にした方が良いかもしれません。

              ▼拡張式集合
              (?#...) の ... は青字にした方が良いかもしれません。

              (?imsx) で m があるのに、m の説明がないのはやはり不自然な気がしてきました。
              m: 複数行(サクラエディタではデフォルトでon)
              あたりにしておくのがよいかもしれません。

              (式) は、メタキャラクタの ( ) と同じものです。(?:式) との対比の意味では、この表に記載してあってもいいと思うのですが、上との表現の統一が必要でしょう。

              (式) などの 式 や、(?<name>式) などの name は青字にした方が良いかもしれません。式 ではなく パターン の方が既存の部分との統一がとれるかもしれません。

              ▼bregonig.dllへの変更による違い
              「何度も書いていますが、」はいらないと思います。ヘルプ執筆者に対するコメントのつもりでしたので。

              ▼その他
              \p{property-name} で使えるプロパティ名や、POSIXブラケットで使える名前は鬼車のドキュメントを参照するようにというのが良いでしょうかね?
              http://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt

              bregonig.dll で拡張された機能とそうでないものがきれいに分けてあるのですが、類似の機能は並べた方がわかりやすいのではないかと思うのですがいかがでしょうか?
              例:\Zと\z、\xhhと\x{HHHH}、$nと${n}、(?imsx)と(?imsx-imsx)と(imsx-imsx:式)、
              • [357] Re6:ヘルプのコメント(rev.1135) maru 2007年10月02日 00:02

                修正内容がとても具体的で、ものすごく助かります。
                いまだに良く分からない機能がありますが、修正したものを下記に添付しました。
                http://sakura.qp.land.to/?Document%2F9

                用語統一の件、単なる方言なのか鬼車の用語なのか、私にはよく分からないので、なるべく併記する方向で対応予定です。

                鬼車のドキュメントに記載されている、\G「照合開始位置」は分かりにくい印象を受けますが、分かる人にはこの一言で通じるのでしょうか。できれば1行説明を追加したいのですが、どう説明するのが適切でしょうか。

                不勉強でいろいろと申し訳ありません。
                • [358] Re7:ヘルプのコメント(rev.1135) K.Takata 2007年10月02日 03:58

                  ▼ maruさん
                  > http://sakura.qp.land.to/?Document%2F9

                  手を加えたものを添付しておきました。

                  検索(あるいは置換前)で使える参照と、置換後の文字列に使える参照は別物なので、分ける必要があります。
                  置換後の方では、参照と \t, \n, \xHH などの「文字」が使えることを書いた方が良いのかもしれませんが、今回は書きませんでした。

                  あと、^ の説明にある「※サクラエディタでは、制限があります。」の記述が前から気になっています。サクラエディタ用の Bregexp.dll で BMatchEx() が使えるようになる前の名残のような気もするのですがどうなのでしょう?


                  > 鬼車のドキュメントに記載されている、\G「照合開始位置」は分かりにくい印象を受けますが、分かる人にはこの一言で通じるのでしょうか。できれば1行説明を追加したいのですが、どう説明するのが適切でしょうか。

                  照合開始位置が意味するところは、ライブラリの呼び出し方に依存します。
                  サクラエディタの場合は、カーソル位置になるのでしょうか? よく分かりません。

                  > 不勉強でいろいろと申し訳ありません。
                  こちらこそ、本当はbregonig.dllのドキュメントで書いておくべきことなのでしょうが、手抜きしたせいでお手数をおかけします。
                  • [360] Re8:ヘルプのコメント(rev.1135) maru 2007年10月02日 23:28

                    >手を加えたものを添付しておきました。
                    手取り足取り、ありがとうございました。
                    添付の内容をベースにして(もしくはそのままで)、次回ヘルプに適用させていただきます。
                  • [361] 正規表現で行頭の制限 maru 2007年10月02日 23:29

                    >あと、^ の説明にある「※サクラエディタでは、制限があります。」の記述が前から気になっています。サクラエディタ用の Bregexp.dll で BMatchEx() が使えるようになる前の名残のような気もするのですがどうなのでしょう?
                    このあたりの経緯をどなたかご存知でしたら教えてください。

                    問題の記述は、現バージョンのヘルプではこのページです。
                    http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html

                    help_20031107←この時点では記述あり
                    help_20040207←ここで削除(byMocaさん)された
                    help_20040926←ここ(Uchiさんのバージョン)で復活

                    ヘルプの更新履歴を見るとUchiさんのバージョンはhelp_20031107からの更新と思われ、Mocaさんの修正が漏れてしまっただけのように見えます。どなたからも「待った」が無ければ次回までに削除します。