comparison libinterp/parse-tree/oct-parse.in.yy @ 18304:b0e8cc676396

Fix out-of-date status check for package functions. * ov-fcn.h (octave_function::xpackage_name): New member to keep track of the package to which a function belongs. (octave_function::octave_function): Initialize it; (octave_function::stash_package_name, octave_function::package_name): New accessor methods. (octave_function::canonical_name): New method to return to fully-qualified name of a function. * oct-parse.in.yy (load_fcn_from_file): Store package name in loaded function. * symtab.cc (split_name_with_package): New utility function. (out_of_date_check): Use the package owning the function when searching for newer versions in load_path. (load_out_of_date_fcn): New argument to pass the package name to load_fcn_from_file.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sat, 18 Jan 2014 15:31:21 -0500
parents b5be1a2aa5ab
children c1baf94184af
comparison
equal deleted inserted replaced
18301:57d5bd8700df 18304:b0e8cc676396
4031 } 4031 }
4032 4032
4033 if (retval) 4033 if (retval)
4034 { 4034 {
4035 retval->stash_dir_name (dir_name); 4035 retval->stash_dir_name (dir_name);
4036 retval->stash_package_name (package_name);
4036 4037
4037 if (retval->is_user_function ()) 4038 if (retval->is_user_function ())
4038 { 4039 {
4039 symbol_table::scope_id id = retval->scope (); 4040 symbol_table::scope_id id = retval->scope ();
4040 4041