This is because of $ContextPath
. If the symbol outside the Begin
/End
is created in a context that is listed in $ContextPath
, Mathematica will recognize it as belonging to that context even when called from a different context (even if Begin
/End
is put in a package file and called via Get
):
$ContextPath
{"DocumentationSearch`", "ResourceLocator`", "PacletManager`", "QuantityUnits`", "WebServices`", "System`", "Global`"}
WebServices`x;
Begin["temp`"];
Print@Context@x;
End[];
WebServices`
Now if I remove "WebServices`"
from $ContextPath
:
$ContextPath = DeleteCases[$ContextPath, "WebServices`"];
WebServices`x;
Begin["temp`"];
Print@Context@x;
End[];
temp`
NoNow what has changed in related code in successive versions, I have no idea.