(setq eshell-cd-shows-directory t) when change to a non-absolute directory(eg. cd ..), eshell will show "nil", not the directory name, following patch fixed it.