[スレッド全体]

2014/12/31 (水) 13:08:40 匿名  
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
[2223] ダブルクォーテーション文字列の判定が変
Onigmo-5.15.0 のソース regexec.c の 1396 行目からダブルクォーテーション文字列の判定が変になります。
https://github.com/k-takata/Onigmo/blob/Onigmo-5.15.0/regexec.c#L1396

2.1.1.4 Stable と Rev.3908 で確認しました。

2014/12/31 (水) 16:28:40 もか  
INCM1.23a
[2224] Re: ダブルクォーテーション文字列の判定が変
そのURLで確認しました。
今の実装だと、「R"なにがし(」の文字列は、C++11のRaw Stringとみなされるので、
その終端がないものとして、この場合は「) "」が現れるまで文字列になります。
もしRと"の間にスペース1つでもあればRaw Stringとは認識されません。
これどうしたらいいと思う?

1. Rの直前にu8w以外が来ているかチェックする
\b(u|u8|w)R"[^(]*\(
の正規表現相当でチェック。\bの具体的パターンはよく分からない。

2. C++とは別にC/C++03文字列を追加してそっちを使ってもらう
作るのは簡単そうだけど、使う人が面倒
しかし、""文字列型を汎用として使うにはR"str...も普通の文字列としたい場合などあったほうがいいかも。

1.2.両方かな。
PRIdPTR等はC99みたいなので、何とかしようと思います。

2014/12/31 (水) 16:39:53 もか  
INCM1.23a
[2225] Re2: ダブルクォーテーション文字列の判定が変
>\b(u|u8|w)R"[^(]*\(
訂正。たぶんこう
\b(u8|u|U|L|)R"[^(]*\(

\bはたぶん
^|[!"#$%&'()=@{};:<>?,.*/\-\+\[\]\\s]

2014/12/31 (水) 19:35:45 もか  
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
[2226] Re3: ダブルクォーテーション文字列の判定が変
パッチをトラッカーに登録しました

https://sourceforge.net/p/sakura-editor/patchunicode/954/

2014/12/31 (水) 21:41:19 匿名  
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
[2227] Re4: ダブルクォーテーション文字列の判定が変
お疲れ様です。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]