1. 13 Jun, 2001 2 commits
    • Fred Drake's avatar
      · 89de4892
      Fred Drake authored
      Add another optimization stage to detect longer sequences in the bytecode.
      89de4892
    • Fred Drake's avatar
      · bdcf6fb1
      Fred Drake authored
      New opcode:  rawtextBeginScope.  This is equivalent to:
      
      [endScope] rawtextColumn setPosition beginScope
      
      These two sequences are very common in some of the slowest test documents
      I've been using.
      bdcf6fb1
  2. 12 Jun, 2001 9 commits
    • Fred Drake's avatar
      · b9dfefca
      Fred Drake authored
      Lots more micro-optimization of the same sorts as we've been doing.
      b9dfefca
    • Fred Drake's avatar
      · 17f3bdbf
      Fred Drake authored
      Updated to reflect the re-ordering of scope boundaries and text chunks.
      17f3bdbf
    • Fred Drake's avatar
      · d81eb242
      Fred Drake authored
      New optimization of the instruction stream:  beginScope/endScope
      instructions are always pushed in front of text chunks; the affect of
      this is that many text chunks previously separated by scope boundaries
      are now joined together, causing fewer instructions to be generated.
      d81eb242
    • Fred Drake's avatar
      · fa31d627
      Fred Drake authored
      Do not call sys.exc_info() to initialize some locals we don't use.
      fa31d627
    • Fred Drake's avatar
      Some small optimizations: · 8bd69dca
      Fred Drake authored
      SafeMapping.has_get():
          Simplify in order to reduce the number of Python bytecodes.  There
          is no longer a branch, which isn't strictly necessary.
      
      Context.evaluateStructure(), .evaluateMacro():
          Since these methods are essentially synonyms for evaluate(), avoid
          the extra method lookup & call by simply making them aliases.
      
      Context.evaluate():
          Re-arrange the try/except/except to avoid some of the exception
          catching by moving part of the try clause into an else clause.
      8bd69dca
    • Chris McDonough's avatar
      When operating on raw strings which had DOS-style linefeeds (e.g. "\r\n"),... · 88f00992
      Chris McDonough authored
      When operating on raw strings which had DOS-style linefeeds (e.g. "\r\n"), StructuredText would neglect to strip the trailing garbage off the end of a paragraph.  Thus, the test for "examples" and other features that depended on the last characters in a paragraph to not be whitespace for proper operation were failing, causing problems mainly for people who use Windows to author STX content.  This is now fixed.
      88f00992
    • Evan Simpson's avatar
      Use Ken's wording for the upload paragraph, and look for the body in... · 66ea9597
      Evan Simpson authored
      Use Ken's wording for the upload paragraph, and look for the body in REQUEST.other before REQUEST.form, so that errors will show up.
      66ea9597
    • Fred Drake's avatar
      · 2feef0d3
      Fred Drake authored
      Small optimizations to get this a little more out of the way when profiling.
      2feef0d3
    • Fred Drake's avatar
      · 38793800
      Fred Drake authored
      Delay expectation of being able to access the DummyEngine class, allowing
      circular import by the DummyEngine module.
      38793800
  3. 11 Jun, 2001 5 commits
  4. 09 Jun, 2001 1 commit
    • Fred Drake's avatar
      More micro-optimizations. · d05ff27d
      Fred Drake authored
      A (minor) change to the bytecode format: for "extended" attributes
      (handled by TALInterpreter.attrAction()), the instruction contains the
      integer previously retrieved from the actionIndex table; the bytecode
      generator now takes care of the lookup.  This allows attrAction() to
      no longer need to lookup the table that it used to lookup the
      integers.
      
      Many handlers are now separated into TAL and non-TAL versions -- the
      TALInterpreter constructor determines which dispatch table to use when
      it initializes self.tal (which is not changed later).  This allows
      each of the handlers to do only what is needed without having to
      decide based on the self.tal attribute.
      
      TALInterpreter.do_startTag() no longer contains a special case for an
      empty attribute list; that case is already optimized away by the
      bytecode generator.  What remains would actually work in that case,
      but it simply doesn't occur.  This removes one test of the attrList
      parameter.
      d05ff27d
  5. 08 Jun, 2001 19 commits
  6. 07 Jun, 2001 4 commits
    • Andreas Jung's avatar
      *** empty log message *** · 415a8342
      Andreas Jung authored
      415a8342
    • Shane Hathaway's avatar
      Because ZopeSecurityPolicy.checkPermission() used User.has_role(), it did · 958b76a4
      Shane Hathaway authored
      not behave as expected.  Permissions granted to Anonymous didn't
      necessarily get granted to other roles, for one thing.  This is an
      issue especially for the CMF.  User.allowed()
      is practically the same thing with the parameters reversed, so I changed
      checkPermission() to call User.allowed() instead.  We should be able to
      deprecate User.has_role() now.  I also implemented a minor (micro?)
      optimization by calling the aq_base module function instead of using getattr().
      958b76a4
    • Andreas Jung's avatar
      Collector #2287: added import of render_blocks (removed · 6053665c
      Andreas Jung authored
      while replacing an import * by a more selective import)
      6053665c
    • Shane Hathaway's avatar
      The _need__name__ protocol assigns a name to DTMLMethods implicitly · 6150e9df
      Shane Hathaway authored
      so that ExtensionClass can find the correct <name>__roles__ attribute
      of the method's class.  However it was discovered that this protocol
      has a flaw: if a DTMLMethod is bound to multiple names, there is no
      way for default__class_init__ to tell which name is the right one.
      
      This change adds code that detects the condition and makes the name
      explicit in all places where it occurs in the Zope core.  There are
      likely products out there that have the same condition so they will
      need a small correction.  For now this is a warning but it might be
      appropriate to later make the condition an error.
      6150e9df