[MFC REQUEST] Filename completion in sh(1)

jhell jhell at dataix.net
Mon Jun 21 12:55:43 UTC 2010

On 06/21/2010 08:15, Dag-Erling Smørgrav wrote:
> jhell <jhell at dataix.net> writes:
>> Because SVN in both our patches for tab completion missed filecomplete.h
>> and filecomplete.c [...] the previous patches from des@ &
>> myself will break world builds.
> Speak for yourself.  Both files are present in the patch I posted, and I
> tested it (make toolchain, which builds both libedit and sh) before I
> posted it.

Sorry but he only mention of filecomplete in your patch is in this
section. That is exactly the same in the patch I had originally
generated using SVN.

I would really like to know how SVN knows how to create files that are
missing from one tree to the next ?

Attached is another copy of your patch. downloaded from the message you
sent it with. No need to get upset, of course the commands above you
stated work but also attached is the build log of how I found these were
missing FYI.

I took the time to review the differences, if you would like to point
out where in the patch that you sent or mine... that the new files get
created please let me know.

Index: lib/libedit/Makefile
--- lib/libedit/Makefile        (revision 209229)
+++ lib/libedit/Makefile        (working copy)
@@ -6,7 +6,8 @@
 SHLIBDIR?= /lib

-OSRCS= chared.c common.c el.c emacs.c fcns.c help.c hist.c key.c map.c \
+OSRCS= chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \
+       hist.c key.c map.c \
        parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c vi.c




-------------- next part --------------
A non-text attachment was scrubbed...
Name: sh-tab-completion-stable-8.diff
Type: text/x-patch
Size: 105958 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100621/d42b97a5/sh-tab-completion-stable-8-0001.bin
-------------- next part --------------
===> lib/libcalendar (depend)
rm -f .depend
mkdep -f .depend -a     /usr/src/lib/libcalendar/calendar.c /usr/src/lib/libcalendar/easter.c
===> lib/libcam (depend)
rm -f .depend
mkdep -f .depend -a    -I/usr/src/lib/libcam -I/usr/src/lib/libcam/../../sys /usr/src/lib/libcam/camlib.c /usr/src/lib/libcam/scsi_cmdparse.c /usr/src/lib/libcam/../../sys/cam/scsi/scsi_all.c /usr/src/lib/libcam/../../sys/cam/scsi/scsi_da.c /usr/src/lib/libcam/../../sys/cam/scsi/scsi_sa.c /usr/src/lib/libcam/../../sys/cam/cam.c /usr/src/lib/libcam/../../sys/cam/ata/ata_all.c
echo libcam.so.5: /usr/obj/jail/usr/src/tmp/usr/lib/libsbuf.a >> .depend
===> lib/libcompat (depend)
rm -f .depend
mkdep -f .depend -a    -DLIBC_SCCS -DSYSLIBC_SCCS -I/usr/src/lib/libcompat/../libc/locale /usr/src/lib/libcompat/4.1/ascftime.c /usr/src/lib/libcompat/4.1/cftime.c /usr/src/lib/libcompat/4.1/ftime.c /usr/src/lib/libcompat/4.1/getpw.c /usr/src/lib/libcompat/4.3/cfree.c /usr/src/lib/libcompat/4.3/regex.c /usr/src/lib/libcompat/4.3/rexec.c /usr/src/lib/libcompat/4.4/cuserid.c /usr/src/lib/libcompat/regexp/regerror.c /usr/src/lib/libcompat/regexp/regexp.c /usr/src/lib/libcompat/regexp/regsub.c
===> lib/libdevinfo (depend)
rm -f .depend
mkdep -f .depend -a     /usr/src/lib/libdevinfo/devinfo.c
===> lib/libdevstat (depend)
rm -f .depend
mkdep -f .depend -a    -I/usr/src/lib/libdevstat /usr/src/lib/libdevstat/devstat.c
echo libdevstat.so.7: /usr/obj/jail/usr/src/tmp/usr/lib/libkvm.a >> .depend
===> lib/libdisk (depend)
rm -f .depend
mkdep -f .depend -a    -I/usr/src/lib/libdisk/../../sys/geom /usr/src/lib/libdisk/blocks.c /usr/src/lib/libdisk/change.c /usr/src/lib/libdisk/chunk.c /usr/src/lib/libdisk/create_chunk.c /usr/src/lib/libdisk/disk.c /usr/src/lib/libdisk/open_disk.c /usr/src/lib/libdisk/rules.c /usr/src/lib/libdisk/write_disk.c /usr/src/lib/libdisk/write_i386_disk.c
===> lib/libdwarf (depend)
rm -f .depend
mkdep -f .depend -a    -I. -I/usr/src/lib/libdwarf /usr/src/lib/libdwarf/dwarf_abbrev.c /usr/src/lib/libdwarf/dwarf_attr.c /usr/src/lib/libdwarf/dwarf_attrval.c /usr/src/lib/libdwarf/dwarf_cu.c /usr/src/lib/libdwarf/dwarf_dealloc.c /usr/src/lib/libdwarf/dwarf_die.c /usr/src/lib/libdwarf/dwarf_dump.c /usr/src/lib/libdwarf/dwarf_errmsg.c /usr/src/lib/libdwarf/dwarf_errno.c /usr/src/lib/libdwarf/dwarf_finish.c /usr/src/lib/libdwarf/dwarf_form.c /usr/src/lib/libdwarf/dwarf_init.c /usr/src/lib/libdwarf/dwarf_loc.c
===> lib/libedit (depend)
sh /usr/src/lib/libedit/makelist -h /usr/src/lib/libedit/vi.c > vi.h
sh /usr/src/lib/libedit/makelist -h /usr/src/lib/libedit/emacs.c > emacs.h
sh /usr/src/lib/libedit/makelist -h /usr/src/lib/libedit/common.c > common.h
sh /usr/src/lib/libedit/makelist -fh vi.h emacs.h common.h > fcns.h
sh /usr/src/lib/libedit/makelist -fc vi.h emacs.h common.h > fcns.c
make: don't know how to make filecomplete.c. Stop
*** Error code 2

Stop in /usr/src/lib.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
real 4165.17
user 2651.70
sys 451.96

Script done on Fri Jun 18 23:37:45 2010

More information about the freebsd-current mailing list