9term: set TERM=dumb instead of TERM=9term

Everyone seems to assume that TERM != dumb implies
ANSI escape codes are okay. In fact, many people assume
that unconditionally, but it is easier to argue back about
TERM=dumb than TERM=9term.

This applies to acme win too, because they share the code.

Set termprog=9term or termprog=win for clients who
need to know.

R=rsc
CC=r
https://codereview.appspot.com/12532043
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c
index c0be6f7..5cf46de 100644
--- a/src/cmd/9term/9term.c
+++ b/src/cmd/9term/9term.c
@@ -15,6 +15,7 @@
 #include "fns.h"
 #include "term.h"
 
+const char *termprog = "9term";
 int use9wm;
 int mainpid;
 int mousepid;
diff --git a/src/cmd/9term/rcstart.c b/src/cmd/9term/rcstart.c
index 6b91c86..9bfefda 100644
--- a/src/cmd/9term/rcstart.c
+++ b/src/cmd/9term/rcstart.c
@@ -77,7 +77,16 @@
 	 */
 	notifyoff("sys: window size change");
 
-	putenv("TERM", "9term");
+	// This used to be TERM=9term but we don't know of anything that cares.
+	// Worse, various cc have started assuming that TERM != dumb implies
+	// the ability to understand ANSI escape codes. 9term will squelch them
+	// but acme win does not.
+	putenv("TERM", "dumb");
+
+	// Set $termprog to 9term or win for those who care about what kind of
+	// dumb terminal this is.
+	putenv("termprog", (char*)termprog);
+
 	pid = fork();
 	switch(pid){
 	case 0:
diff --git a/src/cmd/9term/term.h b/src/cmd/9term/term.h
index e7a1f6b..6041275 100644
--- a/src/cmd/9term/term.h
+++ b/src/cmd/9term/term.h
@@ -10,3 +10,4 @@
 extern void echoed(char*, int);
 extern int echocancel(char*, int);
 extern int dropcrnl(char*, int);
+extern const char *termprog;
diff --git a/src/cmd/9term/win.c b/src/cmd/9term/win.c
index e08e032..decfece 100644
--- a/src/cmd/9term/win.c
+++ b/src/cmd/9term/win.c
@@ -5,6 +5,7 @@
 #include <9pclient.h>
 #include "term.h"
 
+const char *termprog = "win";
 
 #define	EVENTSIZE	256
 #define	STACK	32768