[issue14999] ctypes ArgumentError lists arguments from 1, not 0

2013-10-13 Thread Georg Brandl

Georg Brandl added the comment:

IMO we always use 1-based numbering when counting things.

Try e.g.

 format('a', None)
Traceback (most recent call last):
  File stdin, line 1, in module
TypeError: format expects arg 2 to be string or unicode, not NoneType

--
nosy: +georg.brandl
resolution:  - wont fix
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14999
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14999] ctypes ArgumentError lists arguments from 1, not 0

2012-06-03 Thread Timothy Pederick

New submission from Timothy Pederick peder...@gmail.com:

The ctypes ArgumentError exception indicates the location of the problem by 
argument number. It counts arguments starting from 1, not 0 as is typical in 
Python.

Observed

An example (anonymised) traceback:
Traceback (most recent call last):
...
foreign_function(a, b, c, d)
ctypes.ArgumentError: argument 2: class 'TypeError': wrong type

The error here was with the argument b.

Expected

Standard, zero-indexed Python counting would suggest that argument 2 should 
mean c, and b would be argument 1.

Rationale
-
This may be as intended, but for me it violates the principle of least surprise.

I *think* this is the vicinity of the bug:
http://hg.python.org/cpython/file/696d3631a4a1/Modules/_ctypes/callproc.c#l1103

_ctypes_extend_error(PyExc_ArgError, argument %d: , i+1);

If I'm right and the i+1 (here and/or in subsequent lines) is the cause, that 
definitely makes it look intentional.

--
components: ctypes
messages: 162251
nosy: perey
priority: normal
severity: normal
status: open
title: ctypes ArgumentError lists arguments from 1, not 0
type: behavior
versions: Python 3.2

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14999
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com