mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	In terminfo, sometimes cvvis implies cnorm and sometimes it doesn't, so
don't assume it does. Fixes missing cursor with emacs-in-tmux-in-tmux.
This commit is contained in:
		
							
								
								
									
										19
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								tty.c
									
									
									
									
									
								
							| @@ -507,14 +507,17 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s) | |||||||
| 		mode &= ~MODE_CURSOR; | 		mode &= ~MODE_CURSOR; | ||||||
|  |  | ||||||
| 	changed = mode ^ tty->mode; | 	changed = mode ^ tty->mode; | ||||||
| 	if (changed & (MODE_CURSOR|MODE_BLINKING)) { | 	if (changed & MODE_BLINKING) { | ||||||
| 		if (mode & MODE_CURSOR) { | 		if (tty_term_has(tty->term, TTYC_CVVIS)) | ||||||
| 			if (mode & MODE_BLINKING && | 			tty_putcode(tty, TTYC_CVVIS); | ||||||
| 			    tty_term_has(tty->term, TTYC_CVVIS)) | 		else | ||||||
| 				tty_putcode(tty, TTYC_CVVIS); | 			tty_putcode(tty, TTYC_CNORM); | ||||||
| 			else | 		changed |= MODE_CURSOR; | ||||||
| 				tty_putcode(tty, TTYC_CNORM); | 	} | ||||||
| 		} else | 	if (changed & MODE_CURSOR) { | ||||||
|  | 		if (mode & MODE_CURSOR) | ||||||
|  | 			tty_putcode(tty, TTYC_CNORM); | ||||||
|  | 		else | ||||||
| 			tty_putcode(tty, TTYC_CIVIS); | 			tty_putcode(tty, TTYC_CIVIS); | ||||||
| 	} | 	} | ||||||
| 	if (s != NULL && tty->cstyle != s->cstyle) { | 	if (s != NULL && tty->cstyle != s->cstyle) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm