]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* lib/Autom4te/General.pm (&file_name_is_absolute): Remove.
authorAkim Demaille <akim@epita.fr>
Thu, 21 Aug 2003 17:50:11 +0000 (17:50 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 21 Aug 2003 17:50:11 +0000 (17:50 +0000)
(&verbose): Remove.
(&getopt): Adjust the note and verb channels, depending upon
--verbose.
* bin/autoheader.in, bin/autom4te.in, bin/autoscan.in,
* bin/autoupdate.in: Adjust.
Use &verb, not &verbose.

ChangeLog
bin/autoheader.in
bin/autom4te.in
bin/autoreconf.in
bin/autoscan.in
bin/autoupdate.in
config/texinfo.tex
lib/Autom4te/General.pm

index 20bec2885f385131280cc959c36bb57bf29a31a6..d91d0d23e957b9bd4b6da190855393a203e4d935 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2003-08-21  Akim Demaille  <akim@epita.fr>
+
+       * lib/Autom4te/General.pm (&file_name_is_absolute): Remove.
+       (&verbose): Remove.
+       (&getopt): Adjust the note and verb channels, depending upon
+       --verbose.
+       * bin/autoheader.in, bin/autom4te.in, bin/autoscan.in,
+       * bin/autoupdate.in: Adjust.
+       Use &verb, not &verbose.
+
 2003-08-21  Akim Demaille  <akim@epita.fr>
 
        * bin/autoheader.in (&parse_args): Use &parse_warnings and
index e6872ea12a2758a303babec0e281e9534eda2659..caafa27b15eae106cc5529a42bf164272dbd8369 100644 (file)
@@ -113,8 +113,6 @@ sub parse_args ()
          'B|prepend-include=s' => \@prepend_include,
          'W|warnings=s'        => \&parse_warnings);
 
