| 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 |