Subject: Re: startx buglet
To: Thomas Klausner <wiz@NetBSD.org>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-x11
Date: 03/27/2004 12:53:05
On Sat, 27 Mar 2004, Thomas Klausner wrote:

> xsrc built with build.sh on 20040325 created a startx that contains
> the following lines:
> # display must be the FIRST server argument
>             if [ x"$serverargs" = x ] && @@
>                  expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
>
> The two @s in the second line are obviously wrong.
> Haven't looked yet where this comes from.

The native build subsitutes a "\" continuation character for that.
That file is evidently supposed to be post-processed with this "sed"
script (after "cpp"), defined as CppSedMagic in "xc/Imake.cf":

sed -e '/^#  *[0-9][0-9]*  *.*$$/d' \
			-e '/^#line  *[0-9][0-9]*  *.*$$/d' \
			-e '/^[ 	]*XCOMM$$/s/XCOMM/#/' \
			-e '/^[		]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' \
			-e '/^[		]*XHASH/s/XHASH/#/' \
			-e '/\@\@$$/s/\@\@$$/\\/'

[That's a <space>, then a <tab> between the brackets.] It looks like
the last line is missing from X11TOOL_UNXCOMM in bsd.x11.mk, plus some
other slight differences.

Frederick