1. 06 Ock, 2001 2 kayıt (commit)
    • Marc-André Lemburg's avatar
      This patch adds a new feature to the builtin charmap codec: · 1109db44
      Marc-André Lemburg yazdı
      the mapping dictionaries can now contain 1-n mappings, meaning
      that character ordinals may be mapped to strings or Unicode object,
      e.g. 0x0078 ('x') -> u"abc", causing the ordinal to be replaced by
      the complete string or Unicode object instead of just one character.
      
      Another feature introduced by the patch is that of mapping oridnals to
      the emtpy string. This allows removing characters.
      
      The patch is different from patch #103100 in that it does not cause a
      performance hit for the normal use case of 1-1 mappings.
      
      Written by Marc-Andre Lemburg, copyright assigned to Guido van Rossum.
      1109db44
    • Marc-André Lemburg's avatar
      This patch adds a new feature to the builtin charmap codec: · ec233e58
      Marc-André Lemburg yazdı
      The mapping dictionaries can now contain 1-n mappings, meaning
      that character ordinals may be mapped to strings or Unicode object,
      e.g. 0x0078 ('x') -> u"abc", causing the ordinal to be replaced by
      the complete string or Unicode object instead of just one character.
      
      Another feature introduced by the patch is that of mapping oridnals to
      the emtpy string. This allows removing characters.
      
      The patch is different from patch #103100 in that it does not cause a
      performance hit for the normal use case of 1-1 mappings.
      
      Written by Marc-Andre Lemburg, copyright assigned to Guido van Rossum.
      ec233e58
  2. 05 Ock, 2001 9 kayıt (commit)
  3. 04 Ock, 2001 27 kayıt (commit)
  4. 03 Ock, 2001 2 kayıt (commit)
    • Jeremy Hylton's avatar
      Actually call the object with an __call__ method, instead of just · 5ab36611
      Jeremy Hylton yazdı
      checking if it is callable.  This is the only place in the test suite
      where an __call__ method is called.
      5ab36611
    • Jeremy Hylton's avatar
      Revised implementation of CALL_FUNCTION and friends. · 5282044b
      Jeremy Hylton yazdı
      More revision still needed.
      
      Much of the code that was in the mainloop was moved to a series of
      helper functions.  PyEval_CallObjectWithKeywords was split into two
      parts.  The first part now only does argument handling.  The second
      part is now named call_object and delegates the call to a
      call_(function,method,etc.) helper.
      
      XXX The call_XXX helper functions should be replaced with tp_call
      functions for the respective types.
      
      The CALL_FUNCTION implementation contains three kinds of optimization:
      1. fast_cfunction and fast_function are called when the arguments on
         the stack can be passed directly to eval_code2() without copying
         them into a tuple.
      2. PyCFunction objects are dispatched immediately, because they are
         presumed to occur more often than anything else.
      3. Bound methods are dispatched inline.  The method object contains a
         pointer to the function object that will be called.  The function
         is called from within the mainloop, which may allow optimization #1
         to be used, too.
      
      The extened call implementation -- f(*args) and f(**kw) -- are
      implemented as a separate case in the mainloop.  This allows the
      common case of normal function calls to execute without wasting time
      on checks for extended calls, although it does introduce a small
      amount of code duplication.
      
      Also, the unused final argument of eval_code2() was removed.  This is
      probably the last trace of the access statement :-).
      5282044b