bool exists_in_path (url u) { #if defined (OS_WIN32) || defined (__MINGW__) || defined (__MINGW32__) return !is_none (resolve_in_path (url (as_string (u) * ".bat"))) ||\ !is_none (resolve_in_path (url (as_string (u) * ".exe"))) ||\ !is_none (resolve_in_path (url (as_string (u) * ".com"))); #else return !is_none (resolve_in_path (u)); #endif }
string edit_main_rep::get_metadata (string kind) { string var= "global-" * kind; string val= get_init_string (var); if (val != "") return val; val= search_metadata (subtree (et, rp), kind); if (val != "") return val; if (kind == "title") return as_string (tail (get_name ())); #ifndef __MINGW32__ if (kind == "author" && !is_none (resolve_in_path ("finger")) && !is_none (resolve_in_path ("sed"))) { string val= var_eval_system ("finger `whoami` | sed -e '/Name/!d' -e 's/.*Name: //'"); if (N(val) > 1) return utf8_to_cork (val); } #endif return ""; }
static void init_deprecated () { #ifndef OS_WIN32 // Check for Macaulay 2 if (get_env ("M2HOME") == "") if (exists_in_path ("M2")) { string where= concretize (resolve_in_path ("M2")); string s = var_eval_system ("grep 'M2HOME=' " * where); string dir = s (search_forwards ("=", s) + 1, N(s)); if (dir != "") set_env ("M2HOME", dir); } #endif }
string gs_prefix () { #if defined (__MINGW__) || defined (__MINGW32__) static string cmd; // no need to resolve each time if (cmd == "") { url gs= resolve_in_path ("gswin32c"); if(is_none(gs)) gs= url_system (get_env ("TEXMACS_PATH")) * "bin" * "gswin32c"; cmd= sys_concretize (gs) * " "; } return copy (cmd); #else return "gs "; #endif }