diff options
| author | Koichi Murase <myoga.murase@gmail.com> | 2024-01-10 23:11:12 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-10 14:11:12 +0000 |
| commit | a7bed6146156ce1548446700d2189e0caf6c8a75 (patch) | |
| tree | 0be91fc4dd07fc370191638a1735668b11d1b17e /.github/workflows/rust.yml | |
| parent | feat: add extended help (#1540) (diff) | |
| download | atuin-a7bed6146156ce1548446700d2189e0caf6c8a75.zip | |
fix(bash): work around bash < 4 and introduce initialization guards (#1533)
* fix(bash): add a guard for interactive shells
* fix(bash): add a guard for the Bash version
* fix(bash): localize READLINE_LINE in bash < 4
In bash < 4, the variables READLINE_LINE and READLINE_POINT are not
supported for the shell commands called by `bind -x`. Even if it is
not supported, atuin works in not a bad way. However, this sometimes
causes a strange behavior by the remaining values of READLINE_LINE set
in the previous calls of __atuin_history. In bash < 4, we can
consistently use an empty string instead of $READLINE_LINE, and the
changes to READLINE_LINE and READLINE_POINT should be localized within
the function.
* fix(bash): add guard for double initialization
In bash, it is customary to reload the settings by sourcing `.bashrc`
again after modifying it. In such a case, `eval "$(atuin init bash)"`
is executed again. This registers duplicate hooks to
`preexec_functions` and `precmd_functions`. To prevent this in this
patch, we introduce an include guard, so that the initialization is
not performed more than once.
Diffstat (limited to '.github/workflows/rust.yml')
0 files changed, 0 insertions, 0 deletions
