fix: pushd, popd asym bug