From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18280 invoked from network); 18 Feb 1997 12:26:40 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 18 Feb 1997 12:26:40 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id HAA09680; Tue, 18 Feb 1997 07:17:55 -0500 (EST) Resent-Date: Tue, 18 Feb 1997 07:17:55 -0500 (EST) Message-Id: <199702181220.NAA27285@hydra.ifh.de> To: zsh-workers@math.gatech.edu (Zsh hackers list) Subject: SEGV with dynamic loading + zle builtin Date: Tue, 18 Feb 1997 13:19:59 +0100 From: Peter Stephenson Resent-Message-ID: <"xJaav3.0.8N2.otP2p"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2914 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu % ./zsh -f Baaah zsh: 22284 segmentation fault (core dumped) ./zsh -f Baaah while trying to print out the `file not found message'. The problem is that trashzle() is #defined to use trashzleptr() (which is making the code rather confusing, by the way) and in the call to zerr() from parseargs(), trashzleptr is not set since this happens in init_bltinmods(). In my case this is happening because (as I explained last week) I need to have zle built into the shell, otherwise other libraries can't recognise symbols from it. However, it's possible this occurs other times zle is built-in, e.g. without dynamic loading. It probably doesn't occur at all before 3.1.1. There are various ways to handle this but while the dynamic loading code is still evolving it's not obvious to me which is the best. For now it would be safe to add an `if (trashzleptr)' line in zerr() before the (apparent) call to trashzle(). -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77413 Deutsches Elektronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, 15735 Zeuthen, Germany.