コグノスケ


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

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

2016年2月4日

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

サクラエディタ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/02/04 01:45)

コメント一覧

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



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

管理用メニュー

link 記事を新規作成

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

最近のコメント5件

  • link 20年6月19日
    すずきさん (04/06 22:54)
    「ディレクトリを予め作成しておけば良いです...」
  • link 20年6月19日
    斎藤さん (04/06 16:25)
    「「Preferencesというメニューか...」
  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」

最近の記事3件

  • link 24年4月11日
    すずき (04/17 00:37)
    「[VScodeとAsciiDocとKrokiローカルサーバー] 目次: LinuxAsciiDoc ExtensionはAsc...」
  • link 24年4月12日
    すずき (04/16 00:12)
    「[台湾東部沖地震に寄付] ささやかではありますが台湾東部沖地震に寄付しました。日本の赤十字社→台湾の赤十字(正式名称...」
  • link 23年4月10日
    すずき (04/16 00:10)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linuxのstruct pageって何?Linu...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
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 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 04/17 00:37