zsh-workers
 help / color / mirror / code / Atom feed
From: Jonas Kramer <jkramer@nex.scrapping.cc>
To: zsh-workers@sunsite.dk
Subject: Seg. Fault when calling "cd" with set "chpwd" hook from a widget
Date: Tue, 25 Nov 2008 01:05:37 +0100	[thread overview]
Message-ID: <20081125000535.GC30055@unknown> (raw)

[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]

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 #2: Type: application/pgp-signature, Size: 197 bytes --]

             reply	other threads:[~2008-11-25  0:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-25  0:05 Jonas Kramer [this message]
2008-11-25 18:36 ` Peter Stephenson
2008-11-25 18:40   ` Peter Stephenson
2008-11-30  4:31 ` Bart Schaefer
2008-11-30 10:59   ` Jonas Kramer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081125000535.GC30055@unknown \
    --to=jkramer@nex.scrapping.cc \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).