automake-patches
[Top][All Lists]
Advanced

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

FYI: update XFile.pm from Autoconf (Was: Re: build question)


From: Alexandre Duret-Lutz
Subject: FYI: update XFile.pm from Autoconf (Was: Re: build question)
Date: Thu, 14 Feb 2002 15:18:45 +0100
User-agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i386-debian-linux-gnu)

I'm checking in the following patch, which change `make fetch'
to update XFile.pm automatically from CVS Autoconf.

Index: ChangeLog
===================================================================
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.1760
diff -u -r1.1760 ChangeLog
--- ChangeLog   2002/02/02 07:18:47     1.1760
+++ ChangeLog   2002/02/14 14:11:03
@@ -1,3 +1,11 @@
+2002-02-14  Alexandre Duret-Lutz  <address@hidden>
+
+       * Makefile.am (FETCHFILES): Add Automake/XFile.pm.
+       (fetch): Fetch XFile.pm.  Update the files in $(srcdir) instead
+       of asking the maintainer to do it manually.
+       * lib/config.guess, lib/config.sub, lib/texinfo.tex,
+       Automake/XFile.pm: New upstream versions.
+
 2002-02-02  Tom Tromey  <address@hidden>
 
        * automake.texi (Macros): Warn about upgrading.
Index: Makefile.am
===================================================================
RCS file: /cvs/automake/automake/Makefile.am,v
retrieving revision 1.184
diff -u -r1.184 Makefile.am
--- Makefile.am 2002/01/27 21:58:49     1.184
+++ Makefile.am 2002/02/14 14:11:03
@@ -180,23 +180,30 @@
 
 ## Files that we fetch and which we compare against.
 ## FIXME should be a lot more here
-FETCHFILES = config.guess config.sub texinfo.tex
+FETCHFILES = config.guess config.sub texinfo.tex Automake/XFile.pm
 
 ## Fetch the latest versions of files we care about.
 fetch:
        rm -rf Fetchdir > /dev/null 2>&1
-       mkdir Fetchdir
+       mkdir Fetchdir; mkdir Fetchdir/Automake
 ## If a get fails then that is a problem.
        (cd Fetchdir && \
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.guess; \
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.sub; \
-       $(WGET) ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex)
+       $(WGET) ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex; \
+       $(WGET) 
http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/autoconf/autoconf/lib/Autom4te/XFile.pm?content-type=text/plain
 -O Automake/XFile.pm)
+       perl -pi -e 's/Autom4te::/Automake::/g' Fetchdir/Automake/XFile.pm
 ## Don't exit after test because we want to give as many errors as
 ## possible.
        @stat=0; for file in $(FETCHFILES); do \
-         if diff $(srcdir)/lib/$$file Fetchdir/$$file > /dev/null 2>&1; then 
:; \
+         if diff -u $(srcdir)/lib/$$file Fetchdir/$$file \
+                 >>Fetchdir/update.patch 2>/dev/null; then :; \
          else \
            stat=1; \
-           echo "install Fetchdir/$$file into srcdir and commit"; \
+           echo "Updating $(srcdir)/lib/$$file..."; \
+           cp Fetchdir/$$file $(srcdir)/lib/$$file; \
          fi; \
-       done; exit $$stat
+       done; \
+       test $$stat = 1 && \
+         echo "See Fetchdir/update.patch for a log of the changes."; \
+       exit $$stat
Index: Makefile.in
===================================================================
RCS file: /cvs/automake/automake/Makefile.in,v
retrieving revision 1.357
diff -u -r1.357 Makefile.in
--- Makefile.in 2002/01/28 01:46:59     1.357
+++ Makefile.in 2002/02/14 14:11:03
@@ -92,7 +92,7 @@
 
 WGET = wget
 
-FETCHFILES = config.guess config.sub texinfo.tex
+FETCHFILES = config.guess config.sub texinfo.tex Automake/XFile.pm
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
@@ -682,18 +682,25 @@
 
 fetch:
        rm -rf Fetchdir > /dev/null 2>&1
-       mkdir Fetchdir
+       mkdir Fetchdir; mkdir Fetchdir/Automake
        (cd Fetchdir && \
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.guess; \
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.sub; \
-       $(WGET) ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex)
+       $(WGET) ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex; \
+       $(WGET) 
http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/autoconf/autoconf/lib/Autom4te/XFile.pm?content-type=text/plain
 -O Automake/XFile.pm)
