Blame m4/as_case.m4

Packit b5b901
# AS_CASE(WORD, [PATTERN1], [IF-MATCHED1]...[DEFAULT])
Packit b5b901
# ----------------------------------------------------
Packit b5b901
# Expand into
Packit b5b901
# | case WORD in
Packit b5b901
# | PATTERN1) IF-MATCHED1 ;;
Packit b5b901
# | ...
Packit b5b901
# | *) DEFAULT ;;
Packit b5b901
# | esac
Packit b5b901
m4_define([_AS_CASE],
Packit b5b901
[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
Packit b5b901
       [$#], 1, [  *) $1 ;;],
Packit b5b901
       [$#], 2, [  $1) m4_default([$2], [:]) ;;],
Packit b5b901
       [  $1) m4_default([$2], [:]) ;;
Packit b5b901
$0(m4_shiftn(2, $@))])dnl
Packit b5b901
])
Packit b5b901
m4_defun([AS_CASE],
Packit b5b901
[m4_ifval([$2$3],
Packit b5b901
[case $1 in
Packit b5b901
_AS_CASE(m4_shift($@))
Packit b5b901
esac])])
Packit b5b901