diff --git a/IPython/frontend/terminal/embed.py b/IPython/frontend/terminal/embed.py index 18123bc..c4999c4 100644 --- a/IPython/frontend/terminal/embed.py +++ b/IPython/frontend/terminal/embed.py @@ -200,7 +200,8 @@ class InteractiveShellEmbed(TerminalInteractiveShell): module.__dict__ = global_ns # Get locals and globals from caller - if (local_ns is None or module is None) and self.default_user_namespaces: + if ((local_ns is None or module is None or compile_flags is None) + and self.default_user_namespaces): call_frame = sys._getframe(stack_depth).f_back if local_ns is None: @@ -233,7 +234,8 @@ class InteractiveShellEmbed(TerminalInteractiveShell): self.init_user_ns() # Compiler flags - self.compile.flags = compile_flags + if compile_flags is not None: + self.compile.flags = compile_flags # Patch for global embedding to make sure that things don't overwrite # user globals accidentally. Thanks to Richard