mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Use VIS_CSTYLE for the arguments and add the missing escapes it can
generate to the parser.
This commit is contained in:
		@@ -218,7 +218,7 @@ args_escape(const char *s)
 | 
			
		||||
		return (escaped);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	flags = VIS_OCTAL|VIS_TAB|VIS_NL;
 | 
			
		||||
	flags = VIS_OCTAL|VIS_CSTYLE|VIS_TAB|VIS_NL;
 | 
			
		||||
	if (s[strcspn(s, quoted)] != '\0')
 | 
			
		||||
		flags |= VIS_DQ;
 | 
			
		||||
	utf8_stravis(&escaped, s, flags);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								cmd-parse.y
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								cmd-parse.y
									
									
									
									
									
								
							@@ -1118,9 +1118,24 @@ yylex_token_escape(char **buf, size_t *len)
 | 
			
		||||
	switch (ch) {
 | 
			
		||||
	case EOF:
 | 
			
		||||
		return (0);
 | 
			
		||||
	case 'a':
 | 
			
		||||
		ch = '\a';
 | 
			
		||||
		break;
 | 
			
		||||
	case 'b':
 | 
			
		||||
		ch = '\b';
 | 
			
		||||
		break;
 | 
			
		||||
	case 'e':
 | 
			
		||||
		ch = '\033';
 | 
			
		||||
		break;
 | 
			
		||||
	case 'f':
 | 
			
		||||
		ch = '\f';
 | 
			
		||||
		break;
 | 
			
		||||
	case 's':
 | 
			
		||||
		ch = ' ';
 | 
			
		||||
		break;
 | 
			
		||||
	case 'v':
 | 
			
		||||
		ch = '\v';
 | 
			
		||||
		break;
 | 
			
		||||
	case 'r':
 | 
			
		||||
		ch = '\r';
 | 
			
		||||
		break;
 | 
			
		||||
 
 | 
			
		||||
@@ -685,7 +685,7 @@ tty_term_describe(struct tty_term *term, enum tty_code_code code)
 | 
			
		||||
		break;
 | 
			
		||||
	case TTYCODE_STRING:
 | 
			
		||||
		strnvis(out, term->codes[code].value.string, sizeof out,
 | 
			
		||||
		    VIS_OCTAL|VIS_TAB|VIS_NL);
 | 
			
		||||
		    VIS_OCTAL|VIS_CSTYLE|VIS_TAB|VIS_NL);
 | 
			
		||||
		xsnprintf(s, sizeof s, "%4u: %s: (string) %s",
 | 
			
		||||
		    code, tty_term_codes[code].name,
 | 
			
		||||
		    out);
 | 
			
		||||
 
 | 
			
		||||
@@ -246,7 +246,7 @@ window_buffer_draw(__unused void *modedata, void *itemdata,
 | 
			
		||||
		at = 0;
 | 
			
		||||
		while (end != pdata + psize && *end != '\n') {
 | 
			
		||||
			if ((sizeof line) - at > 5) {
 | 
			
		||||
				cp = vis(line + at, *end, VIS_TAB|VIS_OCTAL, 0);
 | 
			
		||||
				cp = vis(line + at, *end, VIS_OCTAL|VIS_TAB, 0);
 | 
			
		||||
				at = cp - line;
 | 
			
		||||
			}
 | 
			
		||||
			end++;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user