From 65bd807cfdd6651a480f8fc70ed41ef82abaf64b Mon Sep 17 00:00:00 2001 From: Kris Yotam <75515498+krisyotam@users.noreply.github.com> Date: Thu, 2 Jul 2026 00:00:54 -0500 Subject: [PATCH] mksh: skip stale history log on first prompt render --- .mkshrc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.mkshrc b/.mkshrc index 216a048a6475c8176d71b58c20360aa10a07d691..4e9069bfda14ef010b12eadbf07602f632247c75 100644 --- a/.mkshrc +++ b/.mkshrc @@ -48,7 +48,14 @@ else # mksh: no DEBUG trap / PROMPT_COMMAND. Log from PS1 each prompt. # The leading $(...) captures $? first, so the exit code is accurate, # and _kh_prompt emits nothing so the visible prompt is unchanged. + # Skip the first render: at shell start fc -ln -1 is a stale HISTFILE + # entry, not a command run this session. + _kh_first_prompt=1 _kh_prompt() { + if [ -n "$_kh_first_prompt" ]; then + unset _kh_first_prompt + return + fi _kh_log "$(fc -ln -1 2>/dev/null | sed 's/^[[:space:]]*//')" "$1" } PS1='$(_kh_prompt "$?")'"$PS1"