csi: check for private marker in 'S' case
The handler for 'S' final character does not check for a private marker. This can cause a conflict with a sequence called 'XTSMGRAPHICS' which also has an 'S' final character, but uses the private marker '?'. Without checking for a private marker, st will perform a scroll up operation when XTSMGRAPHICS is seen, which can cause unexpected display artifacts.
This commit is contained in:
		
				
					committed by
					
						 Hiltjo Posthuma
						Hiltjo Posthuma
					
				
			
			
				
	
			
			
			
						parent
						
							9846a56bd7
						
					
				
				
					commit
					a3f7420310
				
			
							
								
								
									
										1
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								st.c
									
									
									
									
									
								
							| @@ -1728,6 +1728,7 @@ csihandle(void) | |||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
| 	case 'S': /* SU -- Scroll <n> line up */ | 	case 'S': /* SU -- Scroll <n> line up */ | ||||||
|  | 		if (csiescseq.priv) break; | ||||||
| 		DEFAULT(csiescseq.arg[0], 1); | 		DEFAULT(csiescseq.arg[0], 1); | ||||||
| 		tscrollup(term.top, csiescseq.arg[0]); | 		tscrollup(term.top, csiescseq.arg[0]); | ||||||
| 		break; | 		break; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user