+       perl -pi -e 's/Autom4te::/Automake::/g' Fetchdir/Automake/XFile.pm
        @stat=0; for file in $(FETCHFILES); do \
-         if diff $(srcdir)/lib/$$file Fetchdir/$$file > /dev/null 2>&1; then 
:; \
+         if diff -u $(srcdir)/lib/$$file Fetchdir/$$file \
+                 >>Fetchdir/update.patch 2>/dev/null; then :; \
          else \
            stat=1; \
-           echo "install Fetchdir/$$file into srcdir and commit"; \
+           echo "Updating $(srcdir)/lib/$$file..."; \
+           cp Fetchdir/$$file $(srcdir)/lib/$$file; \
          fi; \
-       done; exit $$stat
+       done; \
+       test $$stat = 1 && \
+         echo "See Fetchdir/update.patch for a log of the changes."; \
+       exit $$stat
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
Index: lib/config.guess
===================================================================
RCS file: /cvs/automake/automake/lib/config.guess,v
retrieving revision 1.22
diff -u -r1.22 config.guess
--- config.guess        2002/01/28 00:33:48     1.22
+++ config.guess        2002/02/14 14:11:03
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-01-23'
+timestamp='2002-02-12'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -837,9 +837,8 @@
        # The BFD linker knows what the default object file format is, so
        # first see if it will tell us. cd to the root directory to prevent
        # problems with other programs or directories called `ld' in the path.
-       # Export LANG=C to prevent ld from outputting information in other
-       # languages.
-       ld_supported_targets=`LANG=C; export LANG; cd /; ld --help 2>&1 \
+       # Set LC_ALL=C to ensure ld outputs messages in English.
+       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
                         | sed -ne '/supported targets:/!d
                                    s/[         ][      ]*/ /g
                                    s/.*supported targets: *//
@@ -1067,8 +1066,10 @@
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        if test "${UNAME_MACHINE}" = "x86pc"; then
                UNAME_MACHINE=pc
+               echo i386-${UNAME_MACHINE}-nto-qnx
+       else
+               echo `uname -p`-${UNAME_MACHINE}-nto-qnx
        fi
-       echo `uname -p`-${UNAME_MACHINE}-nto-qnx
        exit 0 ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
Index: lib/config.sub
===================================================================
RCS file: /cvs/automake/automake/lib/config.sub,v
retrieving revision 1.158
diff -u -r1.158 config.sub
--- config.sub  2002/01/15 21:19:50     1.158
+++ config.sub  2002/02/14 14:11:03
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-01-02'
+timestamp='2002-02-12'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -242,11 +242,11 @@
        | mipsisa32 \
        | mn10200 | mn10300 \
        | ns16k | ns32k \
-       | openrisc \
+       | openrisc | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
        | pyramid \
-       | sh | sh[34] | sh[34]eb | shbe | shle \
+       | sh | sh[34] | sh[34]eb | shbe | shle | sh64 \
        | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
        | strongarm \
        | tahoe | thumb | tic80 | tron \
@@ -305,9 +305,9 @@
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
        | pyramid-* \
        | romp-* | rs6000-* \
-       | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
+       | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
        | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
-       | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
+       | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
        | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
@@ -714,6 +714,10 @@
                basic_machine=hppa1.1-oki
                os=-proelf
                ;;
+       or32 | or32-*)
+               basic_machine=or32-unknown
+               os=-coff
+               ;;
        OSE68000 | ose68000)
                basic_machine=m68000-ericsson
                os=-ose
@@ -1006,6 +1010,9 @@
        sh3 | sh4 | sh3eb | sh4eb)
                basic_machine=sh-unknown
                ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
        sparc | sparcv9 | sparcv9b)
                basic_machine=sparc-sun
                ;;
@@ -1093,7 +1100,8 @@
              | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* | -morphos*)
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1258,6 +1266,9 @@
                ;;
        mips*-*)
                os=-elf
+               ;;
+       or32-*)
+               os=-coff
                ;;
        *-tti)  # must be before sparc entry or we get the wrong os.
                os=-sysv3
Index: lib/texinfo.tex
===================================================================
RCS file: /cvs/automake/automake/lib/texinfo.tex,v
retrieving revision 1.16
diff -u -r1.16 texinfo.tex
--- texinfo.tex 2002/01/22 10:04:39     1.16
+++ texinfo.tex 2002/02/14 14:11:04
@@ -3,10 +3,10 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2002-01-04.07}
+\def\texinfoversion{2002-02-11.10}
 %
 % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
-%               2000, 01 Free Software Foundation, Inc.
+%               2000, 01, 02 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software; you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
@@ -54,12 +54,12 @@
 %   tex foo.texi
 %   tex foo.texi
 %   dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps.
-% The extra runs of TeX get the cross-reference information correct.
+% The extra TeX runs get the cross-reference information correct.
 % Sometimes one run after texindex suffices, and sometimes you need more
 % than two; texi2dvi does it as many times as necessary.
 %
 % It is possible to adapt texinfo.tex for other languages.  You can get
-% the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
+% the existing language-specific files from the full Texinfo distribution.
 
 \message{Loading texinfo [version \texinfoversion]:}
 
@@ -836,18 +836,32 @@
 %
 \def\asis#1{#1}
 
-% @math means output in math mode.
-% We don't use $'s directly in the definition of \math because control
-% sequences like \math are expanded when the toc file is written.  Then,
-% we read the toc file back, the $'s will be normal characters (as they
-% should be, according to the definition of Texinfo).  So we must use a
-% control sequence to switch into and out of math mode.
-%
-% This isn't quite enough for @math to work properly in indices, but it
-% seems unlikely it will ever be needed there.
+% @math outputs its argument in math mode.
+% We don't use $'s directly in the definition of \math because we need
+% to set catcodes according to plain TeX first, to allow for subscripts,
+% superscripts, special math chars, etc.
+% 
+% @math does not do math typesetting in section titles, index
+% entries, and other such contexts where the catcodes are set before
+% @math gets a chance to work.  This could perhaps be fixed, but for now
+% at least we can have real math in the main text, where it's needed most.
 %
+% 
 \let\implicitmath = $
-\def\math#1{\implicitmath #1\implicitmath}
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @address@hidden + 1}.  So make
+% _ within @math be active (mathcode "8000), and distinguish by seeing
+% if the current family is \slfam, which is what @var uses.
+% 
+{\catcode95 = \active  % 95 = _
+\gdef\mathunderscore{%
+  \catcode95=\active
+  \def_{\ifnum\fam=\slfam\_\else\sb\fi}%
+}}
+%
+\def\math{\tex\mathcode`\_="8000\mathunderscore \implicitmath\finishmath}
+\def\finishmath#1{#1\implicitmath\Etex}
 
 % @bullet and @minus need the same treatment as @math, just above.
 \def\bullet{\implicitmath\ptexbullet\implicitmath}
