title: Non ad hoc way for vt100 / ansi-color escapes within M-x shell
body: <p>I <code>M-x shell</code> to run a program that tries to produce nice color output. But I get:</p>
  
  <pre>
  ?- true.
  <b>^[[1m</b>true.<b>^[[0m</b>
  </pre>
  
  <p>This is clearly not a fault of EMACS, as it sets the environment variable TERM to dumb. It is just the program I called that ignored this information.</p>
  
  <p>I am aware of <code>ansi-color-for-comint-mode-on</code> which fixes this problem in an ad hoc manner: The environment variable TERM is still dumb. That is, a program interpreting this variable accordingly would not use escapes at all.</p>
  
  <p>Is there a less ad-hoc approach to this, setting the TERM or similar?</p>