| dnl @ ../doc/m4.texi:4690: 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. |
| ifdef(`changeword', `', `errprint(` skipping: no changeword support |
| ')m4exit(`77')')dnl |
| define(`foo |
| ', `bar |
| ') |
| dnl @result{} |
| dnl This example wants to recognize changeword, dnl, and `foo\n'. |
| dnl First, we check that our regexp will match. |
| regexp(`changeword', `[cd][a-z]*\|foo[ |
| ]') |
| dnl @result{}0 |
| regexp(`foo |
| ', `[cd][a-z]*\|foo[ |
| ]') |
| dnl @result{}0 |
| regexp(`f', `[cd][a-z]*\|foo[ |
| ]') |
| dnl @result{}-1 |
| foo |
| dnl @result{}foo |
| changeword(`[cd][a-z]*\|foo[ |
| ]') |
| dnl @result{} |
| dnl Even though `foo\n' matches, we forgot to allow `f'. |
| foo |
| dnl @result{}foo |
| changeword(`[cd][a-z]*\|fo*[ |
| ]?') |
| dnl @result{} |
| dnl Now we can call `foo\n'. |
| foo |
| dnl @result{}bar |