[Bash-completion-devel] _filedir quoting patch for upcoming bash 4.3

Raphaël Droz raphael.droz at gmail.com
Wed Feb 13 19:12:11 UTC 2013


Recently tried upcoming 4.3 release of bash and found filename
completion to not work as expected.
This patch attempt to fix this, anyway _filedir_xspec could be concerned
too.
See: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00056.html
I hope I understood correctly the above-mentioned change.
... and I also fully understand that it could be too early for this patch.


Note: I can't get the testsuite to run with packaged 4.2p42 [ log attached ]
while:
$ ./runUnit --tool_exec ~/dev/bash-4.3
# will actually run (with quite some failures anyway)



Side note: there no information about the new "direxpand" feature, while
I believe it may have some implication on bash-completion. Any hint
about this yet ?




best regards
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bash-4.3-dont-filedir-noquote.patch
Type: text/x-diff
Size: 581 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/bash-completion-devel/attachments/20130213/ccdb228e/attachment.patch>
-------------- next part --------------
WARNING: Couldn't find the global config file.
Test Run By user on Wed Feb 13 20:06:14 2013
Native configuration is x86_64-unknown-linux-gnu

		=== unit tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/default.exp as tool-and-target-specific interface file.
Running ./unit/__expand_tilde_by_ref.exp ...
FAIL: ERROR Unexpected output from bash command "/bin/bash --rcfile ./config/bashrc"
FAIL: ERROR executing bash command "/bin/bash --rcfile ./config/bashrc"
FAIL: ERROR Unexpected output from bash command "BASH_COMPLETION_COMPAT_DIR=$(cd "$SRCDIR/.."; pwd)/completions"
FAIL: ERROR executing bash command "BASH_COMPLETION_COMPAT_DIR=$(cd "$SRCDIR/.."; pwd)/completions"
FAIL: ERROR Unexpected output from bash command "source $(cd "$SRCDIR/.."; pwd)/bash_completion"
FAIL: ERROR executing bash command "source $(cd "$SRCDIR/.."; pwd)/bash_completion"
FAIL: ERROR executing bash command "printf "%s" "$COMP_WORDBREAKS""
FAIL: ERROR executing bash command "printf "%s " "${BASH_VERSINFO[@]}""
invalid command name "user at machine:~/comp/dev/bash-completion/test"
    while executing
"user at machine:~/comp/dev/bash-completion/test"
    ("eval" body line 1)
    invoked from within
"eval list $BASH_VERSINFO"
    (procedure "init_tcl_bash_globals" line 5)
    invoked from within
"init_tcl_bash_globals"
    (procedure "start_interactive_test" line 4)
    invoked from within
"start_interactive_test"
    (procedure "unit_start" line 2)
    invoked from within
"unit_start"
    (procedure "unit_init" line 4)
    invoked from within
"${tool}_init $test_file_name"
    invoked from within
"if [info exists tool] {
	    if { [info procs "${tool}_init"] != "" } {
		${tool}_init $test_file_name
	    }
	}"
    invoked from within
"if [file exists $test_file_name] {
	set timestart [timestamp]

	if [info exists tool] {
	    if { [info procs "${tool}_init"] != "" } {
		${tool}_init..."
    (procedure "runtest" line 14)
    invoked from within
"runtest $test_name"
    ("foreach" body line 42)
    invoked from within
"foreach test_name [lsort [find ${dir} *.exp]] {
			if { ${test_name} == "" } {
			    continue
			}
			# Ignore this one if asked to.
			if { ${ignore..."
    ("foreach" body line 54)
    invoked from within
"foreach dir "${test_top_dirs}" {
		if { ${dir} != ${srcdir} } {
		    # Ignore this directory if is a directory to be
		    # ignored.
		    if {[info..."
    ("foreach" body line 121)
    invoked from within
"foreach pass $multipass {

	# multipass_name is set for `record_test' to use (see framework.exp).
	if { [lindex $pass 0] != "" } {
	    set multipass_..."
    ("foreach" body line 51)
    invoked from within
"foreach current_target $target_list {
    verbose "target is $current_target"
    set current_target_name $current_target
    set tlist [split $curren..."
    (file "/usr/share/dejagnu/runtest.exp" line 1625)


More information about the Bash-completion-devel mailing list