-  setup_channel 'note', silent => !$verbose;
-
   if (! @ARGV)
     {
       my $configure_ac = require_configure_ac;
@@ -171,7 +169,7 @@ $autoconf .= ' --verbose' if $verbose;
 # ----------------------- #
 
 # Source what the traces are trying to tell us.
-verbose "$me: running $autoconf to trace from $ARGV[0]";
+verb "$me: running $autoconf to trace from $ARGV[0]";
 xsystem ("$autoconf"
         # If you change this list, update the
         # `Autoheader-preselections' section of autom4te.in.
index e9c7830eaa35c24ae3f7e373842dd2909076d9ea..a6d06c10737c6a912189491a265267ed006fffb6 100644 (file)
@@ -716,7 +716,7 @@ sub handle_output ($$)
 {
   my ($req, $output) = @_;
 
-  verbose "creating $output";
+  verb "creating $output";
 
   # Load the forbidden/allowed patterns.
   handle_traces ($req, "$tmp/patterns",
@@ -729,10 +729,10 @@ sub handle_output ($$)
   my $forbidden = join ('|', map { /^forbid:([^:]+)/ } @patterns) || "^\$";
   my $allowed   = join ('|', map { /^allow:([^:]+)/  } @patterns) || "^\$";
 
-  verbose "forbidden tokens: $forbidden";
-  verbose "forbidden token : $_ => $forbidden{$_}"
+  verb "forbidden tokens: $forbidden";
+  verb "forbidden token : $_ => $forbidden{$_}"
     foreach (sort keys %forbidden);
-  verbose "allowed   tokens: $allowed";
+  verb "allowed   tokens: $allowed";
 
   # Read the (cached) raw M4 output, produce the actual result.  We
   # have to use the 2nd arg to have Autom4te::XFile honor the third, but then
@@ -902,7 +902,7 @@ sub handle_traces ($$%)
 {
   my ($req, $output, %trace) = @_;
 
-  verbose "formatting traces for `$output': ", join (', ', sort keys %trace);
+  verb "formatting traces for `$output': " . join (', ', sort keys %trace);
 
   # Processing the traces.
   my $trace_m4 = new Autom4te::XFile (">$tmp/traces.m4");
@@ -1183,7 +1183,7 @@ $req->valid (0)
   if $force || ! up_to_date ($req);
 
 # We now know whether we can trust the Request object.  Say it.
-verbose "$me: the trace request object is:\n" . $req->marshall;
+verb "the trace request object is:\n" . $req->marshall;
 
 # We need to run M4 if (i) the users wants it (--force), (ii) $REQ is
 # invalid.
index 60c957f8c02e63dc7bd780685bf373fe978f7c47..6880cdd39c7bc923219d67bbb1aaf483e05cd5ce 100644 (file)
@@ -308,7 +308,7 @@ sub autoreconf_current_directory ()
 
   if (!$uses_autoconf)
     {
-      verbose "$configure_ac: not using Autoconf";
+      verb "$configure_ac: not using Autoconf";
       return;
     }
 
@@ -335,11 +335,11 @@ sub autoreconf_current_directory ()
   # scanning configure.ac.
   if (!$uses_gettext)
     {
-      verbose "$configure_ac: not using Gettext";
+      verb "$configure_ac: not using Gettext";
     }
   elsif (!$install)
     {
-      verbose "$configure_ac: not running autopoint: --install not given";
+      verb "$configure_ac: not running autopoint: --install not given";
     }
   else
     {
@@ -388,7 +388,7 @@ sub autoreconf_current_directory ()
 
   if (!$uses_aclocal)
     {
-      verbose "$configure_ac: not using aclocal";
+      verb "$configure_ac: not using aclocal";
     }
   else
     {
@@ -422,7 +422,7 @@ sub autoreconf_current_directory ()
   my $uses_libtool;
   my $uses_autoheader;
   my @subdir;
-  verbose "$configure_ac: tracing";
+  verb "$configure_ac: tracing";
   my $traces = new Autom4te::XFile
     ("$autoconf"
      . join (' --trace=', '',
@@ -449,12 +449,12 @@ sub autoreconf_current_directory ()
     {
       if (-d)
        {
-         verbose "$configure_ac: subdirectory $_ to autoreconf";
+         verb "$configure_ac: subdirectory $_ to autoreconf";
          autoreconf ($_);
        }
       else
        {
-         verbose "$configure_ac: subdirectory $_ not present";
+         verb "$configure_ac: subdirectory $_ not present";
        }
     }
 
@@ -471,7 +471,7 @@ sub autoreconf_current_directory ()
 
   if (!$uses_libtool)
     {
-      verbose "$configure_ac: not using Libtool";
+      verb "$configure_ac: not using Libtool";
     }
   elsif ($install)
     {
@@ -480,7 +480,7 @@ sub autoreconf_current_directory ()
     }
   else
     {
-      verbose "$configure_ac: not running libtoolize: --install not given";
+      verb "$configure_ac: not running libtoolize: --install not given";
     }
 
 
@@ -495,7 +495,7 @@ sub autoreconf_current_directory ()
     {
       if (!$uses_aclocal)
        {
-         verbose "$configure_ac: not using aclocal";
+         verb "$configure_ac: not using aclocal";
        }
       else
        {
@@ -532,7 +532,7 @@ sub autoreconf_current_directory ()
   # config.h.in when it sees an AC_CONFIG_HEADERS.
   if (!$uses_autoheader)
     {
-      verbose "$configure_ac: not using Autoheader";
+      verb "$configure_ac: not using Autoheader";
     }
   else
     {
@@ -547,7 +547,7 @@ sub autoreconf_current_directory ()
   # Assumes that there is a Makefile.am in the topmost directory.
   if (!-f 'Makefile.am')
     {
-      verbose "$configure_ac: not using Automake";
+      verb "$configure_ac: not using Automake";
     }
   else
     {
@@ -566,7 +566,7 @@ sub autoreconf_current_directory ()
     {
       if (!-f "config.status")
        {
-         verbose "no config.status: cannot re-make";
+         verb "no config.status: cannot re-make";
        }
       else
        {
@@ -574,7 +574,7 @@ sub autoreconf_current_directory ()
          xsystem ("./config.status");
          if (!-f "Makefile")
            {
-             verbose "no Makefile: cannot re-make";
+             verb "no Makefile: cannot re-make";
            }
          else
            {
@@ -595,7 +595,7 @@ sub autoreconf ($)
 
   # The format for this message is not free: taken from Emacs, itself
   # using GNU Make's format.
-  verbose "Entering directory `$directory'";
+  verb "Entering directory `$directory'";
   chdir $directory
     or error "cannot chdir to $directory: $!";
 
@@ -603,7 +603,7 @@ sub autoreconf ($)
 
   # The format is not free: taken from Emacs, itself using GNU Make's
   # format.
-  verbose "Leaving directory `$directory'";
+  verb "Leaving directory `$directory'";
   chdir $cwd
     or error "cannot chdir to $cwd: $!";
 }
index bea5c60a9400895efe65b1bcd8cdfee5e6e4c2e1..7810bfa88563ee4a142ec807d3bd00f144c1433f 100644 (file)
@@ -147,7 +147,7 @@ Try `$me --help' for more information.\n"
 
   my $srcdir = $ARGV[0] || ".";
 
-  verbose "srcdir = $srcdir";
+  verb "srcdir = $srcdir";
   chdir $srcdir || error "cannot cd to $srcdir: $!";
 }
 
@@ -566,7 +566,7 @@ sub check_configure_ac ($)
     join (' --trace=', '',
          uniq (sort (map { s/\(.*//; $_ } keys %needed_macros)));
 
-  verbose "running: $autoconf $trace_option $configure_ac";
+  verb "running: $autoconf $trace_option $configure_ac";
   my $traces =
     new Autom4te::XFile "$autoconf $trace_option $configure_ac|";
 
index 6ca8fb0c7d158f05f15ccfd2cedefe941a18adfc..e7eb8f82c4aa1e3075053658063f6990c66c6284 100644 (file)
@@ -105,8 +105,6 @@ sub parse_args ()
          'B|prepend-include=s' => \@prepend_include,
          'f|force'             => \$force);
 
-  setup_channel 'note', silent => !$verbose;
-
   if (! @ARGV)
     {
       my $configure_ac = require_configure_ac;
index e9293f3b9d5fa18da8c66be711d932a33b75fd15..bfc74b5e63f9a07ba390a2bba107222ff8e93546 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2003-05-04.08}
+\def\texinfoversion{2003-07-28.08}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -887,13 +887,13 @@ where each line of input produces a line of output.}
 
 % @firstparagraphindent WORD
 % If WORD is `none', then suppress indentation of the first paragraph
-% after a section heading.  If WORD is `insert', then do indentat such
+% after a section heading.  If WORD is `insert', then do indent at such
 % paragraphs.
 %
 % The paragraph indentation is suppressed or not by calling
-% \suppressfirstparagraphindent, which the sectioning commands do.  We
-% switch the definition of this back and forth according to WORD.  By
-% default, we suppress indentation.
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
 %
 \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
 \newdimen\currentparindent
@@ -2524,20 +2524,6 @@ width0pt\relax} \fi
 % Prevent errors for section commands.
 % Used in @ignore and in failing conditionals.
 \def\ignoresections{%
-  \let\chapter=\relax
-  \let\unnumbered=\relax
-  \let\top=\relax
-  \let\unnumberedsec=\relax
-  \let\unnumberedsection=\relax
-  \let\unnumberedsubsec=\relax
-  \let\unnumberedsubsection=\relax
-  \let\unnumberedsubsubsec=\relax
-  \let\unnumberedsubsubsection=\relax
-  \let\section=\relax
-  \let\subsec=\relax
-  \let\subsubsec=\relax
-  \let\subsection=\relax
-  \let\subsubsection=\relax
   \let\appendix=\relax
   \let\appendixsec=\relax
   \let\appendixsection=\relax
@@ -2545,110 +2531,26 @@ width0pt\relax} \fi
   \let\appendixsubsection=\relax
   \let\appendixsubsubsec=\relax
   \let\appendixsubsubsection=\relax
+  %\let\begin=\relax
+  %\let\bye=\relax
+  \let\centerchap=\relax
+  \let\chapter=\relax
   \let\contents=\relax
+  \let\section=\relax
   \let\smallbook=\relax
+  \let\subsec=\relax
+  \let\subsection=\relax
+  \let\subsubsec=\relax
+  \let\subsubsection=\relax
   \let\titlepage=\relax
-}
-
-% Used in nested conditionals, where we have to parse the Texinfo source
-% and so want to turn off most commands, in case they are used
-% incorrectly.
-%
-% We use \empty instead of \relax for the @def... commands, so that \end
-% doesn't throw an error.  For instance:
-% @ignore
-% @deffn ...
-% @end deffn
-% @end ignore
-%
-% The @end deffn is going to get expanded, because we're trying to allow
-% nested conditionals.  But we don't want to expand the actual @deffn,
-% since it might be syntactically correct and intended to be ignored.
-% Since \end checks for \relax, using \empty does not cause an error.
-%
-\def\ignoremorecommands{%
-  \let\defcodeindex = \relax
-  \let\defcv = \empty
-  \let\defcvx = \empty
-  \let\Edefcv = \empty
-  \let\deffn = \empty
-  \let\deffnx = \empty
-  \let\Edeffn = \empty
-  \let\defindex = \relax
-  \let\defivar = \empty
-  \let\defivarx = \empty
-  \let\Edefivar = \empty
-  \let\defmac = \empty
-  \let\defmacx = \empty
-  \let\Edefmac = \empty
-  \let\defmethod = \empty
-  \let\defmethodx = \empty
-  \let\Edefmethod = \empty
-  \let\defop = \empty
-  \let\defopx = \empty
-  \let\Edefop = \empty
-  \let\defopt = \empty
-  \let\defoptx = \empty
-  \let\Edefopt = \empty
-  \let\defspec = \empty
-  \let\defspecx = \empty
-  \let\Edefspec = \empty
-  \let\deftp = \empty
-  \let\deftpx = \empty
-  \let\Edeftp = \empty
-  \let\deftypefn = \empty
-  \let\deftypefnx = \empty
-  \let\Edeftypefn = \empty
-  \let\deftypefun = \empty
-  \let\deftypefunx = \empty
-  \let\Edeftypefun = \empty
-  \let\deftypeivar = \empty
-  \let\deftypeivarx = \empty
-  \let\Edeftypeivar = \empty
-  \let\deftypemethod = \empty
-  \let\deftypemethodx = \empty
-  \let\Edeftypemethod = \empty
-  \let\deftypeop = \empty
-  \let\deftypeopx = \empty
-  \let\Edeftypeop = \empty
-  \let\deftypevar = \empty
-  \let\deftypevarx = \empty
-  \let\Edeftypevar = \empty
-  \let\deftypevr = \empty
-  \let\deftypevrx = \empty
-  \let\Edeftypevr = \empty
-  \let\defun = \empty
-  \let\defunx = \empty
-  \let\Edefun = \empty
-  \let\defvar = \empty
-  \let\defvarx = \empty
-  \let\Edefvar = \empty
-  \let\defvr = \empty
-  \let\defvrx = \empty
-  \let\Edefvr = \empty
-  \let\clear = \relax
-  \let\down = \relax
-  \let\evenfooting = \relax
-  \let\evenheading = \relax
-  \let\everyfooting = \relax
-  \let\everyheading = \relax
-  \let\headings = \relax
-  \let\include = \relax
-  \let\item = \relax
-  \let\lowersections = \relax
-  \let\oddfooting = \relax
-  \let\oddheading = \relax
-  \let\printindex = \relax
-  \let\pxref = \relax
-  \let\raisesections = \relax
-  \let\ref = \relax
-  \let\set = \relax
-  \let\setchapternewpage = \relax
-  \let\setchapterstyle = \relax
-  \let\settitle = \relax
-  \let\up = \relax
-  \let\verbatiminclude = \relax
-  \let\xref = \relax
+  \let\top=\relax
+  \let\unnumbered=\relax
+  \let\unnumberedsec=\relax
+  \let\unnumberedsection=\relax
+  \let\unnumberedsubsec=\relax
+  \let\unnumberedsubsection=\relax
+  \let\unnumberedsubsubsec=\relax
+  \let\unnumberedsubsubsection=\relax
 }
 
 % Ignore @ignore, @ifhtml, @ifinfo, and the like.
@@ -2670,141 +2572,78 @@ width0pt\relax} \fi
 % which this file should belong to.  Ignore this in TeX.
 \let\dircategory = \comment
 
-% Ignore text until a line `@end #1'.
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
 %
+% A count to remember the depth of nesting.
+\newcount\doignorecount  \doignorecount = 0
+
 \def\doignore#1{\begingroup
   % Don't complain about control sequences we have declared \outer.
   \ignoresections
   %
-  % Define a command to swallow text until we reach `@end #1'.
-  % This @ is a catcode 12 token (that is the normal catcode of @ in
-  % this texinfo.tex file).  We change the catcode of @ below to match.
-  \long\def\doignoretext##1@end #1{\enddoignore}%
-  %
   % Make sure that spaces turn into tokens that match what \doignoretext wants.
   \catcode\spaceChar = 10
   %
-  % Ignore braces, too, so mismatched braces don't cause trouble.
+  % Ignore braces, so mismatched braces don't cause trouble.
   \catcode`\{ = 9
   \catcode`\} = 9
   %
-  % We must not have @c interpreted as a control sequence.
-  \catcode`\@ = 12
+  % Count number of #1's that we've seen.
+  \doignorecount = 0
   %
-  \def\ignoreword{#1}%
-  \ifx\ignoreword\documentdescriptionword
-    % The c kludge breaks documentdescription, since
-    % `documentdescription' contains a `c'.  Means not everything will
-    % be ignored inside @documentdescription, but oh well...
-  \else
-    % Make the letter c a comment character so that the rest of the line
-    % will be ignored. This way, the document can have (for example)
-    %   @c @end ifinfo
-    % and the @end ifinfo will be properly ignored.
-    % (We've just changed @ to catcode 12.)
-    \catcode`\c = 14
-  \fi
-  %
-  % And now expand the command defined above.
-  \doignoretext
-}
-
-% What we do to finish off ignored text.
-%
-\def\enddoignore{\endgroup\ignorespaces}%
-
-\newif\ifwarnedobs\warnedobsfalse
-\def\obstexwarn{%
-  \ifwarnedobs\relax\else
-  % We need to warn folks that they may have trouble with TeX 3.0.
-  % This uses \immediate\write16 rather than \message to get newlines.
-    \immediate\write16{}
-    \immediate\write16{WARNING: for users of Unix TeX 3.0!}
-    \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
-    \immediate\write16{If you are running another version of TeX, relax.}
-    \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
-    \immediate\write16{  Then upgrade your TeX installation if you can.}
-    \immediate\write16{  (See ftp://ftp.gnu.org/non-gnu/TeX.README.)}
-    \immediate\write16{If you are stuck with version 3.0, run the}
-    \immediate\write16{  script ``tex3patch'' from the Texinfo distribution}
-    \immediate\write16{  to use a workaround.}
-    \immediate\write16{}
-    \global\warnedobstrue
-    \fi
+  % Swallow text until we reach the matching `@end #1'.
+  \expandafter \dodoignore \csname#1\endcsname {#1}%
 }
 
-% **In TeX 3.0, setting text in \nullfont hangs tex.  For a
-% workaround (which requires the file ``dummy.tfm'' to be installed),
-% uncomment the following line:
-%%%%%\font\nullfont=dummy\let\obstexwarn=\relax
-
-% Ignore text, except that we keep track of conditional commands for
-% purposes of nesting, up to an `@end #1' command.
-%
-\def\nestedignore#1{%
-  \obstexwarn
-  % We must actually expand the ignored text to look for the @end
-  % command, so that nested ignore constructs work.  Thus, we put the
-  % text into a \vbox and then do nothing with the result.  To minimize
-  % the chance of memory overflow, we follow the approach outlined on
-  % page 401 of the TeXbook.
+{ \catcode`@=11 % We want to use \ST@P which cannot appear in texinfo source.
+  \obeylines %
   %
-  \setbox0 = \vbox\bgroup
-    % Don't complain about control sequences we have declared \outer.
-    \ignoresections
-    %
-    % Define `@end #1' to end the box, which will in turn undefine the
-    % @end command again.
-    \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
-    %
-    % We are going to be parsing Texinfo commands.  Most cause no
-    % trouble when they are used incorrectly, but some commands do
-    % complicated argument parsing or otherwise get confused, so we
-    % undefine them.
-    %
-    % We can't do anything about stray @-signs, unfortunately;
-    % they'll produce `undefined control sequence' errors.
-    \ignoremorecommands
-    %
-    % Set the current font to be \nullfont, a TeX primitive, and define
-    % all the font commands to also use \nullfont.  We don't use
-    % dummy.tfm, as suggested in the TeXbook, because some sites
-    % might not have that installed.  Therefore, math mode will still
-    % produce output, but that should be an extremely small amount of
-    % stuff compared to the main input.
-    %
-    \nullfont
-    \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
-    \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
-    \let\tensf=\nullfont
-    % Similarly for index fonts.
-    \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
-    \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
-    \let\smallsf=\nullfont
-    % Similarly for smallexample fonts.
-    \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont
-    \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont
-    \let\smallersf=\nullfont
-    %
-    % Don't complain when characters are missing from the fonts.
-    \tracinglostchars = 0
-    %
-    % Don't bother to do space factor calculations.
-    \frenchspacing
-    %
-    % Don't report underfull hboxes.
-    \hbadness = 10000
+  \gdef\dodoignore#1#2{%
+    % #1 contains, e.g., \ifinfo, a.k.a. @ifinfo.
+    % #2 contains the string `ifinfo'.
     %
-    % Do minimal line-breaking.
-    \pretolerance = 10000
+    % Define a command to find the next `@end #2', which must be on a line
+    % by itself.
+    \long\def\doignoretext##1^^M\end #2{\doignoretextyyy##1^^M#1\ST@P}%
+    % And this command to find another #1 command, at the beginning of a
+    % line.  (Otherwise, we would consider a line `@c @ifset', for
+    % example, to count as an @ifset for nesting.)
+    \long\def\doignoretextyyy##1^^M#1##2\ST@P{\doignoreyyy{##2}\ST@P}%
     %
-    % Do not execute instructions in @tex.
-    \def\tex{\doignore{tex}}%
-    % Do not execute macro definitions.
-    % `c' is a comment character, so the word `macro' will get cut off.
-    \def\macro{\doignore{ma}}%
+    % And now expand that command.
+    \obeylines %
+    \doignoretext ^^M%
+  }%
+}
+
+\def\doignoreyyy#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty                      % Nothing found.
+    \let\next\doignoretextzzz
+  \else                                        % Found a nested condition, ...
+    \advance\doignorecount by 1
+    \let\next\doignoretextyyy          % ..., look for another.
+    % If we're here, #1 ends with \ifinfo (for example).
+  \fi
+  \next #1% the token \ST@P is present just after this macro.
 }
 
+% We have to swallow the remaining "\ST@P".
+% 
+\def\doignoretextzzz#1{%
+  \ifnum\doignorecount = 0     % We have just found the outermost @end.
+    \let\next\enddoignore
+  \else                                % Still inside a nested condition.
+    \advance\doignorecount by -1
+    \let\next\doignoretext      % Look for the next @end.
+  \fi
+  \next
+}
+
+% Finish off ignored text.
+\def\enddoignore{\endgroup\ignorespaces}
+
+
 % @set VAR sets the variable VAR to an empty value.
 % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
 %
@@ -2881,7 +2720,7 @@ width0pt\relax} \fi
   \next
 }
 \def\ifsetsucceed{\conditionalsucceed{ifset}}
-\def\ifsetfail{\nestedignore{ifset}}
+\def\ifsetfail{\doignore{ifset}}
 \defineunmatchedend{ifset}
 
 % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
@@ -2897,7 +2736,7 @@ width0pt\relax} \fi
   \next
 }
 \def\ifclearsucceed{\conditionalsucceed{ifclear}}
-\def\ifclearfail{\nestedignore{ifclear}}
+\def\ifclearfail{\doignore{ifclear}}
 \defineunmatchedend{ifclear}
 
 % @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we
@@ -4023,23 +3862,27 @@ width0pt\relax} \fi
 %          if justification is not attempted.  Hence \raggedright.
 
 
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
+\def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\raggedright
-                    \rm #1\hfill}}\bigskip \par\penalty 200}
+  \parsearg\chapheadingzzz
+}
 
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz #1{%
   {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
                     \parindent=0pt\raggedright
-                    \rm #1\hfill}}\bigskip \par\penalty 200}
+                    \rm #1\hfill}}%
+  \bigskip \par\penalty 200\relax
+  \suppressfirstparagraphindent
+}
 
 % @heading, @subheading, @subsubheading.
