interestingly, ive noticed that sourceing a file by explicit sourcing is different from sourcing a file by 'auto-sourcing' (the filename match) :
if this is saved into a file delThis.mel:
print "out proc";
global proc delThis(){
print "in proc";
}
delThis, will print 'in proc',
source delThis, will print 'out proc',
... auto-sourcing appears not to execute commands outside procs, whereas explicit sourcing does. but other proc-external stuff may still be parsed, eg:
print "out proc";
global proc delThis(){
print "in proc";
}
global int $gInter = 42;
circle;
will produce a circle for source delThis, but not for just delThis (which, obviously, has to always be run before an explicit source, so it does actually do an auto-source).
however, both forms of sourcing will declare and initialise the global int.
just something to keep in mind.
need to check on how boot-up sourcing behaves too.