On the 'last':
- a typical mix of filter calls and assignment statements:
mainfilter1()
b = auxfilter()
# last = mainfilter1() as expected
mainfilter2()
-----
- now someone commented out just the last line knowing how 'last' clip is usually preserved over assignment statements, thus expecting the 'last' clip to carry result of the last filter applied in - what should we call it? - the main flow of the filter graph.
mainfilter1()
b = auxfilter()
# mainfilter2()
last = nothing????
So, irregardless of user experience, there seems to be no logic *syntax-wise* behind current behavior (but of course if one looks into the source code it's clear that filters() explicitly try to use the 'last' clip in rather an unsightly manner, which doesn't compensate the lack of syntax logic anyway).