]> granicus.if.org Git - python/log
python
14 years agoDon't lie about the supported architectures in the OSX installer
Ronald Oussoren [Wed, 20 Oct 2010 12:56:56 +0000 (12:56 +0000)]
Don't lie about the supported architectures in the OSX installer

Without this patch the i386/x86_64 installer for OSX 10.6
lies in the ReadMe file and the "Important Information" screen
of the installer (that is, the installer claims it supports
the i386 and ppc architectures insetead of the ones it really
supports)

14 years agologging: clarified Filter documentation.
Vinay Sajip [Wed, 20 Oct 2010 11:40:02 +0000 (11:40 +0000)]
logging: clarified Filter documentation.

14 years agoFix r85728: use "" to mean the system default locale, which should work on more systems.
Georg Brandl [Wed, 20 Oct 2010 06:50:19 +0000 (06:50 +0000)]
Fix r85728: use "" to mean the system default locale, which should work on more systems.

14 years agoCorrect signature of BytesGenerator in docs.
R. David Murray [Tue, 19 Oct 2010 23:05:35 +0000 (23:05 +0000)]
Correct signature of BytesGenerator in docs.

14 years agologging: Documented usage of callables as filters.
Vinay Sajip [Tue, 19 Oct 2010 21:13:49 +0000 (21:13 +0000)]
logging: Documented usage of callables as filters.

14 years agoIssue #7061: Fixed some of the issues in turtle module documentation
Alexander Belopolsky [Tue, 19 Oct 2010 21:07:52 +0000 (21:07 +0000)]
Issue #7061: Fixed some of the issues in turtle module documentation
reported by Terry J. Reedy.

14 years agoBe consistent in the spelling of thread-safe(ty).
Georg Brandl [Tue, 19 Oct 2010 21:07:16 +0000 (21:07 +0000)]
Be consistent in the spelling of thread-safe(ty).

14 years agologging: Allowed filters to be just callables.
Vinay Sajip [Tue, 19 Oct 2010 20:53:01 +0000 (20:53 +0000)]
logging: Allowed filters to be just callables.

14 years agologging: Added tests for _logRecordClass changes.
Vinay Sajip [Tue, 19 Oct 2010 20:44:14 +0000 (20:44 +0000)]
logging: Added tests for _logRecordClass changes.

14 years ago#10092: Properly reset locale in Locale*Calendar classes. The context manager was...
Georg Brandl [Tue, 19 Oct 2010 18:54:25 +0000 (18:54 +0000)]
#10092: Properly reset locale in Locale*Calendar classes.  The context manager was buggy because setlocale() returns the *new* locale, not the old.  Also add a test for this.

14 years agoFixed the docstring for calendar.isleap() function.
Alexander Belopolsky [Tue, 19 Oct 2010 17:43:50 +0000 (17:43 +0000)]
Fixed the docstring for calendar.isleap() function.
Thanks Boštjan Mejak for the patch.

14 years agologging: Added _logRecordClass, getLogRecordClass, setLogRecordClass to increase...
Vinay Sajip [Tue, 19 Oct 2010 15:26:24 +0000 (15:26 +0000)]
logging: Added _logRecordClass, getLogRecordClass, setLogRecordClass to increase flexibility of LogRecord creation.

14 years agoFix Issue10140 - Tools/scripts/pathfix.py: add option to preserve timestamps
Senthil Kumaran [Tue, 19 Oct 2010 04:39:35 +0000 (04:39 +0000)]
Fix Issue10140 - Tools/scripts/pathfix.py: add option to preserve timestamps

14 years agoinitfsencoding(): get_codeset() failure is now a fatal error
Victor Stinner [Tue, 19 Oct 2010 00:05:51 +0000 (00:05 +0000)]
initfsencoding(): get_codeset() failure is now a fatal error

Don't fallback to utf-8 anymore to avoid mojibake. I never got any error from
his function.

14 years agozipimport: remove arbitrary length limit from message formats
Victor Stinner [Mon, 18 Oct 2010 22:45:54 +0000 (22:45 +0000)]
zipimport: remove arbitrary length limit from message formats

PyErr_Format() and PyUnicode_FromFormat() are able to allocate the right buffer
size and to catch memory allocation failures.

