| 
									
										
										
										
											2008-10-18 22:20:13 -04:00
										 |  |  | ! Copyright (C) 2008 Doug Coleman. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							|  |  |  | USING: assocs combinators kernel sequences splitting system | 
					
						
							| 
									
										
										
										
											2008-12-01 18:19:47 -05:00
										 |  |  | vocabs.loader init ;
 | 
					
						
							| 
									
										
										
										
											2008-10-18 22:20:13 -04:00
										 |  |  | IN: environment | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HOOK: os-env os ( key -- value )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HOOK: set-os-env os ( value key -- )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HOOK: unset-os-env os ( key -- )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HOOK: (os-envs) os ( -- seq )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HOOK: (set-os-envs) os ( seq -- )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : os-envs ( -- assoc )
 | 
					
						
							|  |  |  |     (os-envs) [ "=" split1 ] H{ } map>assoc ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : set-os-envs ( assoc -- )
 | 
					
						
							| 
									
										
										
										
											2008-12-03 20:10:41 -05:00
										 |  |  |     [ "=" glue ] { } assoc>map (set-os-envs) ;
 | 
					
						
							| 
									
										
										
										
											2008-10-18 22:20:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     { [ os unix? ] [ "environment.unix" require ] } | 
					
						
							|  |  |  |     { [ os winnt? ] [ "environment.winnt" require ] } | 
					
						
							|  |  |  |     { [ os wince? ] [ ] } | 
					
						
							|  |  |  | } cond
 | 
					
						
							| 
									
										
										
										
											2008-12-01 18:19:47 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							| 
									
										
										
										
											2008-12-02 01:15:34 -05:00
										 |  |  |     "FACTOR_ROOTS" os-env | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         os windows? ";" ":" ? split | 
					
						
							|  |  |  |         [ add-vocab-root ] each
 | 
					
						
							|  |  |  |     ] when*     | 
					
						
							| 
									
										
										
										
											2008-12-01 18:19:47 -05:00
										 |  |  | ] "environment" add-init-hook |