blob: 0f44e6545ce93ec1046232645a34adceee3827d1 [file] [log] [blame]
dnl @ ../doc/m4.texi:2976: Origin of test
dnl @ expected status: 0
dnl @ extra options:
dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
dnl @ Foundation, Inc.
dnl @ This file is free software; the Free Software Foundation
dnl @ gives unlimited permission to copy and/or distribute it
dnl @ with or without modifications, as long as this notice
dnl @ is preserved.
define(`cond',
`ifelse(`$#', `1', `$1',
`ifelse($1, `$2', `$3',
`$0(shift(shift(shift($@))))')')')dnl
define(`side', `define(`counter', incr(counter))$1')dnl
define(`example1',
`define(`counter', `0')dnl
ifelse(side(`$1'), `yes', `one comparison: ',
side(`$1'), `no', `two comparisons: ',
side(`$1'), `maybe', `three comparisons: ',
`side(`default answer: ')')counter')dnl
define(`example2',
`define(`counter', `0')dnl
cond(`side(`$1')', `yes', `one comparison: ',
`side(`$1')', `no', `two comparisons: ',
`side(`$1')', `maybe', `three comparisons: ',
`side(`default answer: ')')counter')dnl
example1(`yes')
dnl @result{}one comparison: 3
example1(`no')
dnl @result{}two comparisons: 3
example1(`maybe')
dnl @result{}three comparisons: 3
example1(`feeling rather indecisive today')
dnl @result{}default answer: 4
example2(`yes')
dnl @result{}one comparison: 1
example2(`no')
dnl @result{}two comparisons: 2
example2(`maybe')
dnl @result{}three comparisons: 3
example2(`feeling rather indecisive today')
dnl @result{}default answer: 4