ocaml-community / utop

Universal toplevel for OCaml
Other
844 stars 112 forks source link

History silently not saved between sessions if parent directory of history file doesn't exist #478

Open johnmasson opened 8 months ago

johnmasson commented 8 months ago

UTop was not saving history between sessions on my installation. After a bit of poking around, I discovered that UTop.history_file_name was set to '\~/.local/state/utop-history' and that the '\~/.local/state' directory did not exist. Manually creating the directory allowed UTop to start saving history between sessions.

I couldn't find any mention of the need to create this directory in documentation either for UTop or LTerm, and UTop doesn't print any warnings for this situation. It seems like it would be better to create the directory if it doesn't exist, or at least warn that history will not be saved.

Platform info: Ubuntu 22.04.3 LTS on WSL (Windows 11) OCaml version 5.1.1 UTop and all modules : latest versions from OPAM