-\def\heading{\parsearg\plainsecheading}
-\def\subheading{\parsearg\plainsubsecheading}
-\def\subsubheading{\parsearg\plainsubsubsecheading}
+\def\heading{\parsearg\doheading}
+\def\subheading{\parsearg\dosubheading}
+\def\subsubheading{\parsearg\dosubsubheading}
+\def\doheading#1{\plainsecheading{#1}\suppressfirstparagraphindent}
+\def\dosubheading#1{\plainsubsecheading{#1}\suppressfirstparagraphindent}
+\def\dosubsubheading#1{\plainsubsubsecheading{#1}\suppressfirstparagraphindent}
 
 % These macros generate a chapter, section, etc. heading only
 % (including whitespace, linebreaking, etc. around it),
@@ -6177,7 +6020,6 @@ width0pt\relax} \fi
     \closein 1
     \input \jobname.aux
     \global\havexrefstrue
-    \global\warnedobstrue
   \fi
   % Open the new aux file.  TeX will close it automatically at exit.
   \openout\auxfile=\jobname.aux
index a5dc7bcca9e444f8878da5cc935f8249c06e0e84..6b5c584c3d249f7a3dcf407a35f2233f672d7c28 100644 (file)
@@ -36,8 +36,8 @@ used in several executables of the Autoconf and Automake packages.
 use 5.005_03;
 use Exporter;
 use Autom4te::ChannelDefs;
