| This Obey file is run by the local Ensure to call the Ensure for another PlayIt elsewhere.
| If the "remote" ensure is itself "remote-aware" then we need to tell it to only do local
| things otherwise we get into an infinite loop! Older versions of Ensure are not remote-aware
| and will only Ensure themselves anyway.

| A prerequisite is that PlayIt$Path has already been determinated to /not/ be pointing to the
| local directory!

|echo Running "<Obey$Dir>.EnsureExtern"

| Remember the current setting of PlayIt$Local because extern might change it
Set PlayItLocalStacked$Path <PlayItLocal$Path>

| Set the flag to indicate to the remote Ensure that it's being slave-called
Set PlayIt$Extern 1

| Run external ensure
/PlayIt:Ensure -e %*0

| Restore Local back to what it was
Set PlayItLocal$Path <PlayItLocalStacked$Path>

| Remove temporaries
Unset PlayIt$Extern
Unset PlayItLocalStacked$Path
Unset PlayIt$Error
