Article View: gnu.utils.bug
Article #837indent-1.6 -troff : character constants
From: GNU - Mutter aller PDVSoftNummer...
Date: Mon, 14 Sep 1992 01:06
Date: Mon, 14 Sep 1992 01:06
172 lines
4313 bytes
4313 bytes
GNU-indent-1.6 has been configured for SUN3 and was compiled
with GCC-2.2.2 for SUN3.
GNU-indent-1.6 does not handle character constants in a correct manner
using "-troff" option. It generates wrong constants, or keeps sequence
of characters with special meaning to "troff", which will generate
everything else than desired.
Below follows a short C text, its translation to troff,
and "config.status" of GNU-indent-1.6.
best adams
Reply to "gnu@pdv2.fmr.maschinenbau.th-darmstadt.de"
============================== log ============================================
22:43:10 pdv3 > cat stupid.c
/*
* A simple C - program to show
* bugs in indent-1.6 by FSF.
*
* It will generate bad
* troff code both for
* char constants
* and quote ( "'", ascii code 0x24).
*
*/
char digits[]={'1','2','3','4','5'};
/*
* control characters
*/
char control_chars[]={'\n', '\r'};
/*
* more tricky ones
*/
char tricky_chars[]={'\000', '\007'};
/*
* even more tricky
*/
char more_tricky_chars[]={'\\', '\'', '\"'};
22:46:26 pdv3 > indent-1.6 -version
GNU indent 1.6
22:46:40 pdv3 > indent-1.6 -v -troff -st stupid.c > stupid.nroff
option: troff
option: st
22:47:08 pdv3 > cat stupid.nroff
.ds fB R
.nr sB 11
.ds fC I
.nr sC 11
.ds fL I
.nr sL 13
.ds fX I
.nr sX 13
.ds fS L
.nr sS 11
.ds fK B
.nr sK 11
.Fn "stupid.c"
.*/
./* 7p -1 0p
A simple C - program to show
bugs in indent-1.6 by FSF.
It will generate bad
troff code both for
char constants
and quote ( "'", ascii code 0x24).
.*/
\h'|0p'\fBCHAR\fR
.De 14p+7p
digits[] =
\h'|0p'{`\f\fR, `\f\fR, `\f\fR, `\f\fR, `\f\fR};
.*/
./* 7p -1 0p
Control characters
.*/
\h'|0p'\fBCHAR\fR
.De 14p+7p
control_chars[] =
\h'|0p'{`\fL\\\fR, `\fL\\\fR};
.*/
./* 7p -1 0p
More tricky ones
.*/
\h'|0p'\fBCHAR\fR
.De 14p+7p
tricky_chars[] =
\h'|0p'{`\fL\\\fR, `\fL\\\fR};
.*/
./* 7p -1 0p
Even more tricky
.*/
\h'|0p'\fBCHAR\fR
.De 14p+7p
more_tricky_chars[] =
\h'|0p'{`\fL\\\\fR, `\fL\\\fR, `\fL\\\fR};
There were 27 output lines and 4 comments
(Lines with comments)/(Lines with code): 0.000
22:47:14 pdv3 >
================================= config.status ===============================
#!/bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows:
# configure --prefix=/usr/local/ --exec_prefix=/usr/local/
case "$1" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
exec /bin/sh configure --prefix=/usr/local/ --exec_prefix=/usr/local/ ;;
esac
trap 'rm -f zmakefile; exit 1' 1 3 15
CC='gcc -O'
CPP='${CC-cc} -E'
INSTALL='/bin/install -c'
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
LIBOBJS=''
LIBS=''
srcdir='.'
DEFS=' -DHAVE_UNISTD_H=1 -DDIRENT=1'
prefix='/usr/local/'
exec_prefix='/usr/local/'
prsub='s,^prefix[ ]*=.*$,prefix = /usr/local/,
s,^exec_prefix[ ]*=.*$,exec_prefix = /usr/local/,'
top_srcdir=$srcdir
for file in zmakefile; do
srcdir=$top_srcdir
# Remove last slash and all that follows it. Not all systems have dirname.
dir=`echo $file|sed 's,/[^/][^/]*$,,'`
if test "$dir" != "$file"; then
test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
test ! -d $dir && mkdir $dir
fi
echo creating $file
rm -f $file
echo "# Generated automatically from `basename $file`.in by configure." > $file
sed -e "
$prsub
s,@CC@,$CC,g
s,@CPP@,$CPP,g
s,@INSTALL@,$INSTALL,g
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,g
s,@INSTALL_DATA@,$INSTALL_DATA,g
s,@LIBOBJS@,$LIBOBJS,g
s,@LIBS@,$LIBS,g
s,@srcdir@,$srcdir,g
s,@DEFS@,$DEFS," $top_srcdir/${file}.in >> $file
done
Technical Details
Message-ID:
<GNU.92Sep14010643@PDV2.fmr.maschinenbau.th-darmstadt.de>Path:
arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!pdv2.fmr.maschinenbau.th-darmstadt.de!gnuShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!pdv2.fmr.maschinenbau.th-darmstadt.de!gnu From: gnu@pdv2.fmr.maschinenbau.th-darmstadt.de (GNU - Mutter aller PDVSoftNummern) Newsgroups: gnu.utils.bug Subject: indent-1.6 -troff : character constants Message-ID: <GNU.92Sep14010643@PDV2.fmr.maschinenbau.th-darmstadt.de> Date: 14 Sep 92 01:06:43 GMT Sender: gnulists@ai.mit.edu Distribution: gnu Organization: /usr/users/gnu/.organization Lines: 172 Approved: bug-gnu-utils@prep.ai.mit.edu