マクロヘルプ誤記+αNo.23884
h-tom さん 07/10/23 23:48
 

h-tom です。

「目次− config− config "x"で指定できる名前 」にある、"xSaveConv"の
"種類"と"機能"の内容が、"xColorIfdef"と同じになっています。
"数値"で、
 0:変換なし
 1:タブを空白に変換する
 2:空白をタブに変換する
ですよね。

+α その1
・getconfig関数をそのまま、サブルーチンの引数に指定した場合、期待した
 動作になりません。
 getconfig関数は、数値としてもつかえるので、その影響ですかね?
 サブルーチンコール部分だけで、他では問題ないし、回避方法もあるので、
 このままでも、いいかもしれませんけど。

call check getconfig("Font");
call check "" + getconfig("Font");
endmacro;
check:
    message "#" + $$1 + "#";
return;
結果
  1回目
  ---------------------------
  ##
  ---------------------------
  2回目
  ---------------------------
  #MS ゴシック#
  ---------------------------

+α その2
単なる思いつきですが・・・。
・強調表示で、正規表現の場合、マッチした全体ではなく、タグで指定した部分
 だけ強調するモードがあると、便利な場合もあるかな?

OS:Windows2000SP4
秀丸エディタ:Ver.7.03

[ ]
RE:23884 マクロヘルプ誤記+αNo.23891
秀丸担当 さん 07/10/24 09:46
 

>「目次− config− config "x"で指定できる名前 」にある、"xSaveConv"の
>"種類"と"機能"の内容が、"xColorIfdef"と同じになっています。
>"数値"で、
> 0:変換なし
> 1:タブを空白に変換する
> 2:空白をタブに変換する
>ですよね。

その通りでいた。
ご指摘ありがとうございます。
直しておきます。

>+α その1
>・getconfig関数をそのまま、サブルーチンの引数に指定した場合、期待した
> 動作になりません。
> getconfig関数は、数値としてもつかえるので、その影響ですかね?
> サブルーチンコール部分だけで、他では問題ないし、回避方法もあるので、
> このままでも、いいかもしれませんけど。

どうも、そのようですね。
数値としても扱えてしまうため、その影響のようです。
""+との結合でもいいようですが、いったん文字列変数に入れてもらうなどの対
策が必要なようです。
変更するとまずいかもしれないので、このままとさせてください。

>+α その2
>単なる思いつきですが・・・。
>・強調表示で、正規表現の場合、マッチした全体ではなく、タグで指定した部分
> だけ強調するモードがあると、便利な場合もあるかな?

正規表現で、ヒットした扱いにするタグ指定を使うとできます。
例えば、
(a)(b)(?\1)
と書くと ab と並んでいる文字の a だけが強調されるようになります。

[ ]
RE:23891 マクロヘルプ誤記+αNo.23903
h-tom さん 07/10/25 00:20
 

h-tom です。

>その通りでいた。
>ご指摘ありがとうございます。
>直しておきます。
ついでに、「目次− config− config "x"で指定できる名前 」で確認です。

1)"xImeColorCurLine"
  説明が"カーソル行(IME ON時)が有効かどうか"になってますが、"IME変換中の色"も
  含んでいますよね?
 ("IME変換中の色"を"ON"にすると、1 -> 3 に変わります。)
  ということで、"フラグ"ではなく"数値"?
    0x0001  カーソル行(IME ON時)
    0x0002  IME変換中の色
   
2)"xOrikaeshiLine"、"xGuideLine"など画面に線を引く設定
  ONにすると、"0" -> "2"になりますが、意図的なのでしょうか?
  (2ビット目のフラグ?)

>正規表現で、ヒットした扱いにするタグ指定を使うとできます。
>例えば、
>(a)(b)(?\1)
>と書くと ab と並んでいる文字の a だけが強調されるようになります。
考えていたのは、タグの一部ではなく、タグで指定したところ全部です。
 正規表現を「(a)b(c)」にしておくと、"a"と"c"が強調される。
まぁ、単なる思いつきなので、役立つかは良くわかりませんが。

[ ]
RE:23903 マクロヘルプ誤記+αNo.23908
秀丸担当 さん 07/10/25 09:50
 

>1)"xImeColorCurLine"
>  説明が"カーソル行(IME ON時)が有効かどうか"になってますが、"IME変換中の色"も
>  含んでいますよね?
> ("IME変換中の色"を"ON"にすると、1 -> 3 に変わります。)
>  ということで、"フラグ"ではなく"数値"?
>    0x0001  カーソル行(IME ON時)
>    0x0002  IME変換中の色

その通りでした。意味もその通りです。
直しておきます。

>2)"xOrikaeshiLine"、"xGuideLine"など画面に線を引く設定
>  ONにすると、"0" -> "2"になりますが、意図的なのでしょうか?
>  (2ビット目のフラグ?)

ビットごとのフラグというより、1が点線、2が実線という意味でした。
ヘルプには書かれていなかったので書いておきます。

>考えていたのは、タグの一部ではなく、タグで指定したところ全部です。
> 正規表現を「(a)b(c)」にしておくと、"a"と"c"が強調される。
>まぁ、単なる思いつきなので、役立つかは良くわかりませんが。

(a)b(c)(?\1)
(a)b(c)(?\2)
という2つの強調表示を指定しておけば一応できるようです。

と、試してみたらできてしまったのですが、以下のスレッドにも関係するのです
が、
http://www.maruo.co.jp/turukame/3/x01531_.html#1532
HmJre.dllの場合はタグ指定や前方一致指定などで検索開始位置より遡って検索
しないです。
そのため、先頭から順番に強調表示を処理していたとしたらうまくいかなかった
はずなのですが、強調表示はたまたま処理の順番の都合上、うまくいってしまい
ました。
同じことを複数行コメントのユーザー定義で「単一の文字列」として追加すると
うまくいかないです。

[ ]