14 years agozipimport: document archive encoding; fix indentation
Victor Stinner [Mon, 18 Oct 2010 22:34:46 +0000 (22:34 +0000)]
zipimport: document archive encoding; fix indentation

14 years agoRevert r85699 and r85701 (zipimport): fullname is a module name, not a path
Victor Stinner [Mon, 18 Oct 2010 21:44:33 +0000 (21:44 +0000)]
Revert r85699 and r85701 (zipimport): fullname is a module name, not a path

UTF-8 is just fine for module names.

14 years agozipimport: fix "can't find module ..." error message
Victor Stinner [Mon, 18 Oct 2010 21:21:02 +0000 (21:21 +0000)]
zipimport: fix "can't find module ..." error message

I cannot use %U: fullname is a bytes object, not an unicode object. %A format
cannot be used, it adds 'b' (bytes) prefix. So create cant_find_module()
function to decode the filename and raise the error message.

14 years agoPyUnicode_FromFormatV(): Fix %A format
Victor Stinner [Mon, 18 Oct 2010 20:59:24 +0000 (20:59 +0000)]
PyUnicode_FromFormatV(): Fix %A format

It was not completly implemented. Add a test.

14 years agozipimport: find_module(), is_package() and get_source() supports surrogates
Victor Stinner [Mon, 18 Oct 2010 20:44:08 +0000 (20:44 +0000)]
zipimport: find_module(), is_package() and get_source() supports surrogates

Use PyUnicode_FSConverter to support surrogates in the full name.

14 years agozipimport: pass path size to make_filename()
Victor Stinner [Mon, 18 Oct 2010 20:40:59 +0000 (20:40 +0000)]
zipimport: pass path size to make_filename()

Don't hardcode path size in make_filename().

14 years agoOne more change for issue 9807, by Matthias Klose.
Barry Warsaw [Mon, 18 Oct 2010 17:09:07 +0000 (17:09 +0000)]
One more change for issue 9807, by Matthias Klose.

This adds $ABIFLAGS to the static library, since it should match the shared
library name.  Also, include the abiflags in python-config --libs.

14 years agoReverted inadvertent change that slipped into r85695
Alexander Belopolsky [Mon, 18 Oct 2010 15:11:33 +0000 (15:11 +0000)]
Reverted inadvertent change that slipped into r85695

14 years agoIssue #10117: Tools/scripts/reindent.py now accepts source files that
Alexander Belopolsky [Mon, 18 Oct 2010 14:43:38 +0000 (14:43 +0000)]
Issue #10117: Tools/scripts/reindent.py now accepts source files that
use encoding other than ASCII or UTF-8.  Source encoding is preserved
when reindented code is written to a file.

14 years agoFix hash function type.
Georg Brandl [Mon, 18 Oct 2010 12:24:53 +0000 (12:24 +0000)]
Fix hash function type.

14 years agoget_code_from_data() uses the filesystem encoding to encode the module path,
Victor Stinner [Mon, 18 Oct 2010 12:15:34 +0000 (12:15 +0000)]
get_code_from_data() uses the filesystem encoding to encode the module path,
instead of utf-8.

14 years agozipimport: read_directory() uses cp437 or utf-8 (in strict mode), depending on
Victor Stinner [Mon, 18 Oct 2010 12:13:46 +0000 (12:13 +0000)]
zipimport: read_directory() uses cp437 or utf-8 (in strict mode), depending on
the unicode flag, to decode the filename, instead of the filesystem encoding.
Use the same choice than the zipfile module.

14 years agoIssue #5117: Case normalization was needed on ntpath.relpath(). And
Hirokazu Yamamoto [Mon, 18 Oct 2010 12:13:18 +0000 (12:13 +0000)]
Issue #5117: Case normalization was needed on ntpath.relpath(). And
fixed root directory issue on posixpath.relpath(). (Ported working fixes
from ntpath)

14 years agozipimport: get_module_code() returns modpath as a Unicode object
Victor Stinner [Mon, 18 Oct 2010 12:09:02 +0000 (12:09 +0000)]
zipimport: get_module_code() returns modpath as a Unicode object

... instead of a char*. Encode the module path to the fileystem encoding
(for PyImport_ExecCodeModuleEx) instead of utf-8.

14 years agozipimporter_load_module() doesn't destroy mod on error
Victor Stinner [Mon, 18 Oct 2010 12:03:25 +0000 (12:03 +0000)]
zipimporter_load_module() doesn't destroy mod on error

PyImport_AddModule() returns a borrowed reference. Don't display "import ... #
loaded from Zip ..." on error.

14 years agozipimport: encode the prefix to the fileystem encoding
Victor Stinner [Mon, 18 Oct 2010 11:44:21 +0000 (11:44 +0000)]
zipimport: encode the prefix to the fileystem encoding

14 years agozipimport, get_module_code(): avoid useless _PyUnicode_AsString()
Victor Stinner [Mon, 18 Oct 2010 11:40:40 +0000 (11:40 +0000)]
zipimport, get_module_code(): avoid useless _PyUnicode_AsString()

14 years agozipimport: fix indentation
Victor Stinner [Mon, 18 Oct 2010 11:39:05 +0000 (11:39 +0000)]
zipimport: fix indentation

14 years agoRemove more unneeded casts to hashfunc.
Georg Brandl [Mon, 18 Oct 2010 07:35:09 +0000 (07:35 +0000)]
Remove more unneeded casts to hashfunc.

14 years agoRemove unneeded casts to hashfunc.
Georg Brandl [Mon, 18 Oct 2010 07:32:48 +0000 (07:32 +0000)]
Remove unneeded casts to hashfunc.

14 years agoFix type of hash function.
Georg Brandl [Mon, 18 Oct 2010 07:30:06 +0000 (07:30 +0000)]
Fix type of hash function.

14 years agoFix compiler warning about unused static function.
Georg Brandl [Mon, 18 Oct 2010 07:27:55 +0000 (07:27 +0000)]
Fix compiler warning about unused static function.

14 years agoFix compiler warnings about formatting pid_t as an int, by always casting to long.
Georg Brandl [Mon, 18 Oct 2010 05:06:18 +0000 (05:06 +0000)]
Fix compiler warnings about formatting pid_t as an int, by always casting to long.

14 years ago#678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
R. David Murray [Mon, 18 Oct 2010 01:14:06 +0000 (01:14 +0000)]
#678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.

Patch by Sébastien Sablé.  This solves a test_mmap failure on AIX.

14 years ago#4499: silence compiler warning on AIX.
R. David Murray [Mon, 18 Oct 2010 00:15:31 +0000 (00:15 +0000)]
#4499: silence compiler warning on AIX.

Patch from ActiveState.

14 years agoTighten up 'byte string' wording in base64 docs.
R. David Murray [Sun, 17 Oct 2010 23:12:16 +0000 (23:12 +0000)]
Tighten up 'byte string' wording in base64 docs.

14 years ago#1343: Add short_empty_elements option to XMLGenerator.
R. David Murray [Sun, 17 Oct 2010 22:46:45 +0000 (22:46 +0000)]
#1343: Add short_empty_elements option to XMLGenerator.

Patch and tests by Neil Muller.

14 years agoNote the resolution of issue 9778.
Skip Montanaro [Sun, 17 Oct 2010 22:22:24 +0000 (22:22 +0000)]
Note the resolution of issue 9778.

14 years ago-1 is reserved for errors
Benjamin Peterson [Sun, 17 Oct 2010 21:27:01 +0000 (21:27 +0000)]
-1 is reserved for errors

14 years agofix prototype
Benjamin Peterson [Sun, 17 Oct 2010 21:20:58 +0000 (21:20 +0000)]
fix prototype

14 years agofix strict aliasing warnings
Benjamin Peterson [Sun, 17 Oct 2010 21:12:18 +0000 (21:12 +0000)]
fix strict aliasing warnings

14 years agomake hashes always the size of pointers; introduce Py_hash_t #9778
Benjamin Peterson [Sun, 17 Oct 2010 20:54:53 +0000 (20:54 +0000)]
make hashes always the size of pointers; introduce Py_hash_t #9778

14 years agotest_httpservers: Python CGI scripts have to be encoded to utf-8
Victor Stinner [Sun, 17 Oct 2010 20:17:41 +0000 (20:17 +0000)]
test_httpservers: Python CGI scripts have to be encoded to utf-8

And not the locale encoding. With this commit, the test finally pass on Windows
with a non-ascii path :-)

