As far as I understand it, Eshell only uses synchronous processes on MS-DOS (where 'make-process' doesn't exist). Since I don't build Emacs for MS-DOS, and I expect not many others do either, I'm worried that this support will regress. To avoid that, here are some regression tests. It also fixes a small bug with how Eshell updated its internal markers when using synchronous processes. This mostly affects the tests, but could also cause unexpected behavior when using some of Eshell's buffer-navigation commands.