mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
profile/systemd-osc-context: fix overriding of PROMPT_COMMAND
In https://github.com/systemd/systemd/issues/39114 users are reporting that our script overrides PROMPT_COMMAND that they had. After looking at /etc/bashrc in Fedora, I see that it only sets PROMPT_COMMAND if [ -z "$PROMPT_COMMAND" ]. Let's adjust the script so this continues to work. Fixes https://github.com/systemd/systemd/issues/39114. (This is a bit of a stretch. 39114 was originally about SecureCRT, but that was resolved in SecureCRT. But there was a lot of dicussion about the prompt being overriden, which this commit should fix.)
This commit is contained in:
@@ -57,7 +57,11 @@ __systemd_osc_context_precmdline() {
|
||||
}
|
||||
|
||||
if [[ -n "${BASH_VERSION:-}" ]] && [[ "${TERM:-}" != "dumb" ]]; then
|
||||
# Whenever a new prompt is shown close the previous command, and prepare new command
|
||||
# Legacy bashrc will assign PROMPT_COMMAND=, which is equivalent to assigning
|
||||
# index 0 in the array. Leave an empty spot to handle this gracefully.
|
||||
[ -n "$(declare -p PROMPT_COMMAND 2>/dev/null)" ] || PROMPT_COMMAND+=('')
|
||||
|
||||
# Whenever a new prompt is shown, close the previous command, and prepare new command
|
||||
PROMPT_COMMAND+=(__systemd_osc_context_precmdline)
|
||||
|
||||
# PS0 is shown right after a prompt completed, but before the command is executed
|
||||
|
||||
Reference in New Issue
Block a user