Mercurial > hg > octave-nkf
diff src/load-path.cc @ 5864:e884ab4f29ee
[project @ 2006-06-22 00:57:27 by jwe]
author | jwe |
---|---|
date | Thu, 22 Jun 2006 00:57:28 +0000 |
parents | 68f8017ef077 |
children | b305874f50ef |
line wrap: on
line diff
--- a/src/load-path.cc +++ b/src/load-path.cc @@ -146,7 +146,7 @@ { std::string ext = fname.substr (pos); - if (ext == ".m" || ext == ".oct") + if (ext == ".m" || ext == ".oct" || ext == ".mex") { std::string base = fname.substr (0, pos); @@ -203,6 +203,8 @@ t = load_path::M_FILE; else if (ext == ".oct") t = load_path::OCT_FILE; + else if (ext == ".mex") + t = load_path::MEX_FILE; private_function_map[base] |= t; } @@ -630,6 +632,14 @@ break; } } + else if (type == load_path::MEX_FILE) + { + if ((type & t) == load_path::MEX_FILE) + { + retval += ".mex"; + break; + } + } else if (type == (load_path::M_FILE | load_path::OCT_FILE)) { if (t & load_path::OCT_FILE) @@ -643,6 +653,51 @@ break; } } + else if (type == (load_path::M_FILE | load_path::MEX_FILE)) + { + if (t & load_path::MEX_FILE) + { + retval += ".mex"; + break; + } + else if (t & load_path::M_FILE) + { + retval += ".m"; + break; + } + } + else if (type == (load_path::OCT_FILE | load_path::MEX_FILE)) + { + if (t & load_path::OCT_FILE) + { + retval += ".oct"; + break; + } + else if (t & load_path::MEX_FILE) + { + retval += ".mex"; + break; + } + } + else if (type == (load_path::M_FILE | load_path::OCT_FILE + | load_path::MEX_FILE)) + { + if (t & load_path::OCT_FILE) + { + retval += ".oct"; + break; + } + else if (t & load_path::MEX_FILE) + { + retval += ".mex"; + break; + } + else if (t & load_path::M_FILE) + { + retval += ".m"; + break; + } + } else error ("load_path::do_find_fcn: %s: invalid type code = %d", fcn.c_str (), type); @@ -928,6 +983,14 @@ printed_type = true; } + if (types & load_path::MEX_FILE) + { + if (printed_type) + os << "|"; + os << "mex"; + printed_type = true; + } + if (types & load_path::M_FILE) { if (printed_type) @@ -968,6 +1031,14 @@ printed_type = true; } + if (p->types & load_path::MEX_FILE) + { + if (printed_type) + os << "|"; + os << "mex"; + printed_type = true; + } + if (p->types & load_path::M_FILE) { if (printed_type) @@ -1026,6 +1097,8 @@ t = load_path::M_FILE; else if (ext == ".oct") t = load_path::OCT_FILE; + else if (ext == ".mex") + t = load_path::MEX_FILE; if (p == file_info_list.end ()) {