[New-bugs-announce] [issue11251] cmd.Cmd tab completion treats dashes as spaces

Jon McKenzie report at bugs.python.org
Sun Feb 20 01:37:08 CET 2011

New submission from Jon McKenzie <jcmcken at gmail.com>:

I'm writing a cmd.Cmd module that operates on filenames. As such, I'm attempting to write tab completions that operate similar to bash. However, files that contain dashes (hyphens) appear to exhibit unexpected behavior.

It appears that somewhere along the line, dashes are converted into spaces for the purposes of tab completion.

So, for example..

(Cmd) edit blah-<tab><tab>

Should print..

blah-1.0.0.txt  blah-2.0.0.txt


(Cmd) edit blah-1<tab><tab>

Should autocomplete to..

(Cmd) edit blah-1.0.0.txt

Instead, the following behavior occurs:

(Cmd) edit blah-<tab><tab>


(Cmd) edit blah-blah

..and thus..

(Cmd) edit blah-blah-<tab><tab>

..becomes, in turn..

(Cmd) edit blah-blah-blah

My completion function is absolutely standard, as far as I'm able to tell from looking at other examples (see attached)

files: completion.snip
messages: 128888
nosy: Jon.McKenzie
priority: normal
severity: normal
status: open
title: cmd.Cmd tab completion treats dashes as spaces
type: behavior
versions: Python 2.6
Added file: http://bugs.python.org/file20801/completion.snip

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list