| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -405,6 +405,7 @@ static void ttyread(void); | 
															
														
														
													
														
															
																 | 
																 | 
																static void ttyresize(void); | 
																 | 
																 | 
																static void ttyresize(void); | 
															
														
														
													
														
															
																 | 
																 | 
																static void ttysend(char *, size_t); | 
																 | 
																 | 
																static void ttysend(char *, size_t); | 
															
														
														
													
														
															
																 | 
																 | 
																static void ttywrite(const char *, size_t); | 
																 | 
																 | 
																static void ttywrite(const char *, size_t); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static void tstrsequence(uchar c); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																static void xdraws(char *, Glyph, int, int, int, int); | 
																 | 
																 | 
																static void xdraws(char *, Glyph, int, int, int, int); | 
															
														
														
													
														
															
																 | 
																 | 
																static void xhints(void); | 
																 | 
																 | 
																static void xhints(void); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2347,6 +2348,30 @@ tdeftran(char ascii) { | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																tstrsequence(uchar c) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if (c & 0x80) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		switch (c) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 0x90:   /* DCS -- Device Control String */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			c = 'P'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 0x9f:   /* APC -- Application Program Command */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			c = '_'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 0x9e:   /* PM -- Privacy Message */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			c = '^'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 0x9d:   /* OSC -- Operating System Command */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			c = ']'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	strreset(); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	strescseq.type = c; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	term.esc |= ESC_STR; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	return; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																tcontrolcode(uchar ascii) { | 
																 | 
																 | 
																tcontrolcode(uchar ascii) { | 
															
														
														
													
														
															
																 | 
																 | 
																	static char question[UTF_SIZ] = "?"; | 
																 | 
																 | 
																	static char question[UTF_SIZ] = "?"; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2411,7 +2436,6 @@ tcontrolcode(uchar ascii) { | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x8d:   /* TODO: RI */ | 
																 | 
																 | 
																	case 0x8d:   /* TODO: RI */ | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x8e:   /* TODO: SS2 */ | 
																 | 
																 | 
																	case 0x8e:   /* TODO: SS2 */ | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x8f:   /* TODO: SS3 */ | 
																 | 
																 | 
																	case 0x8f:   /* TODO: SS3 */ | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x90:   /* TODO: DCS */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x98:   /* TODO: SOS */ | 
																 | 
																 | 
																	case 0x98:   /* TODO: SOS */ | 
															
														
														
													
														
															
																 | 
																 | 
																		break; | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9a:   /* DECID -- Identify Terminal */ | 
																 | 
																 | 
																	case 0x9a:   /* DECID -- Identify Terminal */ | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -2419,10 +2443,13 @@ tcontrolcode(uchar ascii) { | 
															
														
														
													
														
															
																 | 
																 | 
																		break; | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9b:   /* TODO: CSI */ | 
																 | 
																 | 
																	case 0x9b:   /* TODO: CSI */ | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9c:   /* TODO: ST */ | 
																 | 
																 | 
																	case 0x9c:   /* TODO: ST */ | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9d:   /* TODO: OSC */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9e:   /* TODO: PM */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	case 0x9f:   /* TODO: APC */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		break; | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case 0x90:   /* DCS -- Device Control String */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case 0x9f:   /* APC -- Application Program Command */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case 0x9e:   /* PM -- Privacy Message */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case 0x9d:   /* OSC -- Operating System Command */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		tstrsequence(ascii); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																	/* only CAN, SUB, \a and C1 chars interrupt a sequence */ | 
																 | 
																 | 
																	/* only CAN, SUB, \a and C1 chars interrupt a sequence */ | 
															
														
														
													
														
															
																 | 
																 | 
																	term.esc &= ~(ESC_STR_END|ESC_STR); | 
																 | 
																 | 
																	term.esc &= ~(ESC_STR_END|ESC_STR); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2538,9 +2565,7 @@ tputc(char *c, int len) { | 
															
														
														
													
														
															
																 | 
																 | 
																			case '^': /* PM -- Privacy Message */ | 
																 | 
																 | 
																			case '^': /* PM -- Privacy Message */ | 
															
														
														
													
														
															
																 | 
																 | 
																			case ']': /* OSC -- Operating System Command */ | 
																 | 
																 | 
																			case ']': /* OSC -- Operating System Command */ | 
															
														
														
													
														
															
																 | 
																 | 
																			case 'k': /* old title set compatibility */ | 
																 | 
																 | 
																			case 'k': /* old title set compatibility */ | 
															
														
														
													
														
															
																 | 
																 | 
																				strreset(); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				strescseq.type = ascii; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				term.esc |= ESC_STR; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				tstrsequence(ascii); | 
															
														
														
													
														
															
																 | 
																 | 
																				return; | 
																 | 
																 | 
																				return; | 
															
														
														
													
														
															
																 | 
																 | 
																			case '(': /* set primary charset G0 */ | 
																 | 
																 | 
																			case '(': /* set primary charset G0 */ | 
															
														
														
													
														
															
																 | 
																 | 
																			case ')': /* set secondary charset G1 */ | 
																 | 
																 | 
																			case ')': /* set secondary charset G1 */ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |