I use zsh with the EXTENDED_HISTORY option, which makes it so that in the shell history timestamps are stored which is useful for going back and diagnosing how you screwed up production. I'm trying to transition to using emacs for my terminal with shell-mode, but when I try to browse my previous commands they come up like this:
: 1423012245:0;ls
The first number is the timestamp, and the second number is the number of seconds the command took. This is exactly how the command looks in the history file too, but zsh is smart enough to filter it out when you press up to browse your previous commands in the real shell. So it appears that comint mode tries to read the history file separately, and doesn't know about the timestamp format.
How do I get shell-mode to ignore the timestamps while keeping the option on?
emacs -Q
andzsh -f
(will need to setup the history manually) and see if there's still a problem.ansi-term
. It's superior toshell
in many regards.