@@ -1112,9 +1126,6 @@
   }%
 }
 
-% Use Computer Modern fonts at \magstephalf (11pt).
-\newcount\mainmagstep \mainmagstep=\magstephalf
-
 % Set the font macro #1 to the font named #2, adding on the
 % specified font prefix (normally `cm').
 % #3 is the font's design size, #4 is a scale factor
@@ -1143,13 +1154,16 @@
 \def\scshape{csc}
 \def\scbshape{csc}
 
+\newcount\mainmagstep
 \ifx\bigger\relax
-\let\mainmagstep=\magstep1
-\setfont\textrm\rmshape{12}{1000}
-\setfont\texttt\ttshape{12}{1000}
+  % not really supported.
+  \let\mainmagstep=\magstep1
+  \setfont\textrm\rmshape{12}{1000}
+  \setfont\texttt\ttshape{12}{1000}
 \else
-\setfont\textrm\rmshape{10}{\mainmagstep}
-\setfont\texttt\ttshape{10}{\mainmagstep}
+  \mainmagstep=\magstephalf
+  \setfont\textrm\rmshape{10}{\mainmagstep}
+  \setfont\texttt\ttshape{10}{\mainmagstep}
 \fi
 % Instead of cmb10, you many want to use cmbx10.
 % cmbx10 is a prettier font on its own, but cmb10
@@ -1229,20 +1243,6 @@
 \font\seci=cmmi12 scaled \magstep1
 \font\secsy=cmsy10 scaled \magstep2
 
-% \setfont\ssecrm\bxshape{10}{\magstep1}    % This size an font looked bad.
-% \setfont\ssecit\itshape{10}{\magstep1}    % The letters were too crowded.
-% \setfont\ssecsl\slshape{10}{\magstep1}
-% \setfont\ssectt\ttshape{10}{\magstep1}
-% \setfont\ssecsf\sfshape{10}{\magstep1}
-
-%\setfont\ssecrm\bfshape{10}{1315}      % Note the use of cmb rather than cmbx.
-%\setfont\ssecit\itshape{10}{1315}      % Also, the size is a little larger 
than
-%\setfont\ssecsl\slshape{10}{1315}      % being scaled magstep1.
-%\setfont\ssectt\ttshape{10}{1315}
-%\setfont\ssecsf\sfshape{10}{1315}
-
-%\let\ssecbf=\ssecrm
-
 % Subsection fonts (13.15pt).
 \setfont\ssecrm\rmbshape{12}{\magstephalf}
 \setfont\ssecit\itbshape{10}{1315}
@@ -1259,17 +1259,16 @@
 
 % In order for the font changes to affect most math symbols and letters,
 % we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts, we
-% don't bother to reset \scriptfont and \scriptscriptfont (which would
-% also require loading a lot more fonts).
+% texinfo doesn't allow for producing subscripts and superscripts except
+% in the main text, we don't bother to reset \scriptfont and
+% \scriptscriptfont (which would also require loading a lot more fonts).
 %
 \def\resetmathfonts{%
-  \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
-  \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
-  \textfont\ttfam = \tentt \textfont\sffam = \tensf
+  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
+  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
+  \textfont\ttfam=\tentt \textfont\sffam=\tensf
 }
 
-
 % The font-changing commands redefine the meanings of \tenSTYLE, instead
 % of just \STYLE.  We do this so that font changes will continue to work
 % in math mode, where it is the current \fam that is relevant in most
@@ -2758,9 +2757,23 @@
 \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
 \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
 
+% Take care of texinfo commands likely to appear in an index entry.
+% (Must be a way to avoid doing expansion at all, and thus not have to
+% laboriously list every single command here.)
+% 
 \def\indexdummies{%
 \def\ { }%
address@hidden@}% change to @@ when we switch to @ as escape char in aux files.
+% Need these in case \tex is in effect and \{ is a \delimiter again.
+% But can't use \lbracecmd and \rbracecmd because texindex assumes
+% braces and backslashes are used only as delimiters.  
+\let\{ = \mylbrace
+\let\} = \myrbrace
+\def\_{{\realbackslash _}}%
+\normalturnoffactive
+%
 % Take care of the plain tex accent commands.
+\def\,##1{\realbackslash ,{##1}}%
 \def\"{\realbackslash "}%
 \def\`{\realbackslash `}%
 \def\'{\realbackslash '}%
