With app-shells/tcsh 6.12-r2 installed (and being used), "make test" of a perl module I'm writing returns "Missing }." and doesn't do anything. If I switch to bash then it works, or if I do '/usr/bin/make test' in tcsh then it works too. Doing "uncomplete make" allows "make test" to work in tcsh: if I then paste the 'complete make ...' line from /etc/profile.d/tcsh-complete I get back to the original, broken 'make test' behaviour. I've included "uncomplete make" in my ~/.tcshrc file to avoid this problem. Reproducible: Always Steps to Reproduce: 0. sanity check unix% echo $shell /bin/tcsh 1. In a work directory create an empty perl module to show this problem unix% h2xs -X -n McFoo unix% cd McFoo unix% perl Makefile.PL 2. Check that the 'complete make' setting matches that of /etc/profile.d/tcsh-complete unix% complete make 'n/-f/f/' 'c/*=/f/' 'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ #].*:/s/:.*//p"`@' 3. Try "make test" unix% make test Missing }. 4. Remove the 'complete make' and see it work unix% uncomplete make unix% make test ... see the module being built and then PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/1....ok All tests successful. Files=1, Tests=1, 0 wallclock secs ( 0.13 cusr + 0.02 csys = 0.15 CPU) 5. Clean up unix% cd .. unix% rm -r McFoo Actual Results: Included results with step information Expected Results: Included results with step information Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.19-gentoo-r10 i686 Mobile Pentium II GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/ 3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss apm crypt cups encode gif jpeg kde libg++ mpeg ncurses pdflib png quicktime spell truetype xml2 xmms zlib g dbm berkdb slang readline arts svga java X sdl gpm tcpd pam libwww ssl python esd imlib oggvorbis qt motif opengl -3dnow -avi dvd gd -gnome gphoto2 -gtk gtk2 -mikmod mmx -nls pcmcia perl pic pnp tetex usb -xv" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium2 -O2 -frename-registers -fomit-frame-pointer -pipe" CXXFLAGS="-march=pentium2 -O2 -frename-registers -fomit-frame-pointer -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
This happens because of the regexp used in complete make. IMO it should be replaced by: 'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ \t# ]\+.*:/s/:.*//p"`@' which does what it is supposed to do - that is - excludes all lines starting with spaces, tabs or hashes.
*** Bug 37374 has been marked as a duplicate of this bug. ***
Michal, your patch indeed makes the output a lot cleaner and it doesn't complain, but it doesn't include "menuconfig" for me, so it doesn't complete. I don't think this is vital, as it is only a 'helper'...
*** Bug 95151 has been marked as a duplicate of this bug. ***
note to self: done
Fixed in 6.14-r1