HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
1212
くろもエディタの不具合?4解決


くろも

リンク

2015/12/12(Sat) 21:46:19|NO.73582

バージョン3.4のHSPスクリプトエディタで


*main mes {" 1行目 2行目 3行目 "} gosub *dummy goto *main stop *dummy return stop

このように書いた状態で、F11を押しラベル一覧を表示し、
*dummyをダブルクリックし移動しようとすると、何故か4行ほど上にずれた位置に
移動してしまいます。
mes {""}を使用し複数行の文字描画をしようとした場合に発生するようです



この記事に返信する


inovia

リンク

2015/12/13(Sun) 00:27:44|NO.73584

バグかとと思います。
http://dev.onionsoft.net/trac/openhsp/browser/trunk/tools/win32/hsed3_footy2/Poppad.cpp#L1372

Poppad.cpp の 1372行から

【before】

wp += 2; for(bool bEscape = false; *wp && ('\"' != *wp || '}' != wp[1] || bEscape); ) { if( '\\' == *wp ) { bEscape = !bEscape; } wp += IsDBCSLeadByte(*wp) ? 2 : 1; }
【after】

wp++; for(bool bEscape = false; *wp && ('\"' != *wp || '}' != wp[1] || bEscape); ) { if( 0x0d == *wp ) { line++; } if( '\\' == *wp ) { bEscape = !bEscape; } wp += IsDBCSLeadByte(*wp) ? 2 : 1; }
に修正したら、動作しました。



inovia

リンク

2015/12/13(Sun) 00:44:42|NO.73585

ソース読んでいて気がついちゃったけど、
複数行文字列の場合にエスケープ文字(\)が入ると、
後続のラベルすべてが認識されなくなるなぁと。


*main mes {" 1行目\tあ 2行目 3行目 "} gosub *dummy goto *main stop *dummy return stop



inovia

リンク

2015/12/13(Sun) 02:56:19|NO.73586

以下の場合も、後続のラベルすべてが認識されなくなるなぁ。

mes "{" *a



くろも

リンク

2015/12/13(Sun) 21:58:17|NO.73598

やはりバグだったのですね・・・
解決策までありがとうございます!



ONION software Copyright 1997-2023(c) All rights reserved.