]> granicus.if.org Git - python/log
python
13 years agoFix massive slowdown in string formatting with the % operator
Antoine Pitrou [Thu, 6 Oct 2011 23:54:09 +0000 (01:54 +0200)]
Fix massive slowdown in string formatting with the % operator

13 years agoIssue #7367: merge from 3.2
Ned Deily [Thu, 6 Oct 2011 21:41:30 +0000 (14:41 -0700)]
Issue #7367: merge from 3.2

13 years agoIssue #7367: add NEWS item.
Ned Deily [Thu, 6 Oct 2011 21:31:14 +0000 (14:31 -0700)]
Issue #7367: add NEWS item.

13 years agomerge from 3.2
Ned Deily [Thu, 6 Oct 2011 21:24:31 +0000 (14:24 -0700)]
merge from 3.2

13 years agoIssue #7367: Fix pkgutil.walk_paths to skip directories whose
Ned Deily [Thu, 6 Oct 2011 21:19:08 +0000 (14:19 -0700)]
Issue #7367: Fix pkgutil.walk_paths to skip directories whose
contents cannot be read.

13 years agoIssue #7367: Add test case to test_pkgutil for walking path with
Ned Deily [Thu, 6 Oct 2011 21:19:06 +0000 (14:19 -0700)]
Issue #7367: Add test case to test_pkgutil for walking path with
an unreadable directory.

13 years agoIssue #7425: Refactor test_pydoc test case for '-k' behavior and add
Ned Deily [Thu, 6 Oct 2011 21:19:03 +0000 (14:19 -0700)]
Issue #7425: Refactor test_pydoc test case for '-k' behavior and add
new test cases for importing bad packages and unreadable packages dirs.

13 years agofix compiler warnings
Benjamin Peterson [Thu, 6 Oct 2011 21:06:25 +0000 (17:06 -0400)]
fix compiler warnings

13 years agoFix expected memory consumption for test_translate
Antoine Pitrou [Thu, 6 Oct 2011 20:41:08 +0000 (22:41 +0200)]
Fix expected memory consumption for test_translate

13 years agoFix size estimate for test_unicode_repr
Antoine Pitrou [Thu, 6 Oct 2011 20:32:10 +0000 (22:32 +0200)]
Fix size estimate for test_unicode_repr

13 years agoFix test_splitlines to reach its size estimate
Antoine Pitrou [Thu, 6 Oct 2011 20:19:07 +0000 (22:19 +0200)]
Fix test_splitlines to reach its size estimate

13 years agoMake the formula for this estimate more explicit
Antoine Pitrou [Thu, 6 Oct 2011 20:09:18 +0000 (22:09 +0200)]
Make the formula for this estimate more explicit

13 years agoEnsure that 1-char singletons get used
Antoine Pitrou [Thu, 6 Oct 2011 20:07:51 +0000 (22:07 +0200)]
Ensure that 1-char singletons get used

13 years agoFix size estimation for test_bigmem.StrTest.test_format
Antoine Pitrou [Thu, 6 Oct 2011 19:55:51 +0000 (21:55 +0200)]
Fix size estimation for test_bigmem.StrTest.test_format

13 years agoFix the expected memory consumption for some tests
Antoine Pitrou [Thu, 6 Oct 2011 19:46:23 +0000 (21:46 +0200)]
Fix the expected memory consumption for some tests

13 years agoIssue #10141: Don't use hardcoded frame size in example, use struct.calcsize()
Victor Stinner [Thu, 6 Oct 2011 18:27:20 +0000 (20:27 +0200)]
Issue #10141: Don't use hardcoded frame size in example, use struct.calcsize()

13 years agoIssue #10141: socket: add SocketCAN (PF_CAN) support. Initial patch by Matthias
Charles-François Natali [Thu, 6 Oct 2011 17:47:44 +0000 (19:47 +0200)]
Issue #10141: socket: add SocketCAN (PF_CAN) support. Initial patch by Matthias
Fuchs, updated by Tiago Gonçalves.

13 years agoRemove now duplicate code in _json.c; instead, reuse the new private lib
Antoine Pitrou [Thu, 6 Oct 2011 17:09:51 +0000 (19:09 +0200)]
Remove now duplicate code in _json.c; instead, reuse the new private lib

