link もっと前
   2016年 2月 4日 -
      2016年 2月 4日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

サクラエディタの最新版で困ったこと

サクラエディタ 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 行目付近に、下記のような処理があり、

CEditView::SmartIndent_CPP() メソッド

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 をコメントアウトしたところ、ご機嫌に動いています。

これ、みんな困ってないのかな?俺だけ??

[編集者: すずき]
[更新: 2016年 2月 4日 01:45]
link 編集する

コメント一覧

  • 通りすがり 
    スマートインデントの不具合でifやwhile内に書く括弧"("でも落ちるケースが出ていたのですが、8/13に出た2.3.1.0で直りました。コードを見ると色々修正されているようです。 
    (2016年08月26日 16:43:01)
  • すずき 
    >通りすがりさん
    ご教授いただいてありがとうございます。
    早速使って見ます。 
    (2016年08月31日 10:36:27)
open/close この記事にコメントする



link もっと前
   2016年 2月 4日 -
      2016年 2月 4日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 10/17 22:53

カレンダー

<2016>
<<<02>>>
-123456
78910111213
14151617181920
21222324252627
2829-----

最近のコメント 5件

  • link 17年09月23日
    すずき 「そうですね、体験していたはずなんですが、...」
    (更新:10/17 22:53)
  • link 17年09月23日
    hdk 「我々も小学校低学年の頃はまだ学校週5日制...」
    (更新:10/16 23:53)
  • link 17年09月29日
    すずき 「私も IOMMU と DDR のインタリ...」
    (更新:10/09 22:41)
  • link 17年09月29日
    hdk 「非連続物理アドレスは IOMMU を使っ...」
    (更新:10/09 00:35)
  • link 17年09月29日
    すずき 「会社ではビデオ系ハード、グラフィクス、デ...」
    (更新:10/07 12:26)

最近の記事 3件

link もっとみる
  • link 17年09月23日
    すずき 「[土曜日=休日?] 今日は土曜日で祝日(秋分の日)です。サラリーマ...」
    (更新:10/16 03:21)
  • link 17年09月29日
    すずき 「[Linux の CMA と THP] Twitter でボヤきま...」
    (更新:10/06 02:14)
  • link 17年09月30日
    すずき 「[Linux の CMA と THP その 2] 昨日(2017年...」
    (更新:10/06 01:53)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報