John Morton writes:
 > On Fri, 2 Mar 2001 20:55:40 +0100 (CET) Dieter Maurer <[EMAIL PROTECTED]>
 >  wrote:
 > > Chris Withers writes:
 > >  > John Morton wrote:
 > >  > > 
 > >  > > It doesn't appear to be defined in in 2.2.5, but it is ment
 > ion in
 > >  > > it's doc string, and is available in the dtml-in namespace. I never 
 > got
 > >  > > around to tracking down where it was added in.
 > > "" (for DTML In Sequence Variables) defines it, if
 > > it is defined (when I recently looked through the sources, it has
 > > not been).
 > I can't find them in either or in 2.2.5, yet they do
 > actually work fine...
You are right!

"{next,previous}-sequence-start-number" and friends are still there.
Nobody made the stupidity to remove them.
Please (Brian) accept my apology for my quite rude accusation.
I was just not smart enough to understand the ingenious code in
"DT_In" and "DT_InSV".

Let's review the situation:

  "DT_In" only defines "next-sequence-start-index".
  But what is pushed onto the DTML namespace is in fact
  a "DT_InSV.sequence_variables" object.
  Its "__getitem__" is used to look up sequence variables.

  The "__getitme__" code is quite sophisticated:
  If the key is not defined, it splits it at the last
  '-' into prefix and suffix (in our case, suffix is "number").

  If the class "sequence_variables" has a method whose
  name is given by suffix (this is the case for "number"
  and many of its friends),
  then the corresponding "index" key is looked up and
  the method applied to it.
  This way, "next-sequence-start-number" and friends come
  into existence, without that one easily recognized how
  this happens.

Sorry for the false accusations!


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to