14 years agotest_httpservers: Fix skip test check, the python executable path have to be
Victor Stinner [Sun, 17 Oct 2010 20:13:36 +0000 (20:13 +0000)]
test_httpservers: Fix skip test check, the python executable path have to be
encodable to utf-8, not to the file1 encoding.

14 years agouse helper hash unimplemented function
Benjamin Peterson [Sun, 17 Oct 2010 20:13:05 +0000 (20:13 +0000)]
use helper hash unimplemented function

14 years agoFix T_BOOL bug of issue 8845.
Martin v. Löwis [Sun, 17 Oct 2010 19:48:29 +0000 (19:48 +0000)]
Fix T_BOOL bug of issue 8845.

14 years agotest_httpservers: skip CGI tests if Python executable path is not encodable
Victor Stinner [Sun, 17 Oct 2010 19:46:36 +0000 (19:46 +0000)]
test_httpservers: skip CGI tests if Python executable path is not encodable

14 years agoRemove the external non-python.org hyperlink and point people to
Gregory P. Smith [Sun, 17 Oct 2010 19:40:59 +0000 (19:40 +0000)]
Remove the external non-python.org hyperlink and point people to
Tools/gdb/libpython.py.

14 years agoDrop OPT:Olimit, as it confuses SunPRO (and other compilers).
Martin v. Löwis [Sun, 17 Oct 2010 19:36:54 +0000 (19:36 +0000)]
Drop OPT:Olimit, as it confuses SunPRO (and other compilers).

14 years agolibpython: implementation of os.fsencode() with surrogateescape error handler
Victor Stinner [Sun, 17 Oct 2010 19:35:30 +0000 (19:35 +0000)]
libpython: implementation of os.fsencode() with surrogateescape error handler

14 years agorun_file(): encode the filename with PyUnicode_EncodeFSDefault() instead of
Victor Stinner [Sun, 17 Oct 2010 19:34:51 +0000 (19:34 +0000)]
run_file(): encode the filename with PyUnicode_EncodeFSDefault() instead of
PyUnicode_AsUTF8String()

14 years agocompiler_error(): use PyUnicode_DecodeFSDefault() to decode the filename,
Victor Stinner [Sun, 17 Oct 2010 19:16:33 +0000 (19:16 +0000)]
compiler_error(): use PyUnicode_DecodeFSDefault() to decode the filename,
instead of utf-8 in strict mode.

14 years agoPyErr_SyntaxLocationEx() uses PyUnicode_DecodeFSDefault(), instead of
Victor Stinner [Sun, 17 Oct 2010 19:03:16 +0000 (19:03 +0000)]
PyErr_SyntaxLocationEx() uses PyUnicode_DecodeFSDefault(), instead of
PyUnicode_FromString(), to decode the filename.

14 years agoThe py_decref macro was incorrect and unnecessary.
Gregory P. Smith [Sun, 17 Oct 2010 18:59:56 +0000 (18:59 +0000)]
The py_decref macro was incorrect and unnecessary.

14 years ago* Applys part of the patch from http://bugs.python.org/issue3631 to add
Gregory P. Smith [Sun, 17 Oct 2010 18:38:04 +0000 (18:38 +0000)]
* Applys part of the patch from http://bugs.python.org/issue3631 to add
  a py_decref macro, fixup the pyo macro and reuse it and avoid a memory
  leak introduced by the pylocals macro.
* Adds a note about gdb 7 python debugging support with links for
  more info on that.

14 years ago- Accept Oracle Berkeley DB 5.0 and 5.1 as backend for the dbm extension.
Matthias Klose [Sun, 17 Oct 2010 13:22:33 +0000 (13:22 +0000)]
- Accept Oracle Berkeley DB 5.0 and 5.1 as backend for the dbm extension.

14 years agoSyntax fixes for examples in the Doc/includes
Senthil Kumaran [Sun, 17 Oct 2010 11:42:21 +0000 (11:42 +0000)]
Syntax fixes for examples in the Doc/includes

14 years ago#9730: fix example.
Georg Brandl [Sun, 17 Oct 2010 11:36:28 +0000 (11:36 +0000)]
#9730: fix example.

14 years agoFix documentation of dis.opmap direction.
Georg Brandl [Sun, 17 Oct 2010 11:29:07 +0000 (11:29 +0000)]
Fix documentation of dis.opmap direction.