+use Autom4te::Channels;
 use File::Basename;
-use File::Spec;
 use File::stat;
 use IO::File;
 use Carp;
@@ -54,9 +54,8 @@ my @export_vars =
 # Functions we define and export.
 my @export_subs =
   qw (&debug
-      &file_name_is_absolute
       &getopt &mktmpdir
-      &uniq &verbose);
+      &uniq);
 
 # Functions we forward (coming from modules we use).
 my @export_forward_subs =
@@ -147,12 +146,6 @@ $version = undef;
 =cut
 
 
-## ------------ ##
-## Prototypes.  ##
-## ------------ ##
-
-sub verbose (@);
-
 
 ## ----- ##
 ## END.  ##
@@ -247,24 +240,6 @@ sub debug (@)
 }
 
 
-=item C<file_name_is_absolute ($filename)>
-
-Wrapper around C<File::Spec->file_name_is_absolute>.  Return true iff
-C<$filename> is absolute.
-
-=cut
-
-# $BOOLEAN
-# &file_name_is_absolute ($FILE)
-# ------------------------------
-sub file_name_is_absolute ($)
-{
-  my ($file) = @_;
-  return File::Spec->file_name_is_absolute ($file);
-}
-
-
-
 =item C<getopt (%option)>
 
 Wrapper around C<Getopt::Long>.  In addition to the user C<option>s,
@@ -311,6 +286,9 @@ sub getopt (%)
 
   push @ARGV, '-'
     if $stdin;
+
+  setup_channel 'note', silent => !$verbose;
+  setup_channel 'verb', silent => !$verbose;
 }
 
 
@@ -372,24 +350,6 @@ sub uniq (@)
 }
 
 
-=item C<verbose (@message)>
-
-If the verbose mode is enabled (C<$verbose>), report the C<@message>
-on C<STDERR>, signed with the name of the program.  These messages are
-meant for ordinary users, and typically make explicit the steps being
-performed.
-
-=cut
-
-# verbose(@MESSAGE)
-# -----------------
-sub verbose (@)
-{
-  print STDERR "$me: ", @_, "\n"
-    if $verbose;
-}
-
-
 =item C<handle_exec_errors ($command)>
 
 Display an error message for C<$command>, based on the content of