From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5823 invoked from network); 3 Dec 1997 07:39:08 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 3 Dec 1997 07:39:08 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id CAA19454; Wed, 3 Dec 1997 02:25:23 -0500 (EST) Resent-Date: Wed, 3 Dec 1997 02:25:23 -0500 (EST) Date: Wed, 3 Dec 1997 08:25:52 +0100 (MET) Message-Id: <199712030725.IAA05039@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@math.gatech.edu In-reply-to: Kevin Sullivan's message of Tue, 2 Dec 1997 18:22:31 -0500 Subject: Re: Problem with autoload. Resent-Message-ID: <"PWby73.0.sl4.YbGXq"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3644 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Kevin Sullivan wrote: > > > Hello, > > I am having a problem with autoload and subsequently resolving the > functions. Here are the particulars. > > (kevins@drkstr)(zsh:434)% echo $ZSH_VERSION > 3.1.2 > (kevins@drkstr)(zsh:435)% uname -a > OSF1 drkstr.lkg.dec.com V4.0 375 alpha > > When I try to resolve an autoload function zsh core dumps. Here is the > setup procedure: > > ... > > I tried looking through the code somewhat but I am really unfamiliar > with it. I am hoping one of the zsh-workers can enlighten me to what I > am doing wrong. I am sure that I have not set up something quite right > but I am at a loss. I have read through all the information I can > find. I have been using zsh for many years. All of my functions and > scripts I have loaded into a large (getting very large) file I load in > at login time. I would like to break up that file and use autoload and > fpath can you help me out. > I sent a patch for this some time ago, here is the old message: ---------- Hi Dunno if there was a patch for this before... In 3.1.2 autoloaded functions are implemented by making them (internally) functions which load themselves. For this there is a new struct autofn and a corresponding description in utils.c. This descriptions says that the struct has one extra integer that should be copied in dupstruct2(). But in fact there is a pointer which should be copied directly. Due to sizeof(int) != sizeof(Shfunc) on an Alpha this doesn't copy the pointer, leaving it zero, causing a SEGV later on. The patch below is probably a bit simple (-minded), but it works. Bye Sven *** utils.c.old Wed Oct 8 10:48:31 1997 --- utils.c Wed Oct 8 09:04:20 1997 *************** *** 1668,1674 **** --- 1668,1678 ---- NT_SET(N_IF, 0, NT_NODE | NT_ARR, NT_NODE | NT_ARR, 0, 0), NT_SET(N_WHILE, 1, NT_NODE, NT_NODE, 0, 0), NT_SET(N_VARASG, 1, NT_STR, NT_STR, NT_STR | NT_LIST, 0), + #if SIZEOF_LONG == 8 + NT_SET(N_AUTOFN, 3, 0, 0, 0, 0), + #else NT_SET(N_AUTOFN, 1, 0, 0, 0, 0), + #endif }; /**/ ---------- Zoltan, are you currently in the process of putting together a 3.1.3? (Or am I the only one who hesitates to build patches due to a missing definition of `official patches' or `patches that will go into the next release'?) Bye Sven -- Sven Wischnowsky wischnow@informatik.hu-berlin.de