On Wed, Apr 17, 2024 at 10:13 PM Ronan Pigott <ronan@rjp.ie> wrote:

  $ zsh --version
  zsh 5.9 (x86_64-pc-linux-gnu)
  $ uname -r
  6.8.7-arch1-1

I can't reproduce with the current git master.

% echo $ZSH_PATCHLEVEL
zsh-5.9-437-ga66e929
% uname -vr
5.15.0-102-generic #112~20.04.1-Ubuntu SMP Thu Mar 14 14:28:24 UTC 2024
% xxd -ps -l3

0a
0a
0a
% STTY={-icanon,-echo} xxd -ps -l3
0a0a0a
% STTY={-icanon,-echo,icrnl,inlcr} xxd -ps -l3
0d0a0a
% STTY={-icanon,-echo} xxd -ps -l3
0a0a0a
%
 
The only way I can something similar happen is by running the last two xxd commands without allowing a prompt to be printed in between.  Zsh only resets the terminal at each new prompt, not at every command exit.