summaryrefslogtreecommitdiffstats
path: root/Python/sysmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Add some asserts. In sysmodule, I think these were to try to silenceNeal Norwitz2006-10-281-0/+4
| | | | | | | some warnings from Klokwork. They verify the assumptions of the format of svn version output. The assert in the thread module helped debug a problem on HP-UX.
* Forward-port of r52136,52138: a review of overflow-detecting code.Armin Rigo2006-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * unified the way intobject, longobject and mystrtoul handle values around -sys.maxint-1. * in general, trying to entierely avoid overflows in any computation involving signed ints or longs is extremely involved. Fixed a few simple cases where a compiler might be too clever (but that's all guesswork). * more overflow checks against bad data in marshal.c. * 2.5 specific: fixed a number of places that were still confusing int and Py_ssize_t. Some of them could potentially have caused "real-world" breakage. * list.pop(x): fixing overflow issues on x was messy. I just reverted to PyArg_ParseTuple("n"), which does the right thing. (An obscure test was trying to give a Decimal to list.pop()... doesn't make sense any more IMHO) * trying to write a few tests...
* Handle allocation failures gracefully. Found with failmalloc.Neal Norwitz2006-07-211-39/+34
| | | | Many (all?) of these could be backported.
* After approval from Anthony, merge the tim-current_framesTim Peters2006-07-101-0/+17
| | | | | | branch into the trunk. This adds a new sys._current_frames() function, which returns a dict mapping thread id to topmost thread stack frame.
* _PySys_Init(): It's rarely a good idea to size a buffer to theTim Peters2006-06-061-1/+1
| | | | | | | | exact maximum size someone guesses is needed. In this case, if we're really worried about extreme integers, then "cp%d" can actually need 14 bytes (2 for "cp" + 1 for \0 at the end + 11 for -(2**31-1)). So reserve 128 bytes instead -- nothing is actually saved by making a stack-local buffer tiny.
* Add 3 more bytes to a buffer to cover constants in string and null byte on ↵Brett Cannon2006-06-051-1/+1
| | | | | | top of 10 possible digits for an int. Closes bug #1501223.
* Make use of METH_O and METH_NOARGS where possible.Georg Brandl2006-05-291-2/+2
| | | | Use Py_UnpackTuple instead of PyArg_ParseTuple where possible.
* C++ compiler cleanup: extern "C" a couple declarations, cast int to size_tSkip Montanaro2006-04-181-1/+9
|
* Ignore the references to the dummy objects used as deleted keysArmin Rigo2006-04-121-3/+2
| | | | in dicts and sets when computing the total number of references.
* Bug #1421664: Set sys.stderr.encodingMartin v. Löwis2006-04-031-0/+5
|
* Try to be a bit more consistent on all platforms:Neal Norwitz2006-03-091-1/+4
| | | | | | | python . python < . both print a message, return non-zero and do not core dump.
* Change int to Py_ssize_t in several places.Martin v. Löwis2006-03-071-1/+1
| | | | | Add (int) casts to silence compiler warnings. Raise Python exceptions for overflows.
* Use Py_ssize_t for _Py_RefTotal.Neal Norwitz2006-03-041-1/+1
| | | | I tried to handle Win64 properly, but please review.
* Fix minor docstring typo.Brett Cannon2006-03-021-1/+1
|
* Use Py_ssize_t to count theMartin v. Löwis2006-02-161-1/+2
|
* Merge ssize_t branch.Martin v. Löwis2006-02-151-1/+1
|
* Check return result from Py_InitModule*(). This API can fail.Neal Norwitz2006-01-191-0/+2
| | | | Probably should be backported.
* svnversion_init(): Use standard layout for function defn.Tim Peters2006-01-061-1/+2
|
* Trimmed trailing whitespace.Tim Peters2006-01-061-20/+20
|
* Drop sys.build_number. Add sys.subversion.Martin v. Löwis2006-01-051-2/+84
|
* Expose Subversion revision number (calculated via "svnversion .") to Python.Barry Warsaw2005-12-181-0/+3
| | | | | | | Add C API function Py_GetBuildNumber(), add it to the interactive prompt banner (i.e. Py_GetBuildInfo()), and add it as the sys.build_number attribute. The build number is a string instead of an int because it may contain a trailing 'M' if there are local modifications.
* Merge ast-branch to headJeremy Hylton2005-10-201-1/+1
| | | | | | | | | | This change implements a new bytecode compiler, based on a transformation of the parse tree to an abstract syntax defined in Parser/Python.asdl. The compiler implementation is not complete, but it is in stable enough shape to run the entire test suite excepting two disabled tests.
* SF bug #887946, segfault if redirecting directoryNeal Norwitz2005-10-031-0/+9
| | | | | | | Also provide a warning if a directory is passed on the command line. Add minimal command line test. Will backport.
* patch [ 1119423 ] python -c readlink()s and stat()s '-c'Georg Brandl2005-09-151-3/+3
|
* Partially revert #1074011; don't try to fflush stdin.Martin v. Löwis2005-01-271-1/+10
| | | | Backported to 2.3 and 2.4.
* Flush std{in,out,err} before closing it. Fixes #1074011.Martin v. Löwis2005-01-231-3/+10
| | | | Will backport to 2.4 and 2.3.
* This is my patch:Michael W. Hudson2004-08-121-1/+1
| | | | | | [ 1005891 ] support --with-tsc on PPC plus a trivial change to settscdump's docstring and a Misc/NEWS entry.
* Remove compiler warningNeal Norwitz2004-06-131-1/+1
|
* Patch #510695: Add TSC profiling for the VM.Martin v. Löwis2004-06-081-0/+30
|
* Changed random calls to PyThreadState_Get() to use the macroNicholas Bastin2004-03-241-8/+8
|
* Enable the profiling of C functions (builtins and extensions)Nicholas Bastin2004-03-241-3/+4
|
* Move initialization of sys.std{in,out}.encoding to Py_Initialize.Martin v. Löwis2003-08-091-18/+0
| | | | | Verify that the encoding actually exists. Fixes #775985. Will backport to 2.3.
* New function sys.getcheckinterval(), to complement setcheckinterval().Tim Peters2003-07-061-0/+12
|
* Patch #612627: Add encoding attribute to file objects, and determineMartin v. Löwis2003-05-101-0/+43
| | | | the terminal encoding on Windows and Unix.
* Patch #708495: Port more stuff to OpenVMS.Martin v. Löwis2003-05-031-0/+19
|
* - New function sys.call_tracing() allows pdb to debug codeGuido van Rossum2003-04-091-0/+19
| | | | | | recursively. - pdb has a new command, "debug", which lets you step through arbitrary code from the debugger's (pdb) prompt.
* Always initialize Py_FileSystemDefaultEncoding on Unix in Py_Initialize,Martin v. Löwis2003-03-051-0/+20
| | | | | and not as a side effect of setlocale. Expose it as sys.getfilesystemencoding. Adjust test case.
* - New function sys.exc_clear() clears the current exception. This isGuido van Rossum2003-03-011-4/+37
| | | | | | rarely needed, but can sometimes be useful to release objects referenced by the traceback held in sys.exc_info()[2]. (SF patch #693195.) Thanks to Kevin Jacobs!
* - sys.path[0] (the directory from which the script is loaded) is nowGuido van Rossum2003-02-191-2/+10
| | | | | turned into an absolute pathname, unless it is the empty string. (SF patch #664376, by Skip Montanaro.)
* Small function call optimization and special build option for call stats.Jeremy Hylton2003-02-051-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | -DCALL_PROFILE: Count the number of function calls executed. When this symbol is defined, the ceval mainloop and helper functions count the number of function calls made. It keeps detailed statistics about what kind of object was called and whether the call hit any of the special fast paths in the code. Optimization: When we take the fast_function() path, which seems to be taken for most function calls, and there is minimal frame setup to do, avoid call PyEval_EvalCodeEx(). The eval code ex function does a lot of work to handle keywords args and star args, free variables, generators, etc. The inlined version simply allocates the frame and copies the arguments values into the frame. The optimization gets a little help from compile.c which adds a CO_NOFREE flag to code objects that don't have free variables or cell variables. This change allows fast_function() to get into the fast path with fewer tests. I measure a couple of percent speedup in pystone with this change, but there's surely more that can be done.
* Patch #664376: sys.path[0] should contain absolute pathname.Thomas Heller2003-01-081-0/+12
| | | | | | | | This fixes the problem on Windows - that's the only system where I can test it. It leaves sys.argv alone and only changes sys.path[0] to an absolute pathname.
* Add os.path.supports_unicode_filenames for all platforms,Mark Hammond2002-10-081-0/+37
| | | | | | sys.getwindowsversion() on Windows (new enahanced Tim-proof <wink> version), and fix test_pep277.py in a few minor ways. Including doc and NEWS entries.
* replace thread state objects' ticker and checkinterval fields with twoSkip Montanaro2002-09-031-2/+1
| | | | | | | | | | globals, _Py_Ticker and _Py_CheckInterval. This also implements Jeremy's shortcut in Py_AddPendingCall that zeroes out _Py_Ticker. This allows the test in the main loop to only test a single value. The gory details are at http://python.org/sf/602191
* expose PYTHON_API_VERSION macro as sys.api_version. Closes patch # 601456.Skip Montanaro2002-09-031-0/+3
|
* Rearranged and added comments to object.h, to clarify many thingsTim Peters2002-07-071-2/+3
| | | | | | | | | | | that have taken me "too long" to reverse-engineer over the years. Vastly reduced the nesting level and redundancy of #ifdef-ery. Took a light stab at repairing comments that are no longer true. sys_gettotalrefcount(): Changed to enable under Py_REF_DEBUG. It was enabled under Py_TRACE_REFS, which was much heavier than necessary. sys.gettotalrefcount() is now available in a Py_REF_DEBUG-only build.
* Patch #569753: Remove support for WIN16.Martin v. Löwis2002-06-301-2/+0
| | | | Rename all occurrences of MS_WIN32 to MS_WINDOWS.
* Got rid of an extraneous semicolon.Jack Jansen2002-06-261-1/+1
|
* Fix the docstring for sys.getrefcount().Fred Drake2002-06-201-2/+3
| | | | Closes SF bug #571759.
* Patch #505375: Make doc strings optional.Martin v. Löwis2002-06-091-30/+53
|
* Change sys_exit to use METH_VARARGS.Neal Norwitz2002-03-271-2/+5
| | | | sys.exit() now requires 0-1 arguments. Previously 2+ arguments were allowed.