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);
}
}
copy_term/3]).
:- use_module(library(charsio)).
+:- use_module(library(files)).
:- use_module(library(iso_ext)).
:- use_module(library(lists)).
:- use_module(library(si)).
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
).