mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 13:39:02 +00:00
Fix for wrong sense for determining when an autoloaded function has changed
Addresses some of the complaints in https://github.com/fish-shell/fish-shell/pull/201
This commit is contained in:
parent
d07e78c59a
commit
11e56456a0
2 changed files with 6 additions and 6 deletions
|
@ -197,12 +197,12 @@ bool autoload_t::locate_file_and_maybe_load_it( const wcstring &cmd, bool really
|
|||
if (! func) {
|
||||
/* Can't use a function that doesn't exist */
|
||||
use_cached = false;
|
||||
} else if ( ! allow_stale_functions && is_stale(func)) {
|
||||
/* Can't use a stale function */
|
||||
use_cached = false;
|
||||
} else if (really_load && ! func->is_placeholder && ! func->is_loaded) {
|
||||
/* Can't use an unloaded function */
|
||||
use_cached = false;
|
||||
} else if ( ! allow_stale_functions && is_stale(func)) {
|
||||
/* Can't use a stale function */
|
||||
use_cached = false;
|
||||
} else {
|
||||
/* I guess we can use it */
|
||||
use_cached = true;
|
||||
|
@ -266,7 +266,7 @@ bool autoload_t::locate_file_and_maybe_load_it( const wcstring &cmd, bool really
|
|||
autoload_function_t *func = this->get_node(cmd);
|
||||
|
||||
/* Generate the source if we need to load it */
|
||||
bool need_to_load_function = really_load && (func == NULL || func->access.mod_time == access.mod_time || ! func->is_loaded);
|
||||
bool need_to_load_function = really_load && (func == NULL || func->access.mod_time != access.mod_time || ! func->is_loaded);
|
||||
if (need_to_load_function) {
|
||||
|
||||
/* Generate the script source */
|
||||
|
|
|
@ -443,7 +443,7 @@ static void event_fire_internal( const event_t *event )
|
|||
}
|
||||
}
|
||||
|
||||
// debug( 1, L"Event handler fires command '%ls'", (wchar_t *)b->buff );
|
||||
// debug( 1, L"Event handler fires command '%ls'", buffer.c_str() );
|
||||
|
||||
/*
|
||||
Event handlers are not part of the main flow of code, so
|
||||
|
@ -454,7 +454,7 @@ static void event_fire_internal( const event_t *event )
|
|||
parser_t &parser = parser_t::principal_parser();
|
||||
parser.push_block( EVENT );
|
||||
parser.current_block->state1<const event_t *>() = event;
|
||||
parser.eval( buffer.c_str(), 0, TOP );
|
||||
parser.eval( buffer, 0, TOP );
|
||||
parser.pop_block();
|
||||
proc_pop_interactive();
|
||||
proc_set_last_status( prev_status );
|
||||
|
|
Loading…
Reference in a new issue