[Bash-completion-devel] [bash-completion-Bugs][314549] Programmable completions based on file extension introduce regression

bash-completion-bugs at alioth.debian.org bash-completion-bugs at alioth.debian.org
Tue Dec 17 14:29:39 UTC 2013


bash-completion-Bugs item #314549, was opened at 17/12/2013 14:29 by Sebastien Bardeau
You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314549&group_id=100114

Status: Open
Priority: 3
Submitted By: Sebastien Bardeau (bardeau-guest)
Assigned to: Nobody (None)
Summary: Programmable completions based on file extension introduce regression 
Distribution: Fedora / Red Hat
Originally reported in: None
Milestone: None
Status: None
Original bug number: 


Initial Comment:
Dear all,

I hope this is the right place to report this problem. I am a Fedora 19 user with bash "4.2.45(1)-release" installed.

It seems that the "new" bash programmable completions are being distributed and enabled by default on several systems since a few months now. This raises several problems, the most critical one being that some completions are now based on a list of extensions associated to each program. Here are 3 examples which I encoutered and finally decided me to make this report:

1) say I have a PDF file named "myfile.pdf-saved": this file name won't tab-complete with my favorite PDF reader.
2) say I have a PDF file named "myfile" (no extension): this file name won't tab-complete with my favorite PDF reader.
3) say I have a file named "myfile.avi": this file name won't tab-complete with my favorite text editor (I often create companion ascii files to my avi files: I just type "vi myfile.avi" with the help of the completion -names are often cumbersome-, and then just rename the extension).

In other words, the current default breaks tab-completions of files:
1) with unexpected file extensions regarding its content,
2) with no file extension at all,
3) with unsupported file content.

By "break" I mean that there is no completion at all, and no related warning issued to the user. Given the fact that the standard bash behavior is to provide completion for all files when using <TAB>, this new behavior is at least a regression, if not a bug. The "M-/" combination was introduced to retrieve the old behavior, but still: <TAB> is broken.

The key of the problem is not the programmable completion, it is that the completion based on file extension 1) is enabled by default (opt-out) 2) to some predefined defaults. On the other hand I think there is no problem with the other rules (e.g. completing command keywords is a nice feature), since they do not seem to break anything.

So, is there any hope to make the programmable completions based on file extension as NOT the default? For example making them opt-in, or enable them using a special key combination like M-/

Thanks.

----------------------------------------------------------------------

You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314549&group_id=100114



More information about the Bash-completion-devel mailing list