13 years agoIssue #12911: Fix memory consumption when calculating the repr() of huge tuples or...
Antoine Pitrou [Thu, 6 Oct 2011 17:04:12 +0000 (19:04 +0200)]
Issue #12911: Fix memory consumption when calculating the repr() of huge tuples or lists.

This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.

13 years agoIssue #12911: Fix memory consumption when calculating the repr() of huge tuples or...
Antoine Pitrou [Thu, 6 Oct 2011 16:57:27 +0000 (18:57 +0200)]
Issue #12911: Fix memory consumption when calculating the repr() of huge tuples or lists.

This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.

13 years agoFix PyUnicode_Join() for len==1 and non-exact string
Victor Stinner [Thu, 6 Oct 2011 13:58:54 +0000 (15:58 +0200)]
Fix PyUnicode_Join() for len==1 and non-exact string

13 years agoFix PyUnicode_CHARACTER_SIZE and PyUnicode_KIND_SIZE
Victor Stinner [Thu, 6 Oct 2011 13:54:53 +0000 (15:54 +0200)]
Fix PyUnicode_CHARACTER_SIZE and PyUnicode_KIND_SIZE

13 years agoFix compilation warnings under 64-bit Windows
Antoine Pitrou [Thu, 6 Oct 2011 13:44:15 +0000 (15:44 +0200)]
Fix compilation warnings under 64-bit Windows

13 years agoFix compilation warnings under 64-bit Windows
Antoine Pitrou [Thu, 6 Oct 2011 13:34:41 +0000 (15:34 +0200)]
Fix compilation warnings under 64-bit Windows

13 years agoIssue #3163: The struct module gets new format characters 'n' and 'N'
Antoine Pitrou [Thu, 6 Oct 2011 13:27:40 +0000 (15:27 +0200)]
Issue #3163: The struct module gets new format characters 'n' and 'N'
supporting C integer types `ssize_t` and `size_t`, respectively.

13 years agoFix compilation under Windows
Antoine Pitrou [Thu, 6 Oct 2011 13:25:32 +0000 (15:25 +0200)]
Fix compilation under Windows

13 years agoFix assertion in unicode_adjust_maxchar()
Victor Stinner [Thu, 6 Oct 2011 11:27:56 +0000 (13:27 +0200)]
Fix assertion in unicode_adjust_maxchar()

13 years agoMerge 3.2
Éric Araujo [Thu, 6 Oct 2011 11:23:50 +0000 (13:23 +0200)]
Merge 3.2

13 years agoBranch merge
Éric Araujo [Thu, 6 Oct 2011 11:22:21 +0000 (13:22 +0200)]
Branch merge

13 years agoBranch merge
Éric Araujo [Thu, 6 Oct 2011 11:10:34 +0000 (13:10 +0200)]
Branch merge

13 years agoFix my last change on PyUnicode_Join(): don't process separator if len==1
Victor Stinner [Thu, 6 Oct 2011 10:32:37 +0000 (12:32 +0200)]
Fix my last change on PyUnicode_Join(): don't process separator if len==1

13 years agostr.replace() avoids memory when it's possible
Victor Stinner [Thu, 6 Oct 2011 10:31:55 +0000 (12:31 +0200)]
str.replace() avoids memory when it's possible

