shell inserts spurious newline after backquote expansion

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Sun Oct 25 14:20:39 PDT 2009


I came across a very strange sh bug today.

The attachment is a reduced case (original a configure script).  If you 
run it, sh will create a file "o".  The bug is that sh will insert a 
newline where it should not appear.

I tracked it down to commit 0c6fe0fc88 [1], but I am not convinced that 
it actually introduced the bug.  If you change MINSIZE to any other 
value, the bug at hand does not show anymore.  That's why I think that 
this commit simply uncovered an existing bug.

Anybody have some clue what is going on?

cheers
  simon
[1] 
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0c6fe0fc88a075bb1c0b8d6dceac7f2c659c8a99

--
  <3 the future  +++  RENT this banner advert  +++   ASCII Ribbon   /"\
  rock the past  +++  space for low CHF NOW!1  +++     Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \
ECHO='echo'
SED='/usr/bin/sed'
Xsed='/usr/bin/sed -e 1s/^X//'
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'

with_target_subdir="XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
multi_basedir="XXXXXXXXXXXXXXXXXXXXXXX"
CONFIG_SHELL=XXXXXXX
CC="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
sed_quote_subst='XXXXXXXXXXXXXXXXXXXX'
delay_variable_subst='XXXXXXXXXXXXXXXXXXXXXXXX'
macro_version=XXXXX
macro_revision='XXXXXX'
enable_fast_install='XXXXXXXX'
host_alias='XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
host='XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
host_os='XXXXXXXXXXXXXX'
build='XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
build_os=''

cat >o <<_ACEOF
#
# INIT-COMMANDS section.
#


XXXXX"$host"
XXXXXXX"$host"
XXXXXXXXXXXXXXXXX""
XXXXXXXXXXXXXXXXX""
XXXXXXXXXXXXXXXXXXX"$with_target_subdir"
XXXXXXXXXXXXXXXXXX"${multilib_arg} ${ac_configure_args}"
XXXXXXXXXXXXXXX$multi_basedir"
replacetheeq=${CONFIG_SHELL-/bin/sh}
XXX"$CC"


XXXXXXXXXXXXXXX='$sed_quote_subst'
XXXXXXXXXXXXXXXXXX='$double_quote_subst'
XXXXXXXXXXXXXXXXXXXX='$delay_variable_subst'
XXXXXXXXXXXXX='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXXXXXXX='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
=needeqalsoher'`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
replacetheeqX='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXX'`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXXXXXXXXXXXXX'`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXXXX'`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
XXXXX'`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXX'`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXXXXX'`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXX'`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
XXXXXXXXX'`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
here'`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
_ACEOF




More information about the Bugs mailing list