m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changes to m4/doc/m4.texinfo,v [branch]


From: Eric Blake
Subject: Changes to m4/doc/m4.texinfo,v [branch]
Date: Tue, 06 Jun 2006 12:28:48 +0000

CVSROOT:        /sources/m4
Module name:    m4
Branch:         branch
Changes by:     Eric Blake <ericb>      06/06/06 12:28:46

Index: doc/m4.texinfo
===================================================================
RCS file: /sources/m4/m4/doc/m4.texinfo,v
retrieving revision 1.1.1.1.2.15
retrieving revision 1.1.1.1.2.16
diff -u -b -r1.1.1.1.2.15 -r1.1.1.1.2.16
--- doc/m4.texinfo      30 May 2006 13:52:29 -0000      1.1.1.1.2.15
+++ doc/m4.texinfo      6 Jun 2006 12:28:46 -0000       1.1.1.1.2.16
@@ -1620,6 +1620,36 @@
 of the time, signifying an expansion at the outermost level, but it
 increases when macro arguments contain unquoted macro calls.
 
+Tracing by name is an attribute that is preserved whether the macro is
+defined or not.  This allows the @samp{-t} option to select macros to
+trace before those macros are defined.
+
address@hidden
+traceoff(`foo')
address@hidden
+traceon(`foo')
address@hidden
+foo
address@hidden
+define(`foo', `bar')
address@hidden
+foo
address@hidden: -1- foo -> `bar'
address@hidden
+undefine(`foo')
address@hidden
+ifdef(`foo', `yes', `no')
address@hidden
+indir(`foo')
address@hidden:17: m4: Undefined macro `foo'
address@hidden
+define(`foo', `blah')
address@hidden
+foo
address@hidden: -1- foo -> `blah'
address@hidden
address@hidden example
+
 @xref{Debug Levels}, for information on controlling the details of the
 display.
 
@@ -3462,6 +3492,18 @@
 a file by the same name.  GNU @code{m4} actually creates a temporary
 file for each invocation of @code{maketemp}, which means that the output
 of the macro is different even if the input is identical.
+
address@hidden
+Traditional @code{m4} treats @code{traceon} (@pxref{Trace}) without
+arguments as a global variable, independent of named macro tracing.
+Also, once a macro is undefined, named tracing of that macro is lost.
+On the other hand, when GNU @code{m4} encounters @code{traceon} without
+arguments, it turns tracing on for all existing definitions at the time,
+but does not trace future definitions; @code{traceoff} without arguments
+turns tracing off for all definitions regardless of whether they were
+also traced by name; and tracing by name, such as with @samp{-tfoo} at
+the command line or @code{traceon(`foo')} in the input, is an attribute
+that is preserved even if the macro is currently undefined.
 @end itemize
 
 @node Other Incompatibilities,  , Incompatibilities, Compatibility




reply via email to

[Prev in Thread] Current Thread [Next in Thread]