CVSROOT: /sources/m4
Module name: m4
Branch: branch-1_4
Changes by: Eric Blake <ericb> 06/10/13 12:59:17
Index: doc/m4.texinfo
===================================================================
RCS file: /sources/m4/m4/doc/m4.texinfo,v
retrieving revision 1.1.1.1.2.83
retrieving revision 1.1.1.1.2.84
diff -u -b -r1.1.1.1.2.83 -r1.1.1.1.2.84
--- doc/m4.texinfo 12 Oct 2006 14:10:35 -0000 1.1.1.1.2.83
+++ doc/m4.texinfo 13 Oct 2006 12:59:17 -0000 1.1.1.1.2.84
@@ -1768,6 +1768,27 @@
@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]
+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: empty string treated as 0 in builtin `divert'
[EMAIL PROTECTED]
[EMAIL PROTECTED] example
+
@node Builtin
@section Indirect call of builtins
@@ -1798,6 +1819,10 @@
@result{}hidden
foo
@result{}foo
+builtin(`define', `foo', defn(`divnum'))
[EMAIL PROTECTED]
+foo
[EMAIL PROTECTED]
builtin(`define', `foo', `BAR')
@result{}
foo