[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-07-07 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 59921d2f023c by Berker Peksag in branch '3.4':
Issue #21707: Add missing kwonlyargcount argument to  
ModuleFinder.replace_paths_in_code().
http://hg.python.org/cpython/rev/59921d2f023c

New changeset 4b6798e74dcf by Berker Peksag in branch 'default':
Issue #21707: Merge with 3.4.
http://hg.python.org/cpython/rev/4b6798e74dcf

--
nosy: +python-dev

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-07-07 Thread Berker Peksag

Changes by Berker Peksag berker.pek...@gmail.com:


--
assignee:  - berker.peksag
resolution:  - fixed
stage: patch review - resolved
status: open - closed

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-07-07 Thread Berker Peksag

Changes by Berker Peksag berker.pek...@gmail.com:


--
nosy: +r.david.murray

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-07-07 Thread Roundup Robot

Roundup Robot added the comment:

New changeset f8deaac44ed4 by Berker Peksag in branch '3.4':
Issue #21707: Fix tests on Windows.
http://hg.python.org/cpython/rev/f8deaac44ed4

New changeset e66c387da81b by Berker Peksag in branch 'default':
Issue #21707: Merge with 3.4.
http://hg.python.org/cpython/rev/e66c387da81b

--

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-06-12 Thread Berker Peksag

Berker Peksag added the comment:

Here's a patch with a test.

--
keywords: +patch
nosy: +berker.peksag
stage:  - patch review
type:  - behavior
Added file: http://bugs.python.org/file35587/issue21707.diff

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-06-10 Thread Marc-Andre Lemburg

New submission from Marc-Andre Lemburg:

Here's the code:

def replace_paths_in_code(self, co):
...
return types.CodeType(co.co_argcount, co.co_nlocals, co.co_stacksize,
 co.co_flags, co.co_code, tuple(consts), co.co_names,
 co.co_varnames, new_filename, co.co_name,
 co.co_firstlineno, co.co_lnotab,
 co.co_freevars, co.co_cellvars)

Compare this to the code_new() C API doc string (and code):

code(argcount, kwonlyargcount, nlocals, stacksize, flags, codestring,\n\
  constants, names, varnames, filename, name, firstlineno,\n\
  lnotab[, freevars[, cellvars]])

The kwonlyargcount is missing in the call used in .replace_paths_in_code().


The bug surfaces when trying to use the -r option of the freeze.py tool:

Traceback (most recent call last):
  File freeze.py, line 504, in module
main()
  File freeze.py, line 357, in main
mf.import_hook(mod)
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 123, in import_hook
q, tail = self.find_head_package(parent, name)
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 179, in find_head_package
q = self.import_module(head, qname, parent)
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 272, in import_module
m = self.load_module(fqname, fp, pathname, stuff)
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 303, in load_module
co = self.replace_paths_in_code(co)
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 569, in replace_paths_in_code
consts[i] = self.replace_paths_in_code(consts[i])
  File 
/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py,
 line 575, in replace_paths_in_code
co.co_freevars, co.co_cellvars)
TypeError: an integer is required (got type bytes)

--
components: Library (Lib)
keywords: 3.4regression
messages: 220174
nosy: lemburg
priority: normal
severity: normal
status: open
title: modulefinder uses wrong CodeType signature in .replace_paths_in_code()
versions: Python 3.4, Python 3.5

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



[issue21707] modulefinder uses wrong CodeType signature in .replace_paths_in_code()

2014-06-10 Thread Marc-Andre Lemburg

Marc-Andre Lemburg added the comment:

The fix is easy. Simply change the call to:

return types.CodeType(co.co_argcount, co.co_kwonlyargcount,
  co.co_nlocals, co.co_stacksize,
  co.co_flags, co.co_code, tuple(consts),
  co.co_names, co.co_varnames,
  new_filename, co.co_name,
  co.co_firstlineno, co.co_lnotab,
  co.co_freevars, co.co_cellvars)

(ie. add the missing argument)

--

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