mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 14:36:08 +02:00
Fix config creation during printing (#9353)
This commit is contained in:
@ -100,12 +100,7 @@ pub fn eval_config_contents(
|
||||
// Merge the environment in case env vars changed in the config
|
||||
match nu_engine::env::current_dir(engine_state, stack) {
|
||||
Ok(cwd) => {
|
||||
if let Err(e) = engine_state.merge_env(stack) {
|
||||
let working_set = StateWorkingSet::new(engine_state);
|
||||
report_error(&working_set, &e);
|
||||
}
|
||||
|
||||
if let Err(e) = engine_state.set_current_working_dir(cwd) {
|
||||
if let Err(e) = engine_state.merge_env(stack, cwd) {
|
||||
let working_set = StateWorkingSet::new(engine_state);
|
||||
report_error(&working_set, &e);
|
||||
}
|
||||
|
@ -53,12 +53,6 @@ Since this command has no output, there is no point in piping it with other comm
|
||||
let no_newline = call.has_flag("no-newline");
|
||||
let to_stderr = call.has_flag("stderr");
|
||||
|
||||
// We merge stack to make sure we render the changes if any were made in the `block`
|
||||
//
|
||||
// CONSIDERED TO BE A CODE SMELL AND IT BETTER BE RESOLVED UPWARDS THE CALLING STACK
|
||||
let engine = engine_state.clone_with_env(stack)?;
|
||||
let engine_state = &engine;
|
||||
|
||||
// This will allow for easy printing of pipelines as well
|
||||
if !args.is_empty() {
|
||||
for arg in args {
|
||||
|
@ -172,8 +172,7 @@ pub fn evaluate_repl(
|
||||
PipelineData::empty(),
|
||||
false,
|
||||
);
|
||||
engine_state.merge_env(stack)?;
|
||||
engine_state.set_current_working_dir(get_guaranteed_cwd(engine_state, stack))?;
|
||||
engine_state.merge_env(stack, get_guaranteed_cwd(engine_state, stack))?;
|
||||
}
|
||||
|
||||
engine_state.set_startup_time(entire_start_time.elapsed().as_nanos() as i64);
|
||||
@ -192,18 +191,14 @@ pub fn evaluate_repl(
|
||||
loop {
|
||||
let loop_start_time = std::time::Instant::now();
|
||||
|
||||
let cwd = get_guaranteed_cwd(engine_state, stack);
|
||||
|
||||
start_time = std::time::Instant::now();
|
||||
// Before doing anything, merge the environment from the previous REPL iteration into the
|
||||
// permanent state.
|
||||
if let Err(err) = engine_state.merge_env(stack) {
|
||||
if let Err(err) = engine_state.merge_env(stack, cwd) {
|
||||
report_error_new(engine_state, &err);
|
||||
}
|
||||
|
||||
let cwd = get_guaranteed_cwd(engine_state, stack);
|
||||
if let Err(err) = engine_state.set_current_working_dir(cwd) {
|
||||
report_error_new(engine_state, &err);
|
||||
}
|
||||
|
||||
perf(
|
||||
"merge env",
|
||||
start_time,
|
||||
|
@ -246,10 +246,6 @@ pub fn eval_source(
|
||||
|
||||
match b {
|
||||
Ok(pipeline_data) => {
|
||||
// we merge stack here because the block could change the envirenemnt,
|
||||
// and we need to render it while do print.
|
||||
let _ = engine_state.merge_env(stack);
|
||||
|
||||
let config = engine_state.get_config();
|
||||
let result;
|
||||
if let PipelineData::ExternalStream {
|
||||
|
Reference in New Issue
Block a user