Bug 629518
Summary: | bash-completion handles htab incorrectly | ||
---|---|---|---|
Product: | [Fedora] Fedora EPEL | Reporter: | Stefan Assmann <sassmann> |
Component: | bash-completion | Assignee: | Ville Skyttä <ville.skytta> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | el6 | CC: | sheltren, tremble, ville.skytta |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | ActualBug | ||
Fixed In Version: | bash-completion-1.3-4.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-05-28 21:35:36 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Stefan Assmann
2010-09-02 07:50:22 UTC
I don't have an EL6 system to test with, but I don't seem to be able to reproduce with the EL5 version nor current upstream bleeding edge on F13, both seem to work correctly to me. But then again I'm not sure I'm testing the right thing: what is the actual command you're trying to complete? I tested "ls \[<TAB>" and "ls [<TAB>". Before invoking the completion, please do a "set -x" in a shell and post relevant parts of the output here. Hi Ville, thanks for your reply. What you did is correct. However I figured that the problem seems not to be more complicated. There might be some special character involved as I saved the file from thunderbird with the it's proposed name. Hope the debug output solves the riddle. Thanks! I did ls /dev/shm/[<TAB> with the problematic file in placed in /dev/shm ls /dev/shm/[+ local cur prev ++ _get_cword ++ '[' -n '4.1.2(1)-release' ']' ++ __get_cword4 ++ local i ++ local LC_CTYPE=C ++ local 'WORDBREAKS= "'\''><=;|&(:' ++ WORDBREAKS=' '\''><=;|&(:' ++ WORDBREAKS=' ><=;|&(:' ++ '[' -n '' ']' ++ local 'cur=ls /dev/shm/[' ++ local 'tmp=ls /dev/shm/[' +++ expr 'ls /dev/shm/[' : '.*[ ><=;|&(:]' ++ local word_start=3 ++ '[' 3 -ge 2 ']' ++ local char=s ++ '[' s '!=' '\' ']' ++ break ++ cur='/dev/shm/[' ++ printf %s '/dev/shm/[' + cur='/dev/shm/[' + prev=ls + _split_longopt + [[ /dev/shm/[ == --?*=* ]] + return 1 + [[ /dev/shm/[ == -* ]] + [[ ls == rmdir ]] + _filedir + local 'IFS= ' xspec + _expand + [[ /dev/shm/[ == \~*/* ]] + [[ /dev/shm/[ == \~* ]] + local -a toks + local tmp + toks=(${toks[@]-} $( compgen -d -- "$(quote_readline "$cur")" | { while read -r tmp; do echo $tmp done } )) ++ read -r tmp +++ quote_readline '/dev/shm/[' +++ '[' -n '4.1.2(1)-release' ']' +++ echo '/dev/shm/[' +++ return ++ compgen -d -- '/dev/shm/[' + [[ '' != -d ]] + xspec= + toks=(${toks[@]-} $( compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | { while read -r tmp; do [ -n $tmp ] && echo $tmp done } )) ++ read -r tmp +++ quote_readline '/dev/shm/[' +++ '[' -n '4.1.2(1)-release' ']' +++ echo '/dev/shm/[' +++ return ++ compgen -f -X '' -- '/dev/shm/[' ++ '[' -n '/dev/shm/[RHEL5_6 PATCH] igb: add registers etc. printout code just before' 'resetting adapters.eml' ']' bash: [: /dev/shm/[RHEL5_6 PATCH] igb: add registers etc. printout code just before: binary operator expected ++ read -r tmp ++ '[' -n '/dev/shm/[RHEL5.6 PATCH] xfs: fix missing untrusted inode lookup tag.eml' ']' ++ echo '/dev/shm/[RHEL5.6 PATCH] xfs: fix missing untrusted inode lookup tag.eml' ++ read -r tmp I'm fairly certain that there's something unusual between "before" and "resetting" in the filename, and/or perhaps even a linefeed between "just" and "before". Unfortunately I cannot see what it is from my browser or mail, and I tried things out by constructing a filename that had a non-breaking space in it, but couldn't find any problems. The "[" in the error message is somewhat misleading BTW, I don't think there's anything wrong with its handling, it's just a coincidence that it happens to be in the filename. The error originates from that two arguments end up being passed to the "[" command (see the 5th last line that starts with "++" in your output). Thanks for your analysis. I think I know what it is now. ls *RHEL5* |xxd 0000000: 5b52 4845 4c35 5f36 2050 4154 4348 5d20 [RHEL5_6 PATCH] 0000010: 6967 623a 2061 6464 2072 6567 6973 7465 igb: add registe 0000020: 7273 2065 7463 2e20 7072 696e 746f 7574 rs etc. printout 0000030: 2063 6f64 6520 6a75 7374 2062 6566 6f72 code just befor 0000040: 6509 7265 7365 7474 696e 6720 6164 6170 e.resetting adap 0000050: 7465 7273 2e65 6d6c 0a ters.eml. It's a horizontal tab (see 0000040, second character), that comes from a bug in thunderbird. Discussing upstream: http://thread.gmane.org/gmane.comp.shells.bash.completion.devel/2543 Most cases should be fixed upstream now: http://git.debian.org/?p=bash-completion/bash-completion.git;a=commitdiff;h=3d8efed bash-completion-1.3-3.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/bash-completion-1.3-3.el6 bash-completion-1.3-3.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/bash-completion-1.3-3.el5 Package bash-completion-1.3-3.el6: * should fix your issue, * was pushed to the Fedora EPEL 6 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing bash-completion-1.3-3.el6' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/bash-completion-1.3-3.el6 then log in and leave karma (feedback). bash-completion-1.3-4.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/bash-completion-1.3-4.el6 bash-completion-1.3-4.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/bash-completion-1.3-4.el5 bash-completion-1.3-4.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report. bash-completion-1.3-4.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report. |