> From: John Tytgat <[EMAIL PROTECTED]>
> 
> The reason behind this change is that since SUL v1.11 what gets given
> to system()/exec() is canonicalised first and in step 2) this results
> in the full path to your 'cat' executable while in 1) the result is
> still 'cat'. 

The canonicalisation doesn't appear to be taking account of Run$Path.
A file 'cat' in my library directory is ignored, but not one in the
current directory. Is it just executables in the current directory that are
canonicalised?

> The reason why we're now doing the canonicalisation is that we want a
> more reliable match what is given to exec() and the new process named
> in exec() registering itself to SUL so that the UnixLib environment
> from parent to child can be passed on.
> 
> Both approaches in v1.10 and v1.11 have their weak points and what's
> missing is that we would like at exec() time know exactly what will be
> started when the underlying OS_CLI SWI gets called, i.e. a module
> command, an system variable alias, an executable on a FS or perhaps
> something sitting on the OS_CLI vector intercepting the call and doing
> something fancy. 

What we have in SUL 1.11 isn't using the command order precedence
that we expect on RISC OS i.e. module, aliases, Run$Path, so this could
break some existing programs and scripts e.g. Perl and Awk scripts
- which is how I came across the issue.

Regards

Duncan Moore


_______________________________________________
GCCSDK mailing list [email protected]
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK

Reply via email to