mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	[3.13] gh-123177: Deactivate line wrap for Apple Terminal via scape codes in the new REPL (GH-123267) (#123322)
gh-123177: Deactivate line wrap for Apple Terminal via scape codes in the new REPL (GH-123267)
(cherry picked from commit fdb3f9b588)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
			
			
This commit is contained in:
		
							parent
							
								
									bbed982729
								
							
						
					
					
						commit
						e37b7f1a9c
					
				
					 2 changed files with 10 additions and 0 deletions
				
			
		|  | @ -29,6 +29,7 @@ | |||
| import struct | ||||
| import termios | ||||
| import time | ||||
| import platform | ||||
| from fcntl import ioctl | ||||
| 
 | ||||
| from . import curses | ||||
|  | @ -334,6 +335,10 @@ def prepare(self): | |||
|         raw.cc[termios.VTIME] = 0 | ||||
|         tcsetattr(self.input_fd, termios.TCSADRAIN, raw) | ||||
| 
 | ||||
|         # In macOS terminal we need to deactivate line wrap via ANSI escape code | ||||
|         if platform.system() == "Darwin" and os.getenv("TERM_PROGRAM") == "Apple_Terminal": | ||||
|             os.write(self.output_fd, b"\033[?7l") | ||||
| 
 | ||||
|         self.screen = [] | ||||
|         self.height, self.width = self.getheightwidth() | ||||
| 
 | ||||
|  | @ -362,6 +367,9 @@ def restore(self): | |||
|         self.flushoutput() | ||||
|         tcsetattr(self.input_fd, termios.TCSADRAIN, self.__svtermstate) | ||||
| 
 | ||||
|         if platform.system() == "Darwin" and os.getenv("TERM_PROGRAM") == "Apple_Terminal": | ||||
|             os.write(self.output_fd, b"\033[?7h") | ||||
| 
 | ||||
|         if hasattr(self, "old_sigwinch"): | ||||
|             signal.signal(signal.SIGWINCH, self.old_sigwinch) | ||||
|             del self.old_sigwinch | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Miss Islington (bot)
						Miss Islington (bot)