| 
									
										
										
										
											1994-06-20 07:49:28 +00:00
										 |  |  | # This is about all it requires to write a wish shell in Python! | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-10-23 14:36:05 +00:00
										 |  |  | import _tkinter | 
					
						
							| 
									
										
										
										
											1995-09-07 19:44:48 +00:00
										 |  |  | import os | 
					
						
							| 
									
										
										
										
											1994-06-20 07:49:28 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-10-23 14:36:05 +00:00
										 |  |  | tk = _tkinter.create(os.environ['DISPLAY'], 'wish', 'Tk', 1) | 
					
						
							| 
									
										
										
										
											1994-06-20 07:49:28 +00:00
										 |  |  | tk.call('update') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cmd = '' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | while 1: | 
					
						
							|  |  |  | 	if cmd: prompt = '' | 
					
						
							|  |  |  | 	else: prompt = '% ' | 
					
						
							|  |  |  | 	try: | 
					
						
							|  |  |  | 		line = raw_input(prompt) | 
					
						
							|  |  |  | 	except EOFError: | 
					
						
							|  |  |  | 		break | 
					
						
							|  |  |  | 	cmd = cmd + (line + '\n') | 
					
						
							|  |  |  | 	if tk.getboolean(tk.call('info', 'complete', cmd)): | 
					
						
							| 
									
										
										
										
											1994-06-20 08:13:02 +00:00
										 |  |  | 		tk.record(line) | 
					
						
							| 
									
										
										
										
											1994-06-20 07:49:28 +00:00
										 |  |  | 		try: | 
					
						
							|  |  |  | 			result = tk.call('eval', cmd) | 
					
						
							| 
									
										
										
										
											1995-10-23 14:36:05 +00:00
										 |  |  | 		except _tkinter.TclError, msg: | 
					
						
							| 
									
										
										
										
											1994-06-20 07:49:28 +00:00
										 |  |  | 			print 'TclError:', msg | 
					
						
							|  |  |  | 		else: | 
					
						
							|  |  |  | 			if result: print result | 
					
						
							|  |  |  | 		cmd = '' |