Heisenberg strikes again!
google at elesi.org
Wed Sep 10 22:54:10 CEST 2003
Alright, I'm fairly new to Python, and this one has got me stumped.
I've just started to write a cli program that'll use readline, and
I've attached the relevant bits.
Here's the mystery: If I so much as /look/ at the list 'matches',
readline stops working. Run the program, hit tab at the prompt,
you'll get 'one', which is incorrect, as there are in fact four
possible completions. Now comment out the line that I've marked
(which, incidentally, does nothing). /Now/ it works.
Is there some very strange side effect to accessing a list element
that I'm unaware of? I've tried it in two different versions of
Any elightenment would be appreciated...
ps In terms of being useful, this program doesn't make any sense. I'm
not trying to get it to work, I'm looking to understand why the
commented line affects the rest of the code.
commands = ["one", "two", "three", "four"]
matches = 
def comp(text, state):
if state == 0:
matches = 
n = len(text)
for cmd in commands:
if cmd[:n] == text:
throwaway = matches # <--- Comment out this line
line = raw_input("> ")
print ": %s" % line
More information about the Python-list