eshell, if I
echo $TERM, the result is
dumb. What does this mean? Is this an emacs specific thing, or a tty thing?
First, it's an Emacs thing. It tells the used shell, that the buffer for input/output has only limited capabilities. See the following comment and code in
;; Subprocesses of Emacs do not have direct access to the terminal, so ;; unless told otherwise they should only assume a dumb terminal. ;; We are careful to do it late (after term-setup-hook), although the ;; new multi-tty code does not use $TERM any more there anyway. (setenv "TERM" "dumb")
It is also an OS specific setting, see http://en.wikipedia.org/wiki/Computer_terminal#Dumb_terminals