From a03f00628b771767c08e5b1e2c2e150ca68976ed Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sun, 28 Feb 2021 17:57:35 -0700 Subject: [PATCH] do not print error messages if .scryerrc[.pl] does not exist (#842) --- src/machine/system_calls.rs | 6 ++---- src/toplevel.pl | 11 +++++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) 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 ). -- 2.54.0