Rick Frankel writes: > On Thu, Jan 12, 2012 at 04:35:31PM -0600, Leo Alekseyev wrote: >> >> Therefore, when executing an entire buffer, there is no way to have >> >> the execution of a call block dependent on the prior execution of a >> >> source block. >> >> >> > >> > It would be better to make the dependency explicit by passing the >> > results of the call line as a (potentially unused) variable to the code >> > block.  For example; >> [snip] > > The problem w/ this is that the (potentially time consuming) dependent > will be executed twice when doing a buffer eval. > >> > There is (at least currently) no guarantee that evaluation order will be >> > buffer order. >> >> Is there some deep rationale for the current behavior that I'm not >> seeing? Are there big obstacles to enforcing ligeral execution order? > > It's because prior to 7.8, call blocks were not executed during a > buffer execute. The solution was to execute all the call blocks after > executing the src block. (Eric would have to comment on how hard it > would be to merge the two functions :). > Turns out it was not that difficult to change this behavior. You and Leo are both correct that in-buffer-order evaluation is more natural and expected than the previous behavior. I've just pushed up a fix after which evaluating the following