13 years agoFix return code of “pysetup run COMMAND” (closes #12222)
Éric Araujo [Thu, 6 Oct 2011 03:28:56 +0000 (05:28 +0200)]
Fix return code of “pysetup run COMMAND” (closes #12222)

13 years agoMinor: improve one test name, address pyflakes warnings
Éric Araujo [Thu, 6 Oct 2011 03:18:41 +0000 (05:18 +0200)]
Minor: improve one test name, address pyflakes warnings

13 years agoAdd test that was promised in a comment but not actually written
Éric Araujo [Thu, 6 Oct 2011 03:15:09 +0000 (05:15 +0200)]
Add test that was promised in a comment but not actually written

13 years agoFix incorrect test.
Éric Araujo [Thu, 6 Oct 2011 03:10:09 +0000 (05:10 +0200)]
Fix incorrect test.

The packaging.install.remove function (a.k.a. the uninstall feature)
takes a path argument to allow client code to use custom directories
instead of sys.path.  The test used to give self.root_dir as path, which
corresponds to a prefix option, but prefix is not on sys.path, it’s only
the base directory used to compute the stdlib and site-packages
directory paths.  The test now gives a valid site-packages path to the
function.

13 years agoChange one name in packaging’s test_uninstall to avoid confusion.
Éric Araujo [Thu, 6 Oct 2011 02:59:41 +0000 (04:59 +0200)]
Change one name in packaging’s test_uninstall to avoid confusion.

install_lib may be the name of a module, a command or an option, so I
find it clearer to use site_packages to refer to a string object
containing the path of the site-packages directory created in a
temporary directory during tests.

13 years ago_copy_characters() fails more quickly in debug mode on inconsistent state
Victor Stinner [Thu, 6 Oct 2011 00:47:11 +0000 (02:47 +0200)]
_copy_characters() fails more quickly in debug mode on inconsistent state

13 years agoAdd regrtest check for caches in packaging.database (see #12167)
Éric Araujo [Thu, 6 Oct 2011 00:44:19 +0000 (02:44 +0200)]
Add regrtest check for caches in packaging.database (see #12167)

13 years agoFix find_module_path(): make the string ready
Victor Stinner [Thu, 6 Oct 2011 00:39:42 +0000 (02:39 +0200)]
Fix find_module_path(): make the string ready

13 years agoFix a compiler warning: don't define unicode_is_singleton() in release mode
Victor Stinner [Thu, 6 Oct 2011 00:36:59 +0000 (02:36 +0200)]
Fix a compiler warning: don't define unicode_is_singleton() in release mode

13 years agoFix _warnings.c: make the filename string ready
Victor Stinner [Thu, 6 Oct 2011 00:34:51 +0000 (02:34 +0200)]
Fix _warnings.c: make the filename string ready

13 years agorephrase PyUnicode_1BYTE_KIND documentation
Victor Stinner [Wed, 5 Oct 2011 23:51:19 +0000 (01:51 +0200)]
rephrase PyUnicode_1BYTE_KIND documentation

13 years agoDon't check for the maximum character when copying from unicodeobject.c
Victor Stinner [Wed, 5 Oct 2011 23:45:57 +0000 (01:45 +0200)]
Don't check for the maximum character when copying from unicodeobject.c

 * Create copy_characters() function which doesn't check for the maximum
   character in release mode
 * _PyUnicode_CheckConsistency() is no more static to be able to use it
   in _PyUnicode_FormatAdvanced() (in formatter_unicode.c)
 * _PyUnicode_CheckConsistency() checks the string hash

13 years agoFix post-condition in unicode_repr(): check the result, not the input
Victor Stinner [Wed, 5 Oct 2011 23:13:58 +0000 (01:13 +0200)]
Fix post-condition in unicode_repr(): check the result, not the input

13 years agoreplace() uses unicode_fromascii() if the input and replace string is ASCII
Victor Stinner [Wed, 5 Oct 2011 21:27:08 +0000 (23:27 +0200)]
replace() uses unicode_fromascii() if the input and replace string is ASCII

13 years agounicode_fromascii() checks that the input is ASCII in debug mode
Victor Stinner [Wed, 5 Oct 2011 21:26:01 +0000 (23:26 +0200)]
unicode_fromascii() checks that the input is ASCII in debug mode

13 years agotraceback: fix dump_ascii() for string with kind=PyUnicode_WCHAR_KIND
Victor Stinner [Wed, 5 Oct 2011 20:44:12 +0000 (22:44 +0200)]
traceback: fix dump_ascii() for string with kind=PyUnicode_WCHAR_KIND

13 years agoMerge from 3.2
Amaury Forgeot d'Arc [Wed, 5 Oct 2011 20:37:06 +0000 (22:37 +0200)]
Merge from 3.2

13 years agoEnable the only tests for sys.gettrace
Amaury Forgeot d'Arc [Wed, 5 Oct 2011 20:36:05 +0000 (22:36 +0200)]
Enable the only tests for sys.gettrace

13 years agoIssue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle
Charles-François Natali [Wed, 5 Oct 2011 17:53:43 +0000 (19:53 +0200)]
Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle
would be finalized after the reference to its underlying BufferedRWPair's
writer got cleared by the GC.

13 years agoIssue13104 - Fix urllib.request.thishost() utility function.
Senthil Kumaran [Wed, 5 Oct 2011 16:32:02 +0000 (00:32 +0800)]
Issue13104 - Fix urllib.request.thishost() utility function.

13 years agoIssue #13073 - Address the review comments made by Ezio.
Senthil Kumaran [Wed, 5 Oct 2011 15:26:49 +0000 (23:26 +0800)]
Issue  #13073 - Address the review comments made by Ezio.

13 years agoMerge 3.2
Éric Araujo [Tue, 4 Oct 2011 23:52:45 +0000 (01:52 +0200)]
Merge 3.2

13 years agoUpdate skip message printed by test.support.get_attribute.
Éric Araujo [Tue, 4 Oct 2011 23:50:22 +0000 (01:50 +0200)]
Update skip message printed by test.support.get_attribute.

This helper was changed to work with any object instead of only modules
(or technically something with a __name__ attribute, see code in 3.2)
but the message stayed as is.

13 years agoCosmetic fixes for whitespace and a regex in packaging.
Éric Araujo [Tue, 4 Oct 2011 23:46:37 +0000 (01:46 +0200)]
Cosmetic fixes for whitespace and a regex in packaging.

The goal of the regex is to catch a (alpha), b (beta), c or rc
(release candidate), so the existing pattern puzzled me. Tests were
OK before and after the change.

13 years agoAdd tests for comparing candidate and final versions in packaging (#11841).
Éric Araujo [Tue, 4 Oct 2011 23:41:14 +0000 (01:41 +0200)]
Add tests for comparing candidate and final versions in packaging (#11841).

This used to be buggy; Filip Gruszczyński contributed tests and a code
patch but the latter is not needed.

13 years agoFix typo and case in a recently added test
Éric Araujo [Tue, 4 Oct 2011 23:29:22 +0000 (01:29 +0200)]
Fix typo and case in a recently added test

13 years agoFix markup used in the documentation of sys.prefix and sys.exec_prefix.
Éric Araujo [Tue, 4 Oct 2011 23:28:24 +0000 (01:28 +0200)]
Fix markup used in the documentation of sys.prefix and sys.exec_prefix.

- Using the file role with {placeholders} is IMO clearer than fake
  Python code.

- The fact that sys.version[:3] gives '3.2' is a CPython detail and
  should not be advertised (see #9442), even if some stdlib modules
  currently rely on that detail.

13 years agoMove doc of sys.dont_write_bytecode to make all attributes sorted again
Éric Araujo [Tue, 4 Oct 2011 23:17:38 +0000 (01:17 +0200)]
Move doc of sys.dont_write_bytecode to make all attributes sorted again

13 years agoRemove inline comment, no longer supported by configparser.
Éric Araujo [Tue, 4 Oct 2011 23:14:02 +0000 (01:14 +0200)]
Remove inline comment, no longer supported by configparser.

(Deleted rather than moved because multilib implementations vary.)

13 years agoFix typo
Éric Araujo [Tue, 4 Oct 2011 23:11:12 +0000 (01:11 +0200)]
Fix typo

13 years agoFix minor wording issue.
Éric Araujo [Tue, 4 Oct 2011 23:06:31 +0000 (01:06 +0200)]
Fix minor wording issue.

sys.maxunicode is not called and thus does not return anything; it *is*
something.  (I checked the doc quickly to see if it tells that
expression return things but found nothing.)

I also removed markup that would just generate a useless link to the
enclosing section.

13 years agoMore info about PEP 393 in whatsnew and NEWS
Éric Araujo [Tue, 4 Oct 2011 23:04:18 +0000 (01:04 +0200)]
More info about PEP 393 in whatsnew and NEWS

13 years agoMinor updates to the whatsnew maintenance rules
Éric Araujo [Tue, 4 Oct 2011 23:03:34 +0000 (01:03 +0200)]
Minor updates to the whatsnew maintenance rules

13 years agoos.geteuid() may not be available...
Charles-François Natali [Tue, 4 Oct 2011 21:35:47 +0000 (23:35 +0200)]
os.geteuid() may not be available...

13 years agoIssue #11956: Always skip test_import.test_unwritable_directory when run as
Charles-François Natali [Tue, 4 Oct 2011 18:40:58 +0000 (20:40 +0200)]
Issue #11956: Always skip test_import.test_unwritable_directory when run as
root, since the semantics varies across Unix variants.

13 years agoIssue #11956: Skip test_import.test_unwritable_directory on FreeBSD when run as
Charles-François Natali [Tue, 4 Oct 2011 17:17:26 +0000 (19:17 +0200)]
Issue #11956: Skip test_import.test_unwritable_directory on FreeBSD when run as
root (directory permissions are ignored).

13 years agoAlso fix pickletester
Antoine Pitrou [Tue, 4 Oct 2011 14:18:15 +0000 (16:18 +0200)]
Also fix pickletester

13 years agoAn embarassing litle typo
Antoine Pitrou [Tue, 4 Oct 2011 14:07:27 +0000 (16:07 +0200)]
An embarassing litle typo

13 years agoWhen expandtabs() would be a no-op, don't create a duplicate string
Antoine Pitrou [Tue, 4 Oct 2011 14:04:01 +0000 (16:04 +0200)]
When expandtabs() would be a no-op, don't create a duplicate string

13 years agoMigrate test_bigmem to PEP 393-compliant size calculations (hopefully)
Antoine Pitrou [Tue, 4 Oct 2011 13:55:44 +0000 (15:55 +0200)]
Migrate test_bigmem to PEP 393-compliant size calculations (hopefully)

13 years agoMigrate str.expandtabs to the new API
Antoine Pitrou [Tue, 4 Oct 2011 13:55:09 +0000 (15:55 +0200)]
Migrate str.expandtabs to the new API

13 years agoTry to fix linking failures under Windows
Antoine Pitrou [Tue, 4 Oct 2011 12:44:35 +0000 (14:44 +0200)]
Try to fix linking failures under Windows

13 years agoTry to fix linking failures under Windows
Antoine Pitrou [Tue, 4 Oct 2011 12:43:47 +0000 (14:43 +0200)]
Try to fix linking failures under Windows

13 years agoRemove all other uses of the C tolower()/toupper() which could break with a Turkish...
Antoine Pitrou [Tue, 4 Oct 2011 11:53:01 +0000 (13:53 +0200)]
Remove all other uses of the C tolower()/toupper() which could break with a Turkish locale.

13 years agoRemove all other uses of the C tolower()/toupper() which could break with a Turkish...
Antoine Pitrou [Tue, 4 Oct 2011 11:50:21 +0000 (13:50 +0200)]
Remove all other uses of the C tolower()/toupper() which could break with a Turkish locale.

13 years agoIssue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
Antoine Pitrou [Tue, 4 Oct 2011 11:37:06 +0000 (13:37 +0200)]
Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
Reported and diagnosed by Thomas Kluyver.

13 years agoIssue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
Antoine Pitrou [Tue, 4 Oct 2011 11:35:28 +0000 (13:35 +0200)]
Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
Reported and diagnosed by Thomas Kluyver.

13 years agoFix compilation error under Windows
Antoine Pitrou [Tue, 4 Oct 2011 11:00:02 +0000 (13:00 +0200)]
Fix compilation error under Windows

13 years agoIssue #13087: BufferedReader.seek() now always raises UnsupportedOperation
Antoine Pitrou [Tue, 4 Oct 2011 10:28:52 +0000 (12:28 +0200)]
Issue #13087: BufferedReader.seek() now always raises UnsupportedOperation
if the underlying raw stream is unseekable, even if the seek could be
satisfied using the internal buffer.  Patch by John OConnor.

13 years agoAdd John to ACKS
Antoine Pitrou [Tue, 4 Oct 2011 10:26:34 +0000 (12:26 +0200)]
Add John to ACKS

13 years agoIssue #13087: BufferedReader.seek() now always raises UnsupportedOperation
Antoine Pitrou [Tue, 4 Oct 2011 10:26:20 +0000 (12:26 +0200)]
Issue #13087: BufferedReader.seek() now always raises UnsupportedOperation
if the underlying raw stream is unseekable, even if the seek could be
satisfied using the internal buffer.  Patch by John O'Connor.

13 years agoCollect stats a bit more often
Antoine Pitrou [Tue, 4 Oct 2011 10:06:06 +0000 (12:06 +0200)]
Collect stats a bit more often

13 years agoUse the faulthandler module's infrastructure to write a GIL-less
Antoine Pitrou [Tue, 4 Oct 2011 09:51:23 +0000 (11:51 +0200)]
Use the faulthandler module's infrastructure to write a GIL-less
memory watchdog for timely stats collection.

13 years agoFix test failure
Antoine Pitrou [Tue, 4 Oct 2011 08:39:54 +0000 (10:39 +0200)]
Fix test failure

13 years agoStart fixing test_bigmem:
Antoine Pitrou [Tue, 4 Oct 2011 08:28:37 +0000 (10:28 +0200)]
Start fixing test_bigmem:
- bigmemtest is replaced by precisionbigmemtest
- add a poor man's watchdog thread to print memory consumption

13 years agoStart fixing test_bigmem:
Antoine Pitrou [Tue, 4 Oct 2011 08:22:36 +0000 (10:22 +0200)]
Start fixing test_bigmem:
- bigmemtest is replaced by precisionbigmemtest
- add a poor man's watchdog thread to print memory consumption

13 years agoIssue #7689: Allow pickling of dynamically created classes when their
Antoine Pitrou [Tue, 4 Oct 2011 07:25:28 +0000 (09:25 +0200)]
Issue #7689: Allow pickling of dynamically created classes when their
metaclass is registered with copyreg.  Patch by Nicolas M. Thiéry and
Craig Citro.

13 years agoIssue #7689: Allow pickling of dynamically created classes when their
Antoine Pitrou [Tue, 4 Oct 2011 07:23:04 +0000 (09:23 +0200)]
Issue #7689: Allow pickling of dynamically created classes when their
metaclass is registered with copyreg.  Patch by Nicolas M. Thiéry and
Craig Citro.

13 years agoIssue #12881: ctypes: Fix segfault with large structure field names.
Meador Inge [Tue, 4 Oct 2011 02:48:30 +0000 (21:48 -0500)]
Issue #12881: ctypes: Fix segfault with large structure field names.

13 years agoIssue #12881: ctypes: Fix segfault with large structure field names.
Meador Inge [Tue, 4 Oct 2011 02:44:22 +0000 (21:44 -0500)]
Issue #12881: ctypes: Fix segfault with large structure field names.

13 years agofix parens
Benjamin Peterson [Mon, 3 Oct 2011 23:37:29 +0000 (19:37 -0400)]
fix parens

13 years agofix formatting
Benjamin Peterson [Mon, 3 Oct 2011 23:35:07 +0000 (19:35 -0400)]
fix formatting

13 years agofix compiler warnings
Benjamin Peterson [Mon, 3 Oct 2011 23:34:12 +0000 (19:34 -0400)]
fix compiler warnings

13 years agoComplete documentation of compact ASCII strings
Victor Stinner [Mon, 3 Oct 2011 23:32:45 +0000 (01:32 +0200)]
Complete documentation of compact ASCII strings

13 years agoMove in-place Unicode append to its own subfunction
Victor Stinner [Mon, 3 Oct 2011 23:17:31 +0000 (01:17 +0200)]
Move in-place Unicode append to its own subfunction

13 years agoReindent internal Unicode macros
Victor Stinner [Mon, 3 Oct 2011 23:07:11 +0000 (01:07 +0200)]
Reindent internal Unicode macros

13 years agoDocument utf8_length and wstr_length states
Victor Stinner [Mon, 3 Oct 2011 23:05:08 +0000 (01:05 +0200)]
Document utf8_length and wstr_length states

Ensure these states with assertions in _PyUnicode_CheckConsistency().

13 years agoresize_inplace() sets utf8_length to zero if the utf8 is not shared8
Victor Stinner [Mon, 3 Oct 2011 23:03:50 +0000 (01:03 +0200)]
resize_inplace() sets utf8_length to zero if the utf8 is not shared8

Cleanup also the code.