changeset 5004:efa1ba94dab5

[project @ 2004-09-16 19:04:20 by jwe]
author jwe
date Thu, 16 Sep 2004 19:04:20 +0000
parents a0e7231a58eb
children 62da6b854fdb
files src/ChangeLog src/variables.cc
diffstat 2 files changed, 25 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Sep 16 16:46:32 2004 +0000
+++ b/src/ChangeLog	Thu Sep 16 19:04:20 2004 +0000
@@ -1,3 +1,7 @@
+2004-09-16  John W. Eaton  <jwe@octave.org>
+
+	* variables.cc (symbol_out_of_date): Always look in LOADPATH.
+
 2004-09-15  John W. Eaton  <jwe@octave.org>
 
 	* OPERATORS/op-int-conv.cc: Define and install bool to int
--- a/src/variables.cc	Thu Sep 16 16:46:32 2004 +0000
+++ b/src/variables.cc	Thu Sep 16 19:04:20 2004 +0000
@@ -772,19 +772,28 @@
 		{
 		  time_t tp = tmp->time_parsed ();
 
-		  std::string fname;
-
-		  if (tmp->is_dld_function ())
-		    fname = ff;
+		  std::string nm = tmp->name ();
+
+		  string_vector names (2);
+
+		  names[0] = nm + ".oct";
+		  names[1] = nm + ".m";
+
+		  std::string file = octave_env::make_absolute
+		    (Vload_path_dir_path.find_first_of (names),
+		     octave_env::getcwd ());
+
+		  if (file != ff)
+		    retval = true;
 		  else
-		    fname = fcn_file_in_path (ff);
-
-		  tmp->mark_fcn_file_up_to_date (octave_time ());
-
-		  file_stat fs (fname);
-
-		  if (fs && fs.is_newer (tp))
-		    retval = true;
+		    {
+		      tmp->mark_fcn_file_up_to_date (octave_time ());
+
+		      file_stat fs (ff);
+
+		      if (fs && fs.is_newer (tp))
+			retval = true;
+		    }
 		}
 	    }
 	}