Hi,

So I may be doing/understanding something wrong, but it seems to me that
ifthenelse isn't exactly working as expected:

% execlineb -c 'ifthenelse { exit } { echo ok } { echo fail } echo next'
ok
ok
next
next

According to the doc, it should be the same as the following:

% execlineb -c 'foreground { ifte { echo ok } { echo fail } exit } echo
next'
ok
next

Obviously it isn't, as only the later works as expected (or, as I do
expect). A quick look at the code for ifthenelse has me wondering why
there's a fork() at line 44:

  argv[argc1] = 0 ;
  pid = fork() ;
  pid = el_spawn0(argv[0], argv, envp) ;
  if (!pid) strerr_diefu2sys(111, "spawn ", argv[0]) ;

Is that really normal? And if so, where's my error using ifthenelse?

Cheers,
-j

Reply via email to