I'm not sure if this is a bug or if I'm just not understanding
something correctly.  I'm running the following (broken.py) on
ActivePython 2.5.1.1, based on Python 2.5.1 (r251:54863 5/1/2007) as
"python broken.py foo" (on Windows, of course):


#!/bin/env python

import sys

class foobar(object):
    def func(arg):
        print 'foobar.func: %r' % arg

__f = foobar()

def caller(a):
    print 'caller: %r' % a
    __f.func(a)

def main():
    rest = sys.argv[1:]
    print 'main: %r' % rest
    caller(*rest)

if __name__ == '__main__':
    main()


...and the result of running this ("python broken.py foo") is:


main: ['foo']
caller: 'foo'
Traceback (most recent call last):
  File "broken.py", line 21, in <module>
    main()
  File "broken.py", line 18, in main
    caller(*rest)
  File "broken.py", line 13, in caller
    __f.func(a)
TypeError: func() takes exactly 1 argument (2 given)


How can this possibly be?  The "caller" print statement obviously
shows "a" is singular.

Thanks in advance for any and all insight...

Mike
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to