Mercurial > octave
changeset 28700:7d63f42e94be stable
allow keboard to work in functions defined in script files (bug #54789)
* oct-parse.yy (base_parser::start_function): Store info about
function file name, parse time, directory name, and package name for
all functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 09 Sep 2020 15:15:47 -0400 |
parents | d45d1b4bb919 |
children | 712666d48b23 c4cf47906bd2 |
files | libinterp/parse-tree/oct-parse.yy |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/oct-parse.yy Wed Sep 09 13:41:46 2020 -0400 +++ b/libinterp/parse-tree/oct-parse.yy Wed Sep 09 15:15:47 2020 -0400 @@ -3639,16 +3639,17 @@ } } + sys::time now; + + fcn->stash_fcn_file_name (m_lexer.m_fcn_file_full_name); + fcn->stash_fcn_file_time (now); + fcn->stash_dir_name (m_lexer.m_dir_name); + fcn->stash_package_name (m_lexer.m_package_name); + fcn->mark_as_system_fcn_file (); + fcn->stash_function_name (id_name); + if (m_lexer.m_reading_fcn_file || m_lexer.m_reading_classdef_file || m_autoloading) { - sys::time now; - - fcn->stash_fcn_file_name (m_lexer.m_fcn_file_full_name); - fcn->stash_fcn_file_time (now); - fcn->stash_dir_name (m_lexer.m_dir_name); - fcn->stash_package_name (m_lexer.m_package_name); - fcn->mark_as_system_fcn_file (); - if (m_fcn_file_from_relative_lookup) fcn->mark_relative (); @@ -3689,8 +3690,6 @@ id_name.c_str (), m_lexer.m_fcn_file_full_name.c_str ()); } - fcn->stash_function_name (id_name); - // Record help text for functions other than nested functions. // We cannot currently record help for nested functions (bug #46008) // because the doc_string of the outermost function is read first,