14 years agoMake twisted example a bit more logical.
Georg Brandl [Sun, 17 Oct 2010 11:23:56 +0000 (11:23 +0000)]
Make twisted example a bit more logical.

14 years agoPort changes to pickle docs apparently lost in py3k.
Georg Brandl [Sun, 17 Oct 2010 11:13:37 +0000 (11:13 +0000)]
Port changes to pickle docs apparently lost in py3k.

14 years ago#9237: document sys.call_tracing().
Georg Brandl [Sun, 17 Oct 2010 11:06:14 +0000 (11:06 +0000)]
#9237: document sys.call_tracing().

14 years ago#5121: fix claims about default values leading to segfaults.
Georg Brandl [Sun, 17 Oct 2010 11:03:22 +0000 (11:03 +0000)]
#5121: fix claims about default values leading to segfaults.

14 years ago#9204: remove mentions of removed types in the types module.
Georg Brandl [Sun, 17 Oct 2010 10:59:41 +0000 (10:59 +0000)]
#9204: remove mentions of removed types in the types module.

14 years agoFix capitalization.
Georg Brandl [Sun, 17 Oct 2010 10:53:54 +0000 (10:53 +0000)]
Fix capitalization.

14 years agoFix Issue10119 - test_urllibnet failure when using support.transient_internet.
Senthil Kumaran [Sun, 17 Oct 2010 10:52:12 +0000 (10:52 +0000)]
Fix Issue10119 - test_urllibnet failure when using support.transient_internet.

14 years ago#5962: clarify sys.exit() vs. threads.
Georg Brandl [Sun, 17 Oct 2010 10:51:45 +0000 (10:51 +0000)]
#5962: clarify sys.exit() vs. threads.

14 years ago#9138: reword introduction to classes in Python.
Georg Brandl [Sun, 17 Oct 2010 10:44:11 +0000 (10:44 +0000)]
#9138: reword introduction to classes in Python.

14 years ago#9117: fix syntax for class definition.
Georg Brandl [Sun, 17 Oct 2010 10:38:20 +0000 (10:38 +0000)]
#9117: fix syntax for class definition.

14 years agoSome markup and style fixes in argparse docs.
Georg Brandl [Sun, 17 Oct 2010 10:34:28 +0000 (10:34 +0000)]
Some markup and style fixes in argparse docs.

14 years ago#9112: document error() and exit() methods of ArgumentParser.
Georg Brandl [Sun, 17 Oct 2010 10:28:04 +0000 (10:28 +0000)]
#9112: document error() and exit() methods of ArgumentParser.

14 years ago#9105: move pickle warning to a bit more prominent location.
Georg Brandl [Sun, 17 Oct 2010 10:24:54 +0000 (10:24 +0000)]
#9105: move pickle warning to a bit more prominent location.

14 years agoRemove second parser module example; it referred to non-readily-available example...
Georg Brandl [Sun, 17 Oct 2010 10:22:28 +0000 (10:22 +0000)]
Remove second parser module example; it referred to non-readily-available example files, and this kind of discovery is much better done with the AST nowadays anyway.

14 years agoMake file names consistent.
Georg Brandl [Sun, 17 Oct 2010 10:15:50 +0000 (10:15 +0000)]
Make file names consistent.

14 years ago#9086: correct wrong terminology about linking with pythonXY.dll.
Georg Brandl [Sun, 17 Oct 2010 10:14:38 +0000 (10:14 +0000)]
#9086: correct wrong terminology about linking with pythonXY.dll.

14 years ago#5212: md5 weaknesses do not affect hmac, so remove the note about that.
Georg Brandl [Sun, 17 Oct 2010 10:09:06 +0000 (10:09 +0000)]
#5212: md5 weaknesses do not affect hmac, so remove the note about that.

14 years agoFix copy-paste error in example.
Georg Brandl [Sun, 17 Oct 2010 10:07:29 +0000 (10:07 +0000)]
Fix copy-paste error in example.

14 years ago#459007: merge info from PC/getpathp.c and using/windows.rst to document the forming...
Georg Brandl [Sun, 17 Oct 2010 10:05:13 +0000 (10:05 +0000)]
#459007: merge info from PC/getpathp.c and using/windows.rst to document the forming of sys.path under Windows.

