On 09/04/2015 04:27 PM, Brian Stansberry wrote:
On 9/4/15 12:55 AM, Alexey Loubyansky wrote:
> On 09/04/2015 12:10 AM, Brian Stansberry wrote:
-- skip --
>> Below are bad ideas that I wrote down and then thought better
of, but
>> I'll send them in case it sparks a thought.
>>
>> I. Since there is already logic for dropping out of the batch for things
>> like cd, ls, could it be modified as follows?
>>
>> a) Close any current batch and execute that batch.
>> b) Execute the cd, ls, etc
>> c) Proceed, and if the next statement isn't a cd, ls etc, start a new batch.
>>
>> That seems like a better semantic for cd and ls anyway.
>
> I don't think so. The batch mode is also a composition/editing mode. cd
> and ls are useful when writing commands/operations that should be added
> to the batch. Imagine editing a batch and wishing to cd before entering
> next lines. That won't be possible without explicit holback-batch, cd
> and then batch again. That would be inconvenient.
>
Thanks; that's a very good point. Yesterday, I was having a hard time
seeing the point of ls inside an if/else; now I get it. :)
>> With that, reload and shutdown can be treated the same as cd, ls.
>
> For reload and shutdown that does seem to make sense. So, a possible
> alternative is making them exceptions.
>
I said yesterday (below) that this was a bad idea because it can still
break scripts or prevent rollback, same as your proposal. But I think in
practice this wouldn't be a real drawback, since AIUI the bugs mean any
existing script with reload/shutdown in the middle of a bunch of other
ops would be broken anyway. Right?
:reload or :shutdown don't make any sense in the middle of a composite
operation. If they make sense in a batch, they should be last. Even
then, does it make sense to include them into a composite operation?
Thanks,
Alexey