[Bash-completion-devel] [bash-completion-Bugs][311431] DBTS 489720: please do not expand leading tildes
bash-completion-bugs at alioth.debian.org
bash-completion-bugs at alioth.debian.org
Mon Feb 2 20:43:52 UTC 2009
Bugs item #311431, was opened at 02/02/2009 21:42
>Status: Closed
Priority: 2
Submitted By: David Paleino (hanska-guest)
Assigned to: David Paleino (hanska-guest)
Summary: DBTS 489720: please do not expand leading tildes
Distribution: None
Originally reported in: Debian BTS
Milestone: None
Status: Accepted
Original bug number: 489720
Initial Comment:
From: Morita Sho <morita-pub-en-debian at inz.sakura.ne.jp>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: bash-completion: Please do not expand leading tildes
Date: Mon, 07 Jul 2008 20:41:37 +0900
Package: bash-completion
Version: 20080705
Severity: minor
Tags: patch
Hi,
When bash-completion is not installed, the leading tilde will not be
expanded on completion.
$ ls ~testuser/testfile
/home/testuser/testfile
$ ls ~testuser/testf[TAB]
=> ~testuser/testfile
However, when bash-completion is installed, the leading tilde will be
expanded on completion because _expand function performs the tilde
expansion. That is slightly annoying.
$ ls ~testuser/testf[TAB]
=> /home/testuser/testfile
IMHO, the tilde expansion in _expand seems needless because compgen
correctly handles leading tildes.
I suggest following patch.
--- bash_completion.orig 2008-07-07 14:07:28.000000000 +0900
+++ bash_completion 2008-07-07 17:28:59.000000000 +0900
@@ -353,7 +353,7 @@
# expand ~username type directory specifications
if [[ "$cur" == \~*/* ]]; then
- eval cur=$cur
+ return
elif [[ "$cur" == \~* ]]; then
cur=${cur#\~}
COMPREPLY=( $( compgen -P '~' -u $cur ) )
Regards,
----------------------------------------------------------------------
>Comment By: David Paleino (hanska-guest)
Date: 02/02/2009 21:43
Message:
From: David Paleino <d.paleino at gmail.com>
To: 489720-quiet at bugs.debian.org
Cc: Morita Sho <morita-pub-en-debian at inz.sakura.ne.jp>, Bash-Completion Developers <bash-completion-devel at lists.alioth.debian.org>
Subject: [RFC] Re: bash-completion: Please do not expand leading tildes
Date: Sat, 6 Sep 2008 16:26:06 +0200
Hi Morita,
Morita Sho wrote:
> When bash-completion is not installed, the leading tilde > will not be expanded on completion.
>
> [..]
>
> However, when bash-completion is installed, the leading
> tilde will be expanded on completion because _expand
> function performs the tilde expansion. That is slightly
> annoying.
>
> [..]
>
> IMHO, the tilde expansion in _expand seems needless
> because compgen correctly handles leading tildes.
I agree with you, and have committed the fix (rev1170), but I'm CCing the team because people might be relying on ~foo being expanded to /home/foo/, and I don't really know whether this fix might affect other software or not.
However, fix committed. I'll eventually revert it if it causes problems to other users (i.e. please don't re-file the bug if you see ~foo re-expanded to /home/foo/ in future versions ;) )
Kindly,
David
----------------------------------------------------------------------
You can respond by visiting:
http://alioth.debian.org/tracker/?func=detail&atid=413095&aid=311431&group_id=100114
More information about the Bash-completion-devel
mailing list