Directory Stack Syntax Notes

If the shell option PUSHD_TO_HOME is turned on, or there is only one entry in the stack, pushd changes the current directory to $HOME.
If arg is -, pushd changes to $OLDPWD. If arg is not a directory found in the current directory, and argdoes not contain a /, zsh searches each item of the shell parameter cdpath. If the shell option CDABLE_VARS is turned on, and a variable named arg exists and contains a full path, treat its value as the directory.

If the shell option PUSHD_SILENT is not turned on, the directory stack will be printed after a pushd is performed.