サクラエディタ2.3.0がバグっていて、C/C++ が書きづらく困っています……。
適当にファイルを作って、ファイル名をa.c(C/C++ スタイルのスマートインデントが有効になるなら何でも良い)にして開いて、ダブルスラッシュの前に何か文字を入れて改行すると100%Runtime Errorが発生してエディタがクラッシュします。
例を挙げると、
a//
と打ちこんで、行頭でEnterを押して改行すると100% 落ちます。
ただし、ダブルスラッシュが行頭の場合だけは落ちません。またサクラエディタ2.0.4.0では発生しません。
コードを見たらsakura_core/types/CType_Cpp.cppのCEditView::SmartIndent_CPP() メソッド1427行目付近に、下記のような処理があり、
for( int n = 0; n < nLineLen2; n++ ){
switch( nMode ){
case 0:
if( m_pTypeData->m_bIndentCppStringIgnore && L'"' == pLine2[n] ){
...
}else if( m_pTypeData->m_bIndentCppCommentIgnore && n + 1 < nLineLen2 && '/' == pLine2[n] && '/' == pLine2[n+1] ){
SCommentBlock block = { n, nLineLen2 - 1 };
arrCommentBlock.push_back(block);
n = k; ★★★この行がnを0に戻してしまう ★★★
}
break;
...
常にk = 0なのとn = kという行のせいで、nがずっと0に戻されるため、外側のfor文がいつまでも終わらず、arrCommentBlockというベクタのような何かに、無限に要素を追加し続けた挙げ句、死んでしまうようです。
この処理でnを巻き戻す意味も、変数kの意味もイマイチわかりませんが、ざっくりn = kをコメントアウトしたところ、ご機嫌に動いています。
これ、みんな困ってないのかな?俺だけ??
大阪市営バス 信託失敗…債権674億円放棄し民営化へ - 毎日新聞を読んで。
記事に「交通局の運転手に比べて大阪シティバスは人件費が1人当たり300万円程度安く…」とあって驚きました。人件費の半分 = 従業員年収とざっくり考えれば150万円くらいでしょう。
つまり、仕事の内容は同じだけど、仕事の価値は150万円低く評価されたわけですから、なかなかショッキングです。
自分の仕事は、自分の年収に釣り合っているだろうか…。
メモ: 技術系の話はFacebookから転記しておくことにした。
< | 2016 | > | ||||
<< | < | 02 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | - | - | - | - | - |
合計:
本日:
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2023.
Powered by PHP 8.2.18.
using GD 2.3.3(png support.)