diff --git a/kernel/driver.cc b/kernel/driver.cc index c779611e0..c1995e7f7 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -244,7 +244,11 @@ int main(int argc, char **argv) bool mode_q = false; #if defined(YOSYS_ENABLE_READLINE) || defined(YOSYS_ENABLE_EDITLINE) - if (getenv("HOME") != NULL) { + if (getenv("XDG_DATA_HOME") != NULL && getenv("XDG_DATA_HOME")[0] != '\0') { + yosys_history_file = stringf("%s/yosys/.yosys_history", getenv("XDG_DATA_HOME")); + read_history(yosys_history_file.c_str()); + yosys_history_offset = where_history(); + } else if (getenv("HOME") != NULL) { yosys_history_file = stringf("%s/.yosys_history", getenv("HOME")); read_history(yosys_history_file.c_str()); yosys_history_offset = where_history();