code folding problems in fortran
Posted: Sat Mar 04, 2006 12:41 am
Hi,
This is my second day of evaluating your software and I like much of it does so far but there are some issues here concerning the folding.
1) Folding fails when the read statement contains the "end=99". The folding in this case takes place at the read statement.
2) Folding fails when the end of the routine is "endsubroutine solver" intead of "end subroutine solver", both these are valid fortran.
3) Folding also fails for the case-statement when "end select" is written as "endselect"
4) the if statement does not fold well with mutiple "else if". I replaced the xfolder.dll in my version of 3.95s but the problem is still there.
Sample code:
subroutine solver()
do while( string(1:1) /= "<" )
read(funit, fmt=*, ERR =99, end=99) string, value
if( data1 ) then
a = b + a
else if( data2 ) then
c = 9
else if( data ) then
d = 10
end if
enddo
close(funit)
return
99 continue
close(funit)
select case(x)
case(1)
a = 1
case(2)
a = 2
endselect
endsubroutine solver
This is my second day of evaluating your software and I like much of it does so far but there are some issues here concerning the folding.
1) Folding fails when the read statement contains the "end=99". The folding in this case takes place at the read statement.
2) Folding fails when the end of the routine is "endsubroutine solver" intead of "end subroutine solver", both these are valid fortran.
3) Folding also fails for the case-statement when "end select" is written as "endselect"
4) the if statement does not fold well with mutiple "else if". I replaced the xfolder.dll in my version of 3.95s but the problem is still there.
Sample code:
subroutine solver()
do while( string(1:1) /= "<" )
read(funit, fmt=*, ERR =99, end=99) string, value
if( data1 ) then
a = b + a
else if( data2 ) then
c = 9
else if( data ) then
d = 10
end if
enddo
close(funit)
return
99 continue
close(funit)
select case(x)
case(1)
a = 1
case(2)
a = 2
endselect
endsubroutine solver