Fix the default bash HISTFILE changing to .sh_history instead of .bash_history

Fixes #4765
This commit is contained in:
Kovid Goyal 2022-02-28 20:06:48 +05:30
parent 29d85833f1
commit 8c7ffc90f3
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 18 additions and 0 deletions

View File

@ -75,6 +75,15 @@ command.
Detailed list of changes Detailed list of changes
------------------------------------- -------------------------------------
0.24.4 [2022-02-28]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fix the default bash HISTFILE changing to :file:`~/.sh_history` instead of :file:`~/.bash_history` (:iss:`4765`)
- Linux binaries: Fix binaries not working on systems with older wayland client
libraries (:iss:`4760`)
- Bash integration: No longer modify :file:`~/.bashrc` to load :ref:`shell integration <shell_integration>`.
0.24.3 [2022-02-28] 0.24.3 [2022-02-28]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -93,6 +93,10 @@ def setup_bash_env(env: Dict[str, str], argv: List[str]) -> None:
env['KITTY_BASH_RCFILE'] = rcfile env['KITTY_BASH_RCFILE'] = rcfile
for i in sorted(remove_args, reverse=True): for i in sorted(remove_args, reverse=True):
del argv[i] del argv[i]
if 'HISTFILE' not in env and 'posix' not in inject:
# In POSIX mode the default history file is ~/.sh_history instead of ~/.bash_history
env['HISTFILE'] = os.path.expanduser('~/.bash_history')
env['KITTY_BASH_UNEXPORT_HISTFILE'] = '1'
argv.insert(1, '--posix') argv.insert(1, '--posix')

View File

@ -41,6 +41,11 @@ _ksi_main() {
_ksi_safe_source "$KITTY_BASH_POSIX_ENV" && builtin export ENV="$KITTY_BASH_POSIX_ENV"; _ksi_safe_source "$KITTY_BASH_POSIX_ENV" && builtin export ENV="$KITTY_BASH_POSIX_ENV";
else else
builtin set +o posix; builtin set +o posix;
if [[ -n "$KITTY_BASH_UNEXPORT_HISTFILE" ]]; then
export -n HISTFILE;
unset KITTY_BASH_UNEXPORT_HISTFILE;
fi
# See run_startup_files() in shell.c in the Bash source code # See run_startup_files() in shell.c in the Bash source code
if builtin shopt -q login_shell; then if builtin shopt -q login_shell; then
if [[ "$KITTY_BASH_INJECT" != *"no-profile"* ]]; then if [[ "$KITTY_BASH_INJECT" != *"no-profile"* ]]; then