mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Remove xterm flag from key before checking prefix, reported by Peter
Fern in GitHub issue 974.
This commit is contained in:
		@@ -818,6 +818,7 @@ server_client_handle_key(struct client *c, key_code key)
 | 
			
		||||
	struct key_binding	 bd_find, *bd;
 | 
			
		||||
	int			 xtimeout, flags;
 | 
			
		||||
	struct cmd_find_state	 fs;
 | 
			
		||||
	key_code		 key0;
 | 
			
		||||
 | 
			
		||||
	/* Check the client is good to accept input. */
 | 
			
		||||
	if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0)
 | 
			
		||||
@@ -906,8 +907,9 @@ server_client_handle_key(struct client *c, key_code key)
 | 
			
		||||
	 * The prefix always takes precedence and forces a switch to the prefix
 | 
			
		||||
	 * table, unless we are already there.
 | 
			
		||||
	 */
 | 
			
		||||
	if ((key == (key_code)options_get_number(s->options, "prefix") ||
 | 
			
		||||
	    key == (key_code)options_get_number(s->options, "prefix2")) &&
 | 
			
		||||
	key0 = (key & ~KEYC_XTERM);
 | 
			
		||||
	if ((key0 == (key_code)options_get_number(s->options, "prefix") ||
 | 
			
		||||
	    key0 == (key_code)options_get_number(s->options, "prefix2")) &&
 | 
			
		||||
	    strcmp(table->name, "prefix") != 0) {
 | 
			
		||||
		server_client_set_key_table(c, "prefix");
 | 
			
		||||
		server_status_client(c);
 | 
			
		||||
@@ -925,7 +927,7 @@ retry:
 | 
			
		||||
		log_debug("currently repeating");
 | 
			
		||||
 | 
			
		||||
	/* Try to see if there is a key binding in the current table. */
 | 
			
		||||
	bd_find.key = (key & ~KEYC_XTERM);
 | 
			
		||||
	bd_find.key = key0;
 | 
			
		||||
	bd = RB_FIND(key_bindings, &table->key_bindings, &bd_find);
 | 
			
		||||
	if (bd != NULL) {
 | 
			
		||||
		/*
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user