sh portability questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Now that there are no doubts about the portability of shell functions
(in the sense that there's always a shell on the machine that supports
function ---and maybe the documentation should reflect this), I'm
curious about the support of "return" and "local".  Is there anything
known about them?  ISTR there were spies about return in the Autoconf
test suite, but there seems to be nothing about it today
(hum... wrong, there is now something in m4sh.m4 that looks for
"return" support, see below).

Thanks!



# _AS_SHELL_FN_WORK
# -----------------
# This is a spy to detect "in the wild" shells that do not support shell
# functions correctly.  It is based on the m4sh.at Autotest testcases.
m4_define([_AS_SHELL_FN_WORK],
[as_func_return () {
  (exit [$]1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
AS_IF([as_func_success], [],
  [exitcode=1
  echo as_func_success failed.])
AS_IF([as_func_failure],
  [exitcode=1
  echo as_func_failure succeeded.])
AS_IF([as_func_ret_success], [],
  [exitcode=1
  echo as_func_ret_success failed.])
AS_IF([as_func_ret_failure],
  [exitcode=1
  echo as_func_ret_failure succeeded.])
AS_IF([( set x; as_func_ret_success y && test x = "[$]1" )], [],
  [exitcode=1
  echo positional parameters were not saved.])
test $exitcode = 0])



_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux