1. 26 Eyl, 2000 1 kayıt (commit)
  2. 19 Eyl, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Make better use of GNU Pth -- patch by Andy Dustman. · 9e8181b8
      Guido van Rossum yazdı
      I can't test this, so I'm just checking it in with blind faith in Andy.
      I've tested that it doesn't broeak a non-Pth build on Linux.
      
      Changes include:
      
      - There's a --with-pth configure option.
      
      - Instead of _GNU_PTH, we test for HAVE_PTH.
      
      - Better signal handling.
      
      - (The config.h.in file is regenerated in a slightly different order.)
      9e8181b8
  3. 10 Eyl, 2000 1 kayıt (commit)
    • Tim Peters's avatar
      Close SF bug 110826: a complaint about the way Python #define'd NULL. · 4826a894
      Tim Peters yazdı
      It's hard to sort out what the bug was, exactly.  So, Big Hammer:
      
      1. Python shouldn't be in the business of #define'ing NULL, period.
      2. Users of the Python C API shouldn't be in the business of not including
         Python.h, period.
      
      Hence:
      
      1. Removed all #define's of NULL in Python source code (pyport.h and
         object.h).
      2. Since we're *relying* on stdio.h defining NULL, put an #error in
         Python.h after its #include of stdio.h if NULL isn't defined then.
      4826a894
  4. 01 Eyl, 2000 1 kayıt (commit)
  5. 31 Tem, 2000 2 kayıt (commit)
  6. 23 Tem, 2000 1 kayıt (commit)
    • Tim Peters's avatar
      Included assert.h in Python.h -- it's absurd that this basic tool of · 8315ea57
      Tim Peters yazdı
      good C practice hasn't been available to everything all along.
      Added Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) macro to pyport.h; this
      just casts VALUE from type WIDE to type NARROW, but assert-fails if
      Py_DEBUG is defined and info is lost due to casting.
      Replaced a line in Fredrik's fix to marshal.c to use the new macro.
      8315ea57
  7. 12 Tem, 2000 1 kayıt (commit)
  8. 08 Tem, 2000 1 kayıt (commit)
    • Tim Peters's avatar
      Cray J90 fixes for long ints. · 7d3a511a
      Tim Peters yazdı
      This was a convenient excuse to create the pyport.h file recently
      discussed!
      Please use new Py_ARITHMETIC_RIGHT_SHIFT when right-shifting a
      signed int and you *need* sign-extension.  This is #define'd in
      pyport.h, keying off new config symbol SIGNED_RIGHT_SHIFT_ZERO_FILLS.
      If you're running on a platform that needs that symbol #define'd,
      the std tests never would have worked for you (in particular,
      at least test_long would have failed).
      The autoconfig stuff got added to Python after my Unix days, so
      I don't know how that works.  Would someone please look into doing
      & testing an auto-config of the SIGNED_RIGHT_SHIFT_ZERO_FILLS
      symbol?  It needs to be defined if & only if, e.g., (-1) >> 3 is
      not -1.
      7d3a511a
  9. 07 Tem, 2000 1 kayıt (commit)
  10. 05 Tem, 2000 1 kayıt (commit)
  11. 30 Haz, 2000 2 kayıt (commit)
  12. 28 May, 2000 1 kayıt (commit)
  13. 08 May, 2000 1 kayıt (commit)
  14. 05 Nis, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Marc-Andre's third try at this bulk patch seems to work (except that · 9e896b37
      Guido van Rossum yazdı
      his copy of test_contains.py seems to be broken -- the lines he
      deleted were already absent).  Checkin messages:
      
      
      New Unicode support for int(), float(), complex() and long().
      
      - new APIs PyInt_FromUnicode() and PyLong_FromUnicode()
      - added support for Unicode to PyFloat_FromString()
      - new encoding API PyUnicode_EncodeDecimal() which converts
        Unicode to a decimal char* string (used in the above new
        APIs)
      - shortcuts for calls like int(<int object>) and float(<float obj>)
      - tests for all of the above
      
      Unicode compares and contains checks:
      - comparing Unicode and non-string types now works; TypeErrors
        are masked, all other errors such as ValueError during
        Unicode coercion are passed through (note that PyUnicode_Compare
        does not implement the masking -- PyObject_Compare does this)
      - contains now works for non-string types too; TypeErrors are
        masked and 0 returned; all other errors are passed through
      
      Better testing support for the standard codecs.
      
      Misc minor enhancements, such as an alias dbcs for the mbcs codec.
      
      Changes:
      - PyLong_FromString() now applies the same error checks as
        does PyInt_FromString(): trailing garbage is reported
        as error and not longer silently ignored. The only characters
        which may be trailing the digits are 'L' and 'l' -- these
        are still silently ignored.
      - string.ato?() now directly interface to int(), long() and
        float(). The error strings are now a little different, but
        the type still remains the same. These functions are now
        ready to get declared obsolete ;-)
      - PyNumber_Int() now also does a check for embedded NULL chars
        in the input string; PyNumber_Long() already did this (and
        still does)
      
      Followed by:
      
      Looks like I've gone a step too far there... (and test_contains.py
      seem to have a bug too).
      
      I've changed back to reporting all errors in PyUnicode_Contains()
      and added a few more test cases to test_contains.py (plus corrected
      the join() NameError).
      9e896b37
  15. 10 Mar, 2000 1 kayıt (commit)
  16. 03 Ock, 1999 1 kayıt (commit)
  17. 04 Ara, 1998 1 kayıt (commit)
  18. 07 Eki, 1998 1 kayıt (commit)
  19. 26 May, 1998 1 kayıt (commit)
  20. 02 Agu, 1997 1 kayıt (commit)
    • Guido van Rossum's avatar
      Mass checkin (more to follow for other directories). · 29e46a9a
      Guido van Rossum yazdı
      Introduce truly separate (sub)interpreter objects.  For now, these
      must be used by separate threads, created from C.  See Demo/pysvr for
      an example of how to use this.  This also rationalizes Python's
      initialization and finalization behavior:
      
      Py_Initialize() -- initialize the whole interpreter
      Py_Finalize() -- finalize the whole interpreter
      
      tstate = Py_NewInterpreter() -- create a new (sub)interpreter
      Py_EndInterpreter(tstate) -- delete a new (sub)interpreter
      
      There are also new interfaces relating to threads and the interpreter
      lock, which can be used to create new threads, and sometimes have to
      be used to manipulate the interpreter lock when creating or deleting
      sub-interpreters.  These are only defined when WITH_THREAD is defined:
      
      PyEval_AcquireLock() -- acquire the interpreter lock
      PyEval_ReleaseLock() -- release the interpreter lock
      
      PyEval_AcquireThread(tstate) -- acquire the lock and make the thread current
      PyEval_ReleaseThread(tstate) -- release the lock and make NULL current
      
      Other administrative changes:
      
      - The header file bltinmodule.h is deleted.
      
      - The init functions for Import, Sys and Builtin are now internal and
        declared in pythonrun.h.
      
      - Py_Setup() and Py_Cleanup() are no longer declared.
      
      - The interpreter state and thread state structures are now linked
        together in a chain (the chain of interpreters is a static variable
        in pythonrun.c).
      
      - Some members of the interpreter and thread structures have new,
        shorter, more consistent, names.
      
      - Added declarations for _PyImport_{Find,Fixup}Extension() to import.h.
      29e46a9a
  21. 18 Tem, 1997 1 kayıt (commit)
  22. 13 May, 1997 1 kayıt (commit)
  23. 07 May, 1997 1 kayıt (commit)
  24. 05 May, 1997 1 kayıt (commit)
  25. 02 May, 1997 2 kayıt (commit)
  26. 12 Ock, 1995 1 kayıt (commit)
  27. 14 Eyl, 1994 1 kayıt (commit)