1. 13 Şub, 2003 1 kayıt (commit)
    • Guido van Rossum's avatar
      - Finally fixed the bug in compile() and exec where a string ending · 4b499dd3
      Guido van Rossum yazdı
        with an indented code block but no newline would raise SyntaxError.
        This would have been a four-line change in parsetok.c...  Except
        codeop.py depends on this behavior, so a compilation flag had to be
        invented that causes the tokenizer to revert to the old behavior;
        this required extra changes to 2 .h files, 2 .c files, and 2 .py
        files.  (Fixes SF bug #501622.)
      4b499dd3
  2. 11 Ara, 2002 1 kayıt (commit)
  3. 04 Agu, 2002 2 kayıt (commit)
    • Martin v. Löwis's avatar
      00f1e3f5
    • Andrew MacIntyre's avatar
      SF patch #578297: · 80d4e2ac
      Andrew MacIntyre yazdı
      Change the parser and compiler to use PyMalloc.
      
      Only the files implementing processes that will request memory
      allocations small enough for PyMalloc to be a win have been
      changed, which are:-
       - Python/compile.c
       - Parser/acceler.c
       - Parser/node.c
       - Parser/parsetok.c
      
      This augments the aggressive overallocation strategy implemented by
      Tim Peters in PyNode_AddChild() [Parser/node.c], in reducing the
      impact of platform malloc()/realloc()/free() corner case behaviour.
      Such corner cases are known to be triggered by test_longexp and
      test_import.
      
      Jeremy Hylton, in accepting this patch, recommended this as a
      bugfix candidate for 2.2.  While the changes to Python/compile.c
      and Parser/node.c backport easily (and could go in), the changes
      to Parser/acceler.c and Parser/parsetok.c require other not
      insignificant changes as a result of the differences in the memory
      APIs between 2.3 and 2.2, which I'm not in a position to work
      through at the moment.  This is a pity, as the Parser/parsetok.c
      changes are the most important after the Parser/node.c changes, due
      to the size of the memory requests involved and their frequency.
      80d4e2ac
  4. 09 Tem, 2002 1 kayıt (commit)
  5. 22 Mar, 2002 1 kayıt (commit)
  6. 05 Ock, 2002 1 kayıt (commit)
  7. 20 Eki, 2001 1 kayıt (commit)
  8. 17 Tem, 2001 1 kayıt (commit)
    • Guido van Rossum's avatar
      Add a really stupid warning about 'yield' used as an identifier. · da62ecc9
      Guido van Rossum yazdı
      This is really stupid because it cannot be suppressed or altered using
      the warning framework; that's because the warning framework is built
      on Python interpreter internals, and the parser generator doesn't have
      access to any of those (you cannot use anything of type PyObject * in
      the parser).
      
      But it's better than nothing, and implementing a proper check for this
      appears to require modifying compile.c in a dozen places, for which I
      don't have the stamina today.  I promise we'll do better in 2.2a2.
      
      At least it tells you the filename and line number (unlike the first
      hack I considered :-).
      da62ecc9
  9. 16 Tem, 2001 1 kayıt (commit)
    • Tim Peters's avatar
      Ugly. A pile of new xxxFlags() functions, to communicate to the parser · fe2127d3
      Tim Peters yazdı
      that 'yield' is a keyword.  This doesn't help test_generators at all!  I
      don't know why not.  These things do work now (and didn't before this
      patch):
      
      1. "from __future__ import generators" now works in a native shell.
      
      2. Similarly "python -i xxx.py" now has generators enabled in the
         shell if xxx.py had them enabled.
      
      3. This program (which was my doctest proxy) works fine:
      
      from __future__ import generators
      
      source = """\
      def f():
          yield 1
      """
      
      exec compile(source, "", "single") in globals()
      print type(f())
      fe2127d3
  10. 01 Eyl, 2000 1 kayıt (commit)
  11. 18 Agu, 2000 1 kayıt (commit)
  12. 22 Tem, 2000 1 kayıt (commit)
    • Thomas Wouters's avatar
      Mass ANSIfication. · 23c9e002
      Thomas Wouters yazdı
      Work around intrcheck.c's desire to pass 'PyErr_CheckSignals' to
      'Py_AddPendingCall' by providing a (static) wrapper function that has the
      right number of arguments.
      23c9e002
  13. 11 Tem, 2000 1 kayıt (commit)
  14. 09 Tem, 2000 1 kayıt (commit)
  15. 30 Haz, 2000 2 kayıt (commit)
  16. 28 Haz, 2000 2 kayıt (commit)
  17. 03 May, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Vladimir Marangozov's long-awaited malloc restructuring. · b18618da
      Guido van Rossum yazdı
      For more comments, read the patches@python.org archives.
      For documentation read the comments in mymalloc.h and objimpl.h.
      
      (This is not exactly what Vladimir posted to the patches list; I've
      made a few changes, and Vladimir sent me a fix in private email for a
      problem that only occurs in debug mode.  I'm also holding back on his
      change to main.c, which seems unnecessary to me.)
      b18618da
  18. 21 Ara, 1998 1 kayıt (commit)
  19. 10 Nis, 1998 1 kayıt (commit)
  20. 27 Tem, 1997 1 kayıt (commit)
  21. 29 Nis, 1997 1 kayıt (commit)
  22. 25 Eki, 1996 1 kayıt (commit)
  23. 20 Ock, 1995 1 kayıt (commit)
  24. 04 Ock, 1995 1 kayıt (commit)
  25. 29 Agu, 1994 1 kayıt (commit)
  26. 16 Mar, 1993 1 kayıt (commit)
    • Guido van Rossum's avatar
      * Changed many files to use mkvalue() instead of newtupleobject(). · e537240c
      Guido van Rossum yazdı
      * Fixcprt.py: added [-y file] option, do only files younger than file.
      * modsupport.[ch]: added vmkvalue().
      * intobject.c: use mkvalue().
      * stringobject.c: added "formatstring"; renamed string* to string_*;
        ceval.c: call formatstring for string % value.
      * longobject.c: close memory leak in divmod.
      * parsetok.c: set result node to NULL when returning an error.
      e537240c
  27. 05 Nis, 1992 1 kayıt (commit)
  28. 25 Mar, 1992 1 kayıt (commit)
  29. 04 Mar, 1992 1 kayıt (commit)
  30. 07 Haz, 1991 1 kayıt (commit)
  31. 03 Haz, 1991 1 kayıt (commit)
  32. 19 Şub, 1991 1 kayıt (commit)
  33. 20 Ara, 1990 1 kayıt (commit)
  34. 18 Kas, 1990 1 kayıt (commit)
  35. 14 Eki, 1990 1 kayıt (commit)