@@ -43,6 +43,8 @@ extern crate env_logger;
43
43
#[ macro_use]
44
44
extern crate log;
45
45
46
+ use rustpython_pylib;
47
+
46
48
mod shell;
47
49
48
50
use clap:: { App , AppSettings , Arg , ArgMatches } ;
@@ -249,6 +251,11 @@ fn add_stdlib(vm: &mut VirtualMachine) {
249
251
#[ cfg( feature = "stdlib" ) ]
250
252
vm. add_native_modules ( rustpython_stdlib:: get_module_inits ( ) ) ;
251
253
254
+ let state = PyRc :: get_mut ( & mut vm. state ) . expect ( "vm.state must allow borrow mut" ) ;
255
+ let settings = & mut state. settings ;
256
+ // add the current directory to sys.path
257
+ settings. path_list . push ( "" . to_owned ( ) ) ;
258
+
252
259
// if we're on freeze-stdlib, the core stdlib modules will be included anyway
253
260
#[ cfg( feature = "freeze-stdlib" ) ]
254
261
vm. add_frozen ( rustpython_pylib:: frozen_stdlib ( ) ) ;
@@ -257,25 +264,24 @@ fn add_stdlib(vm: &mut VirtualMachine) {
257
264
{
258
265
use rustpython_vm:: common:: rc:: PyRc ;
259
266
let state = PyRc :: get_mut ( & mut vm. state ) . unwrap ( ) ;
267
+ let settings = & mut state. settings ;
260
268
261
269
#[ allow( clippy:: needless_collect) ] // false positive
262
- let path_list: Vec < _ > = state . settings . path_list . drain ( ..) . collect ( ) ;
270
+ let path_list: Vec < _ > = settings. path_list . drain ( ..) . collect ( ) ;
263
271
264
272
// BUILDTIME_RUSTPYTHONPATH should be set when distributing
265
273
if let Some ( paths) = option_env ! ( "BUILDTIME_RUSTPYTHONPATH" ) {
266
- state
267
- . settings
274
+ settings
268
275
. path_list
269
276
. extend ( split_paths ( paths) . map ( |path| path. into_os_string ( ) . into_string ( ) . unwrap ( ) ) )
270
277
} else {
271
278
#[ cfg( feature = "rustpython-pylib" ) ]
272
- state
273
- . settings
279
+ settings
274
280
. path_list
275
281
. push ( rustpython_pylib:: LIB_PATH . to_owned ( ) )
276
282
}
277
283
278
- state . settings . path_list . extend ( path_list. into_iter ( ) ) ;
284
+ settings. path_list . extend ( path_list. into_iter ( ) ) ;
279
285
}
280
286
}
281
287
0 commit comments