14 years ago#8968: add actual name of token constants.
Georg Brandl [Sun, 17 Oct 2010 09:46:11 +0000 (09:46 +0000)]
#8968: add actual name of token constants.

14 years agoFix hmac docs: it takes and returns bytes, except for hexdigest().
Georg Brandl [Sun, 17 Oct 2010 09:43:35 +0000 (09:43 +0000)]
Fix hmac docs: it takes and returns bytes, except for hexdigest().

14 years ago#8855: add shelve security warning.
Georg Brandl [Sun, 17 Oct 2010 09:37:54 +0000 (09:37 +0000)]
#8855: add shelve security warning.

14 years ago#8811: small fixes to sqlite3 docs.
Georg Brandl [Sun, 17 Oct 2010 09:33:24 +0000 (09:33 +0000)]
#8811: small fixes to sqlite3 docs.

14 years ago#8686: remove potentially confusing wording that does not add any value.
Georg Brandl [Sun, 17 Oct 2010 09:23:05 +0000 (09:23 +0000)]
#8686: remove potentially confusing wording that does not add any value.

14 years ago#8556: use less confusing mapping key in example.
Georg Brandl [Sun, 17 Oct 2010 09:19:03 +0000 (09:19 +0000)]
#8556: use less confusing mapping key in example.

14 years agoFix compilation warning in _ctypes module on Window
Amaury Forgeot d'Arc [Sun, 17 Oct 2010 08:34:22 +0000 (08:34 +0000)]
Fix compilation warning in _ctypes module on Window

14 years agoOn Windows, remove compilation warnings with the zlib and gzip modules.
Amaury Forgeot d'Arc [Sun, 17 Oct 2010 08:26:13 +0000 (08:26 +0000)]
On Windows, remove compilation warnings with the zlib and gzip modules.

14 years ago#10058: tweak wording about exception returns.
Georg Brandl [Sun, 17 Oct 2010 06:32:59 +0000 (06:32 +0000)]
#10058: tweak wording about exception returns.

14 years agoNote that maxtasksperchild is new in 3.2.
Georg Brandl [Sun, 17 Oct 2010 06:21:59 +0000 (06:21 +0000)]
Note that maxtasksperchild is new in 3.2.

14 years agoAvoid hanging the test on netbsd5.
Gregory P. Smith [Sun, 17 Oct 2010 03:09:12 +0000 (03:09 +0000)]
Avoid hanging the test on netbsd5.

14 years agoskip test_itimer_virtual on NetBSD to prevent the test suite from hanging.
Gregory P. Smith [Sun, 17 Oct 2010 02:57:19 +0000 (02:57 +0000)]
skip test_itimer_virtual on NetBSD to prevent the test suite from hanging.

14 years agoFix multiprocessing Semaphore's on netbsd5. SEM_VALUE_MAX is defined
Gregory P. Smith [Sun, 17 Oct 2010 02:14:36 +0000 (02:14 +0000)]
Fix multiprocessing Semaphore's on netbsd5. SEM_VALUE_MAX is defined
as (~0U) on NetBSD which was causing it to appear as -1 when used as
a signed int for _multprocessing.SemLock.SEM_VALUE_MAX.  This works
around the problem by substituting INT_MAX on systems where it appears
negative when used as an int.

14 years agofind_module(): use FS encoding to display the missing __init__ warning
Victor Stinner [Sun, 17 Oct 2010 02:07:09 +0000 (02:07 +0000)]
find_module(): use FS encoding to display the missing __init__ warning

14 years agotest_cmd_line_script: format paths with ascii() instead of repr()
Victor Stinner [Sun, 17 Oct 2010 01:41:09 +0000 (01:41 +0000)]
test_cmd_line_script: format paths with ascii() instead of repr()

Fix the test if the native filesystem encoding is not utf-8 (eg. cp1250 on
Windows).

14 years agouse assertion methods
Benjamin Peterson [Sun, 17 Oct 2010 01:30:26 +0000 (01:30 +0000)]
use assertion methods

14 years agodisable the garbage collector while collecting traces, so that __del__s don't get...
Benjamin Peterson [Sun, 17 Oct 2010 01:29:11 +0000 (01:29 +0000)]
disable the garbage collector while collecting traces, so that __del__s don't get caught