Code: Select all
%_comment = "Check the last character";
%s = Clip ( 0, "" );
$If ( substr ( %s, len ( %s ) - 1, 1 ) == "\x0A" )
%_comment = "Count linebreaks";
%p = 0; %c = -1;
$While ( %p >= 0 )
%c = %c + 1;
%s = substr ( %s, %p + 1, len ( %s ) - %p );
%p = index ( %s, "\x0A" );
$End
%_comment = "Check block type";
%l = Editor.Lines;
CtrlShift0 Home ShiftIns
$If ( Editor.Lines == %l + %c )
%_comment = "Stream block";
Ctrl0
$Rep ( %c )
Down
$End
$Else
%_comment = "Vertical block";
CtrlZ
$Rep ( %c )
Home Enter
$End
Ctrl0
$Rep ( %c )
CtrlUp
$End
ShiftIns
$End
$Else
ShiftIns
$End
Если же убираю из него комментарии, то всё работает.
Подозреваю, что дело в длине: с комментариями она больше 512 байт, а без них — меньше.
Вопрос: справедлива ли моя догадка?