mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:44:18 +00:00 
			
		
		
		
	Do not allow meta prefix on paste start and end sequences, GitHub issue 4387.
This commit is contained in:
		@@ -2247,13 +2247,13 @@ out:
 | 
				
			|||||||
static int
 | 
					static int
 | 
				
			||||||
server_client_is_bracket_paste(struct client *c, key_code key)
 | 
					server_client_is_bracket_paste(struct client *c, key_code key)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (key == KEYC_PASTE_START) {
 | 
						if ((key & KEYC_MASK_KEY) == KEYC_PASTE_START) {
 | 
				
			||||||
		c->flags |= CLIENT_BRACKETPASTING;
 | 
							c->flags |= CLIENT_BRACKETPASTING;
 | 
				
			||||||
		log_debug("%s: bracket paste on", c->name);
 | 
							log_debug("%s: bracket paste on", c->name);
 | 
				
			||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (key == KEYC_PASTE_END) {
 | 
						if ((key & KEYC_MASK_KEY) == KEYC_PASTE_END) {
 | 
				
			||||||
		c->flags &= ~CLIENT_BRACKETPASTING;
 | 
							c->flags &= ~CLIENT_BRACKETPASTING;
 | 
				
			||||||
		log_debug("%s: bracket paste off", c->name);
 | 
							log_debug("%s: bracket paste off", c->name);
 | 
				
			||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							@@ -167,7 +167,8 @@ struct winlink;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Is this a paste key? */
 | 
					/* Is this a paste key? */
 | 
				
			||||||
#define KEYC_IS_PASTE(key) \
 | 
					#define KEYC_IS_PASTE(key) \
 | 
				
			||||||
	((key) == KEYC_PASTE_START || (key) == KEYC_PASTE_END)
 | 
						(((key) & KEYC_MASK_KEY) == KEYC_PASTE_START || \
 | 
				
			||||||
 | 
						 ((key) & KEYC_MASK_KEY) == KEYC_PASTE_END)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Multiple click timeout. */
 | 
					/* Multiple click timeout. */
 | 
				
			||||||
#define KEYC_CLICK_TIMEOUT 300
 | 
					#define KEYC_CLICK_TIMEOUT 300
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -208,8 +208,8 @@ static const struct tty_default_key_raw tty_default_raw_keys[] = {
 | 
				
			|||||||
	{ "\033[O", KEYC_FOCUS_OUT },
 | 
						{ "\033[O", KEYC_FOCUS_OUT },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Paste keys. */
 | 
						/* Paste keys. */
 | 
				
			||||||
	{ "\033[200~", KEYC_PASTE_START },
 | 
						{ "\033[200~", KEYC_PASTE_START|KEYC_IMPLIED_META },
 | 
				
			||||||
	{ "\033[201~", KEYC_PASTE_END },
 | 
						{ "\033[201~", KEYC_PASTE_END|KEYC_IMPLIED_META },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Extended keys. */
 | 
						/* Extended keys. */
 | 
				
			||||||
	{ "\033[1;5Z", '\011'|KEYC_CTRL|KEYC_SHIFT },
 | 
						{ "\033[1;5Z", '\011'|KEYC_CTRL|KEYC_SHIFT },
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user