zsh-workers
 help / color / mirror / code / Atom feed
From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@math.gatech.edu
Subject: Re:  Problem with autoload.
Date: Wed, 3 Dec 1997 08:25:52 +0100 (MET)	[thread overview]
Message-ID: <199712030725.IAA05039@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: Kevin Sullivan's message of Tue, 2 Dec 1997 18:22:31 -0500


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


             reply	other threads:[~1997-12-03  7:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-12-03  7:25 Sven Wischnowsky [this message]
1997-12-22  6:19 ` zsh release anyone? (Was: Problem with autoload.) Geoff Wing

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=199712030725.IAA05039@beta.informatik.hu-berlin.de \
    --to=wischnow@informatik.hu-berlin.de \
    --cc=zsh-workers@math.gatech.edu \
    /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).