From a29072da7662b73838b1d4114ee79dffd7b11350 Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Fri, 15 May 2026 07:09:18 -0400 Subject: [PATCH] Respect "history_file" in ~/.myclirc [main] stanza Bugfix: "history_file" was previously ignored unless placed outside of any section in the configuration file. --- changelog.md | 8 ++++++++ mycli/main_modes/repl.py | 2 +- test/pytests/test_main_modes_repl.py | 2 +- test/utils.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/changelog.md b/changelog.md index 35fa9292..675bd088 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,11 @@ +Upcoming (TBD) +============== + +Bug Fixes +--------- +* Respect `history_file` setting in the `[main]` section of `~/.myclirc`. + + 1.72.1 (2026/05/11) ============== diff --git a/mycli/main_modes/repl.py b/mycli/main_modes/repl.py index 10b8df9c..43e05e5d 100644 --- a/mycli/main_modes/repl.py +++ b/mycli/main_modes/repl.py @@ -123,7 +123,7 @@ def complete_while_typing_filter() -> bool: def _create_history(mycli: 'MyCli') -> FileHistoryWithTimestamp | None: - history_file = os.path.expanduser(os.environ.get('MYCLI_HISTFILE', mycli.config.get('history_file', '~/.mycli-history'))) + history_file = os.path.expanduser(os.environ.get('MYCLI_HISTFILE', mycli.config['main'].get('history_file', '~/.mycli-history'))) if dir_path_exists(history_file): return FileHistoryWithTimestamp(history_file) diff --git a/test/pytests/test_main_modes_repl.py b/test/pytests/test_main_modes_repl.py index dd44fc2e..d7efc544 100644 --- a/test/pytests/test_main_modes_repl.py +++ b/test/pytests/test_main_modes_repl.py @@ -158,7 +158,7 @@ def make_repl_cli(sqlexecute: Any | None = None) -> Any: cli.post_redirect_command = None cli.logfile = None cli.smart_completion = False - cli.config = {'history_file': '~/.mycli-history-testing'} + cli.config = {'main': {'history_file': '~/.mycli-history-testing'}} cli.key_bindings = 'emacs' cli.wider_completion_menu = False cli.login_path = None diff --git a/test/utils.py b/test/utils.py index 66b44e67..53f7de4c 100644 --- a/test/utils.py +++ b/test/utils.py @@ -178,7 +178,7 @@ def make_bare_mycli() -> Any: cli.emacs_ttimeoutlen = 1.0 cli.vi_ttimeoutlen = 1.0 cli.beep_after_seconds = 0.0 - cli.config = {'history_file': '~/.mycli-history-testing'} + cli.config = {'main': {'history_file': '~/.mycli-history-testing'}} cli.output = lambda *args, **kwargs: None # type: ignore[assignment] cli.echo = lambda *args, **kwargs: None # type: ignore[assignment] cli.log_query = lambda *args, **kwargs: None # type: ignore[assignment]