[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fab-user] invoke() is broken.
From: |
Niklas Lindström |
Subject: |
Re: [Fab-user] invoke() is broken. |
Date: |
Sun, 26 Oct 2008 18:35:10 +0200 |
Hi,
On Sun, Oct 26, 2008 at 4:37 PM, Christian Vest Hansen
<address@hidden> wrote:
> If by "this" you refer to folding `require` and `invoke` into their
> respective decorators, then I'd say it's a step in the right
> direction, but as I mentioned in my other mail, the `c31()` example
> will still break.
Yup, that's what I meant.
The problem with `c31()` is more general -- commands must be executed
with `_execute_command` both for call chaining (stuff via @requires
and @depends) to run and for proper connections to be established.
(And for remembering that calls have been made for the "skip_executed"
mechanism.)
> Are/will you be working on these changes?
I haven't yet, and unfortunately have little to no time today. Did you
intend to remove `require` as an operation and could fold `invoke` in
at the same time, or would you like me to do that later?
To solve the more general problem with how commands are called, I
think we should go with the idea of wrapping command functions in
Command objects. That way we can control their execution fully.
That is *if* commands are supposed to work properly when called from
other commands? As I discovered earlier, connections are duplicated
and removed incorrectly right now if you nest command calls in each
other, so that'd require more work on how `_connect` works. (Note that
this is not due to `invoke` and call chaining.)
Best regards,
Niklas