@@ -2773,70 +2786,67 @@
 \def\u{\realbackslash u}%
 \def\v{\realbackslash v}%
 \def\H{\realbackslash H}%
+\def\dotless##1{\realbackslash dotless {##1}}%
 % Take care of the plain tex special European modified letters.
-\def\oe{\realbackslash oe}%
-\def\ae{\realbackslash ae}%
-\def\aa{\realbackslash aa}%
-\def\OE{\realbackslash OE}%
-\def\AE{\realbackslash AE}%
 \def\AA{\realbackslash AA}%
-\def\o{\realbackslash o}%
+\def\AE{\realbackslash AE}%
+\def\L{\realbackslash L}%
+\def\OE{\realbackslash OE}%
 \def\O{\realbackslash O}%
+\def\aa{\realbackslash aa}%
+\def\ae{\realbackslash ae}%
 \def\l{\realbackslash l}%
-\def\L{\realbackslash L}%
+\def\oe{\realbackslash oe}%
+\def\o{\realbackslash o}%
 \def\ss{\realbackslash ss}%
-% Take care of texinfo commands likely to appear in an index entry.
-% (Must be a way to avoid doing expansion at all, and thus not have to
-% laboriously list every single command here.)
address@hidden@}% will be @@ when we switch to @ as escape char.
-% Need these in case \tex is in effect and \{ is a \delimiter again.
-% But can't use \lbracecmd and \rbracecmd because texindex assumes
-% braces and backslashes are used only as delimiters.  
-\let\{ = \mylbrace
-\let\} = \myrbrace
-\def\_{{\realbackslash _}}%
-\def\w{\realbackslash w }%
+%
+% Although these internals commands shouldn't show up, sometimes they do.
 \def\bf{\realbackslash bf }%
+\def\gtr{\realbackslash gtr}%
+\def\hat{\realbackslash hat}%
+\def\less{\realbackslash less}%
 %\def\rm{\realbackslash rm }%
-\def\sl{\realbackslash sl }%
 \def\sf{\realbackslash sf}%
+\def\sl{\realbackslash sl }%
+\def\tclose##1{\realbackslash tclose {##1}}%
 \def\tt{\realbackslash tt}%
-\def\gtr{\realbackslash gtr}%
-\def\less{\realbackslash less}%
-\def\hat{\realbackslash hat}%
+%
+\def\b##1{\realbackslash b {##1}}%
+\def\i##1{\realbackslash i {##1}}%
+\def\sc##1{\realbackslash sc {##1}}%
+\def\t##1{\realbackslash t {##1}}%
+\def\r##1{\realbackslash r {##1}}%
+%
 \def\TeX{\realbackslash TeX}%
-\def\dots{\realbackslash dots }%
-\def\result{\realbackslash result}%
-\def\equiv{\realbackslash equiv}%
-\def\expansion{\realbackslash expansion}%
-\def\print{\realbackslash print}%
-\def\error{\realbackslash error}%
-\def\point{\realbackslash point}%
-\def\copyright{\realbackslash copyright}%
-\def\tclose##1{\realbackslash tclose {##1}}%
+\def\acronym##1{\realbackslash acronym {##1}}%
+\def\cite##1{\realbackslash cite {##1}}%
 \def\code##1{\realbackslash code {##1}}%
-\def\uref##1{\realbackslash uref {##1}}%
-\def\url##1{\realbackslash url {##1}}%
-\def\env##1{\realbackslash env {##1}}%
 \def\command##1{\realbackslash command {##1}}%
+\def\dfn##1{\realbackslash dfn {##1}}%
+\def\dots{\realbackslash dots }%
+\def\emph##1{\realbackslash emph {##1}}%
+\def\env##1{\realbackslash env {##1}}%
+\def\file##1{\realbackslash file {##1}}%
+\def\kbd##1{\realbackslash kbd {##1}}%
+\def\key##1{\realbackslash key {##1}}%
+\def\math##1{\realbackslash math {##1}}%
 \def\option##1{\realbackslash option {##1}}%
-\def\dotless##1{\realbackslash dotless {##1}}%
 \def\samp##1{\realbackslash samp {##1}}%
-\def\,##1{\realbackslash ,{##1}}%
-\def\t##1{\realbackslash t {##1}}%
-\def\r##1{\realbackslash r {##1}}%
-\def\i##1{\realbackslash i {##1}}%
-\def\b##1{\realbackslash b {##1}}%
-\def\sc##1{\realbackslash sc {##1}}%
-\def\cite##1{\realbackslash cite {##1}}%
-\def\key##1{\realbackslash key {##1}}%
-\def\file##1{\realbackslash file {##1}}%
+\def\strong##1{\realbackslash strong {##1}}%
+\def\uref##1{\realbackslash uref {##1}}%
+\def\url##1{\realbackslash url {##1}}%
 \def\var##1{\realbackslash var {##1}}%
-\def\kbd##1{\realbackslash kbd {##1}}%
-\def\dfn##1{\realbackslash dfn {##1}}%
-\def\emph##1{\realbackslash emph {##1}}%
-\def\acronym##1{\realbackslash acronym {##1}}%
+\def\w{\realbackslash w }%
 %
+% These math commands don't seem likely to be used in index entries.
+\def\copyright{\realbackslash copyright}%
+\def\equiv{\realbackslash equiv}%
+\def\error{\realbackslash error}%
+\def\expansion{\realbackslash expansion}%
+\def\point{\realbackslash point}%
+\def\print{\realbackslash print}%
+\def\result{\realbackslash result}%
+%
 % Handle some cases of @value -- where the variable name does not
 % contain - or _, and the value does not contain any
 % (non-fully-expandable) commands.
@@ -2860,7 +2870,10 @@
 \def\indexdummydots{...}
 
 \def\indexnofonts{%
-% Just ignore accents.
address@hidden@}%
+% how to handle braces?
+\def\_{\normalunderscore}%
+%
 \let\,=\indexdummyfont
 \let\"=\indexdummyfont
 \let\`=\indexdummyfont
@@ -2876,45 +2889,49 @@
 \let\H=\indexdummyfont
 \let\dotless=\indexdummyfont
 % Take care of the plain tex special European modified letters.
-\def\oe{oe}%
-\def\ae{ae}%
-\def\aa{aa}%
-\def\OE{OE}%
-\def\AE{AE}%
 \def\AA{AA}%
-\def\o{o}%
+\def\AE{AE}%
+\def\L{L}%
+\def\OE{OE}%
 \def\O{O}%
+\def\aa{aa}%
+\def\ae{ae}%
 \def\l{l}%
-\def\L{L}%
+\def\oe{oe}%
+\def\o{o}%
 \def\ss{ss}%
-\let\w=\indexdummyfont
-\let\t=\indexdummyfont
-\let\r=\indexdummyfont
-\let\i=\indexdummyfont
+%
+% Don't no-op \tt, since it isn't a user-level command
+% and is used in the definitions of the active chars like <, >, |, etc.
+% Likewise with the other plain tex font commands.
+%\let\tt=\indexdummyfont
+%
 \let\b=\indexdummyfont
-\let\emph=\indexdummyfont
-\let\strong=\indexdummyfont
-\let\cite=\indexdummyfont
+\let\i=\indexdummyfont
+\let\r=\indexdummyfont
 \let\sc=\indexdummyfont
-%Don't no-op \tt, since it isn't a user-level command
-% and is used in the definitions of the active chars like <, >, |...
-%\let\tt=\indexdummyfont
-\let\tclose=\indexdummyfont
-\let\code=\indexdummyfont
-\let\url=\indexdummyfont
-\let\uref=\indexdummyfont
-\let\env=\indexdummyfont
+\let\t=\indexdummyfont
+%
+\let\TeX=\indexdummytex
 \let\acronym=\indexdummyfont
+\let\cite=\indexdummyfont
+\let\code=\indexdummyfont
 \let\command=\indexdummyfont
-\let\option=\indexdummyfont
+\let\dfn=\indexdummyfont
+\let\dots=\indexdummydots
+\let\emph=\indexdummyfont
+\let\env=\indexdummyfont
 \let\file=\indexdummyfont
-\let\samp=\indexdummyfont
 \let\kbd=\indexdummyfont
 \let\key=\indexdummyfont
+\let\math=\indexdummyfont
+\let\option=\indexdummyfont
+\let\samp=\indexdummyfont
+\let\strong=\indexdummyfont
+\let\uref=\indexdummyfont
+\let\url=\indexdummyfont
 \let\var=\indexdummyfont
-\let\TeX=\indexdummytex
-\let\dots=\indexdummydots
address@hidden@}%
+\let\w=\indexdummyfont
 }
 
 % To define \realbackslash, we must make \ not be an escape.
@@ -4074,7 +4091,7 @@
 \def\tocentry#1#2{\begingroup
   \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
   % Do not use \turnoffactive in these arguments.  Since the toc is
-  % typeset in cmr, so characters such as _ would come out wrong; we
+  % typeset in cmr, characters such as _ would come out wrong; we
   % have to do the usual translation tricks.
   \entry{#1}{#2}%
 \endgroup}
@@ -4903,7 +4920,7 @@
 % #1 is the data type, #2 the name, #3 the args.
 \def\deftypefunheaderx #1#2 #3\relax{%
 \doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypefun}%
+\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}%
 \deftypefunargs {#3}\endgroup %
 \catcode 61=\other % Turn off change made in \defparsebody
 }
@@ -4912,9 +4929,9 @@
 
 \def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
 
-% \defheaderxcond#1\relax$$$
+% \defheaderxcond#1\relax$.$
 % puts #1 in @code, followed by a space, but does nothing if #1 is null.
-\def\defheaderxcond#1#2$$${\ifx#1\relax\else\code{#1#2} \fi}
+\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi}
 
 % #1 is the classification.  #2 is the data type.  #3 is the name and args.
 \def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
@@ -4924,7 +4941,7 @@
 \begingroup
 \normalparens % notably, turn off `&' magic, which prevents
 %               at least some C++ text from working
-\defname {\defheaderxcond#2\relax$$$#3}{#1}%
+\defname {\defheaderxcond#2\relax$.$#3}{#1}%
 \deftypefunargs {#4}\endgroup %
 \catcode 61=\other % Turn off change made in \defparsebody
 }
@@ -4970,7 +4987,7 @@
 \def\deftypeopheader#1#2#3#4{%
   \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
   \begingroup
-    \defname{\defheaderxcond#2\relax$$$#3}
+    \defname{\defheaderxcond#2\relax$.$#3}
             {\deftypeopcategory\ \putwordon\ \code{#1}}%
     \deftypefunargs{#4}%
   \endgroup
@@ -4985,7 +5002,7 @@
 \def\deftypemethodheader#1#2#3#4{%
   \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
   \begingroup
-    \defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
+    \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}%
     \deftypefunargs{#4}%
   \endgroup
 }
@@ -4999,7 +5016,7 @@
 \def\deftypeivarheader#1#2#3{%
   \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
   \begingroup
-    \defname{\defheaderxcond#2\relax$$$#3}
+    \defname{\defheaderxcond#2\relax$.$#3}
             {\putwordInstanceVariableof\ \code{#1}}%
     \defvarargs{#3}%
   \endgroup
@@ -5082,7 +5099,7 @@
 % is actually part of the data type, which should not be put into the index.
 \def\deftypevarheader #1#2{%
 \dovarind#2 \relax% Make entry in variables index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypevar}%
+\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}%
 \interlinepenalty=10000
 \endgraf\nobreak\vskip -\parskip\nobreak
 \endgroup}
@@ -5093,7 +5110,7 @@
 \def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
 
 \def\deftypevrheader #1#2#3{\dovarind#3 \relax%
-\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
+\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1}
 \interlinepenalty=10000
 \endgraf\nobreak\vskip -\parskip\nobreak
 \endgroup}
Index: lib/Automake/XFile.pm
===================================================================
RCS file: /cvs/automake/automake/lib/Automake/XFile.pm,v
retrieving revision 1.1
diff -u -r1.1 XFile.pm
--- XFile.pm    2001/10/02 17:17:45     1.1
+++ XFile.pm    2002/02/14 14:11:04
@@ -17,6 +17,11 @@
 
 # Written by Akim Demaille <address@hidden>.
 
+###############################################################
+# The main copy of this file is in Autoconf's CVS repository. #
+# Updates should be sent to address@hidden         #
+###############################################################
+
 package Automake::XFile;
 
 =head1 NAME
@@ -59,7 +64,8 @@
 =head1 DESCRIPTION
 
 C<Automake::XFile> inherits from C<IO::File>.  It provides dying
-version of the methods C<open>, C<new>, and C<close>.
+version of the methods C<open>, C<new>, and C<close>.  It also overrides
+the C<getline> and C<getlines> methods to translate C<\r\n> to C<\n>.
 
 =head1 SEE ALSO
 
@@ -86,7 +92,7 @@
 
 @ISA = qw(IO::File Exporter DynaLoader);
 
-$VERSION = "1.0";
+$VERSION = "1.1";
 
 @EXPORT = @IO::File::EXPORT;
 
@@ -135,6 +141,11 @@
       my $me = basename ($0);
       croak "$me: cannot open $file: $!\n";
     }
+
+  # In case we're running under MSWindows, don't write with CRLF.
+  # (This circumvents a bug in at least Cygwin bash where the shell
+  # parsing fails on lines ending with the continuation character '\'
+  # and CRLF).
   binmode $fh if $file =~ /^\s*>/;
 }
 
@@ -151,6 +162,33 @@
       my $file = ${*$fh}{'autom4te_xfile_file'};
       croak "$me: cannot close $file: $!\n";
     }
+}
+
+################################################
+## Getline
+##
+
+# Some Win32/perl installations fail to translate \r\n to \n on input
+# so we do that here.
+sub getline
+{
+    local $_ = $_[0]->SUPER::getline;
+    # Perform a _global_ replacement: $_ may can contains many lines
+    # in slurp mode ($/ = undef).
+    s/\015\012/\n/gs if defined $_;
+    return $_;
+}
+
+################################################
+## Getlines
+##
+
+sub getlines
+{
+    my @res = ();
+    my $line;
+    push @res, $line while $line = $_[0]->getline;
+    return @res;
 }
 
 1;

-- 
Alexandre Duret-Lutz




reply via email to

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