Hi workers,
I've experienced a seg. fault in zsh when doing the following:
This is the widget:
# Control + B jumps to "base" directory.
function return-to-base; {
if [[ ! -z "$BASE" ]]; then
[[ -d "$BASE" ]] && cd "$BASE"
zle reset-prompt
fi
}
It's bound to key ^b.
Here's the chpwd function:
function chpwd; {
DIRECTORY="$PWD"
while true; do
if [ -f './.env.rc' ]; then
source './.env.rc'
break
fi
if [ -f './env' ]; then
source './env'
break
fi
[ $PWD = '/' ] && break
cd -q ..
done
cd -q "$DIRECTORY"
}
Now when BASE points to a directory that contains a .env.rc file and I
press ^B, it seems to work fine at first, the directory is updated and I
get a new nice prompt. But then, no matter what I enter, after hitting
return zsh crashes with a seg. fault. This seems to happen in
hist.c:1138, where hptr points to NULL at that point. I tried to fix it
myself, but I can't find a clean solution as I can't find the source of
the problem. Just checking for hptr being NULL in hend() would just fix
the symptom, not the cause I guess.
Regards,
Jonas
--
Attachment:
pgpKLMBQTfaUT.pgp
Description: PGP signature