blob: 5c20aa604741e1e2abd502c66a36c8cf9c2744a0 [file] [log] [blame]
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