From: Mark Thom Date: Mon, 1 Mar 2021 00:57:35 +0000 (-0700) Subject: do not print error messages if .scryerrc[.pl] does not exist (#842) X-Git-Tag: v0.9.0~150^2~2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=a03f00628b771767c08e5b1e2c2e150ca68976ed;p=scryer-prolog.git do not print error messages if .scryerrc[.pl] does not exist (#842) --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index dfe0411f..1ffa227e 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -5477,11 +5477,9 @@ impl MachineState { if path.is_dir() { if let Some(path) = path.to_str() { - let path_atom = self.heap.to_unifiable( - HeapCellValue::Atom(clause_name!(path.to_string(), self.atom_tbl), None), - ); + let path_string = self.heap.put_complete_string(path); - (self.unify_fn)(self, self[temp_v!(1)], path_atom); + self.unify(self[temp_v!(1)], path_string); return return_from_clause!(self.last_call, self); } } diff --git a/src/toplevel.pl b/src/toplevel.pl index daf03525..e0f1bcc1 100644 --- a/src/toplevel.pl +++ b/src/toplevel.pl @@ -2,6 +2,7 @@ copy_term/3]). :- use_module(library(charsio)). +:- use_module(library(files)). :- use_module(library(iso_ext)). :- use_module(library(lists)). :- use_module(library(si)). @@ -11,8 +12,14 @@ load_scryerrc :- ( '$home_directory'(HomeDir) -> - atom_concat(HomeDir, '/.scryerrc', ScryerrcFile), - catch(use_module(ScryerrcFile), E, print_exception(E)) + append(HomeDir, "/.scryerrc", ScryerrcFile), + ( file_exists(ScryerrcFile) -> + % convert ScryerrcFile to atom. somehow, I dunno how. + append(ScryerrcFile, "'.", ScryerrcFile0), + read_term_from_chars(['\'' | ScryerrcFile0], ScryerrcFileAtom), + catch(use_module(ScryerrcFileAtom), E, print_exception(E)) + ; true + ) ; true ).