From 520bdb6c31dd08b6f4e52de5116fd23d6d57fdda Mon Sep 17 00:00:00 2001 From: Daniel Buckmaster Date: Thu, 8 Aug 2019 21:25:39 +1000 Subject: Fix repl crash when deno dir doesn't exist (#2727) --- cli/repl.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cli') diff --git a/cli/repl.rs b/cli/repl.rs index 7e72b9b10..0cac6c4ea 100644 --- a/cli/repl.rs +++ b/cli/repl.rs @@ -76,6 +76,14 @@ impl Repl { } fn save_history(&mut self) -> Result<(), ErrBox> { + if !self.history_dir_exists() { + eprintln!( + "Unable to save REPL history: {:?} directory does not exist", + self.history_file + ); + return Ok(()); + } + self .editor .save_history(&self.history_file.to_str().unwrap()) @@ -86,6 +94,14 @@ impl Repl { }) } + fn history_dir_exists(&self) -> bool { + self + .history_file + .parent() + .map(|ref p| p.exists()) + .unwrap_or(false) + } + pub fn readline(&mut self, prompt: &str) -> Result { self .editor -- cgit v1.2.3