well, depends on the cup

it is impossible if the winchester cup (;-)) says 'take the teams that finish 1st to 5th from the third league'. that won't work because the first few got replaced by relegated teams.
Well, that wouldn't work with the current code, for the first season. The Winchester would incorrectly contain five teams from league 3 in season 1, and a mixture of teams from leagues 3 and 2 in other seasons.
Such an unusual definition would be specific to a country, so you could probably take the promotion into account. For example, if two teams are promoted, then choose teams 3-5 of league 3 and the last two teams in league 2.
Such a cup, involving teams promoted to league 2 but no other teams from league 2, would be very unusual so I don't think having to define it this way is particularly bad.
If parallel leagues are involved, you might struggle to pick the right teams, but now we're getting really silly!
and what if we'd want to create a cup with the worst teams from the european leagues, say the last 2 from all countries' first leagues? we'd get the promoted teams from the second leagues.
Yes, this is a better example, since you'd have to use a specific method for each country, depending on how the relegations work, and again, parallel leagues might make it impossible. Still doesn't work in season 1, in any case!
of course these are silly examples, but they illustrate what we can lose if we execute the team movements before we create the cups.
Yes, they are.
I think we stand to gain more than we lose. Without the change, I still can't see a way to choose only the top 8 teams from each of two parallel leagues (including relegated ones), as per the example in an earlier post. This is a more realistic requirement.
The change would also remove the need for everyone to put add_week = 1 or 2 in cups that draw from a subset of the national leagues, which is the only fix right now for the bug as originally posted.
What about if add_week = -1 meant "choose teams before updating leagues", and add_week = 0 meant "choose teams after updating leagues"? I think add_week = -1 would be required rarely if ever, so it wouldn't really make definition creation any more complex. Most people wouldn't even need to know it existed.
add_week = -1 would have to be treated as 0 in season 1, but as it'd be rare I don't think that the slight inconsistency in season 1 is too much of a worry.
Mark