hi there,
while experimenting i discovered in an o2-example of Aurel using Scintilla...AsciiEdit.o2bas some strange appearing construction that i thought could not work

He's calling

Gosub OxyKeywords
so i searched for the matching label "Oxykeywords:" as first token on a line - none
then i thought about "Subroutines" that as far as i know are sub-sequent portions of the procedure where also the calling "Gosub" should be inside
alike
Procedure someProc()

...
goSub mySubroutine

...
Exit Procedure
#Ifdef use_Label

    mySubroutine:

#Else

    Subroutine mySubroutine

#EndIf

' do whatever
Retn

#Ifndef use_Label
   End Subroutine
#EndIf

End someProc
I thought this were the way of using Gosub but Aurels program calls Gousb on global level and that launches a Sub (also on global scope level).

 
...not within any procedure here,around line 120..130
Gosub Qxykeywords

'...
' and about 1050 lines below
Sub Oxykeywords
...
' no "retn" anyhwere...
End Sub
that is a bit confusing why could it work?
Is it because of a rule as the caller is on global scope and can call a procedure (instead of a subroutine) on global level too (since it appears as a far-call to me)
or
does oxygen just prioritize trying anything to resolve the target-location before it must raise an error?
Is that still supported/deprecated/adviseable discouraged?