When exec'uting external binaries, SCSH searches for them in the PATH
list which is stored in exec-path-list upon invocation of the program.
Unfortunately it is not possible for the programmer to modify
exec-path-list.
When using
(set! exec-path-list '("/usr/share/texmf/teTeX/bin" "/usr/bin"))
in the program texparse.scm I get
> (run (texparse.scm))
Warning: invalid assignment
exec-path-list
When replacing 'set!' with 'define', nothing works anymore and I get
messages like:
> (run (texparse.scm))
Note: Replaced location
#{Location #(#{Location 8266 exec-path-list scsh-level-0} (113)
#{Location 8265 exec-path-list user})}
#{Location 8266 exec-path-list scsh-level-0}
139
Note: Replaced location
#{Location #(#{Location 8266 exec-path-list scsh-level-0} (113)
#{Location 8265 exec-path-list user})}
#{Location 8266 exec-path-list scsh-level-0}
139
#{Location #(#{Location 8266 exec-path-list scsh-level-0} (113)
#{Location 8265 exec-path-list user})}
#{Location 8266 exec-path-list scsh-level-0}
139
This means that I can't make my texparse program work properly, unless
I start with a section like
(define my-path-list (cons "/usr/share/texmf/teTeX/bin" exec-path-list))
(define ttf2pk (exec-path-search "ttf2pk" my-path-list))
...
(run (,ttf2pk -vf ... ))
This is tedious and probably not what the SCSH designers wanted.
--
phm
|