CVSROOT: /sources/m4
Module name: m4
Changes by: Eric Blake <ericb> 06/10/13 16:46:47
Index: doc/m4.texinfo
===================================================================
RCS file: /sources/m4/m4/doc/m4.texinfo,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -b -r1.63 -r1.64
--- doc/m4.texinfo 12 Oct 2006 21:14:49 -0000 1.63
+++ doc/m4.texinfo 13 Oct 2006 16:46:47 -0000 1.64
@@ -2106,6 +2106,7 @@
used.
@example
+$ @kbd{m4 -d}
define(`f', `1')
@result{}
f(define(`f', `2'))
@@ -2117,6 +2118,28 @@
@result{}
@end example
+When handed the result of @code{defn} (@pxref{Defn}) as one of its
+arguments, @code{indir} defers to the invoked @var{name} for whether a
+token representing a builtin is recognized or flattened to the empty
+string.
+
[EMAIL PROTECTED]
+$ @kbd{m4 -d}
+indir(defn(`defn'), `divnum')
[EMAIL PROTECTED]:stdin:1: Warning: indir: invalid macro name ignored
[EMAIL PROTECTED]
+indir(`define', defn(`defn'), `divnum')
[EMAIL PROTECTED]:stdin:2: Warning: define: invalid macro name ignored
[EMAIL PROTECTED]
+indir(`define', `foo', defn(`divnum'))
[EMAIL PROTECTED]
+foo
[EMAIL PROTECTED]
+indir(`divert', defn(`foo'))
[EMAIL PROTECTED]:stdin:5: Warning: divert: empty string treated as 0
[EMAIL PROTECTED]
[EMAIL PROTECTED] example
+
@node Builtin
@section Indirect call of builtins
@@ -2147,6 +2170,10 @@
@result{}hidden
foo
@result{}foo
+builtin(`define', `foo', defn(`divnum'))
[EMAIL PROTECTED]
+foo
[EMAIL PROTECTED]
builtin(`define', `foo', `BAR')
@result{}
foo