Fix reset CLI parameters on config reload (#3216)

Fix reset CLI parameters on config reload

Fixes #3197.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 209036c..43c8f51 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@
 - Limited payload length in clipboard escape (used for Tmux copy/paste)
 - Alacritty not ignoring keyboard events for changing WM focus on X11
 - Regression which added a UNC path prefix to the working directory on Windows
+- CLI parameters discarded when config is reload
 
 ## 0.4.1
 
diff --git a/alacritty/src/config/mod.rs b/alacritty/src/config/mod.rs
index e489f5f..1988988 100644
--- a/alacritty/src/config/mod.rs
+++ b/alacritty/src/config/mod.rs
@@ -150,7 +150,7 @@
     let mut contents = fs::read_to_string(path)?;
 
     // Remove UTF-8 BOM
-    if contents.chars().nth(0) == Some('\u{FEFF}') {
+    if contents.starts_with('\u{FEFF}') {
         contents = contents.split_off(3);
     }
 
diff --git a/alacritty/src/event.rs b/alacritty/src/event.rs
index 7f5e385..bfadbae 100644
--- a/alacritty/src/event.rs
+++ b/alacritty/src/event.rs
@@ -35,6 +35,7 @@
 use alacritty_terminal::tty;
 use alacritty_terminal::util::{limit, start_daemon};
 
+use crate::cli::Options;
 use crate::config;
 use crate::config::Config;
 use crate::display::Display;
@@ -482,6 +483,9 @@
                     processor.ctx.display_update_pending.message_buffer = Some(());
 
                     if let Ok(config) = config::reload_from(&path) {
+                        let options = Options::new();
+                        let config = options.into_config(config);
+
                         processor.ctx.terminal.update_config(&config);
 
                         if processor.ctx.config.font != config.font {