Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: COMPLETE_IN_WORD dumps core if reserved word match
- X-seq: zsh-workers 291
- From: hzoli@xxxxxxxxxx (Zoltan Hidvegi)
- To: zsh-workers@xxxxxxxxxxxxxxx (zsh-workers)
- Subject: Re: COMPLETE_IN_WORD dumps core if reserved word match
- Date: Mon, 7 Aug 1995 16:06:05 +0200 (MET DST)
- In-reply-to: <m0sfQiU-00007BC@xxxxxxxxxxxxxxx> from "Thorsten Meinecke" at Aug 7, 95 01:51:33 pm
Thorsten Meinecke wrote:
> I wrote,
> Subject: COMPLETE_IN_WORD dumps core if built-in functions match,
>
> > Starting program: /u/home/kaefer/wrk/zsh/zsh-2.6-beta10/Src/./zsh -f
> > aglaia:~/wrk/zsh/zsh-2.6-beta10/Src> setopt autolist completeinword
> > aglaia:~/wrk/zsh/zsh-2.6-beta10/Src> rt
> > ^
> > [cursor position is here, and completion requested]
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x804ed39 in addmatch (s=0x8059424 "epeat", t=0x8059424 "epeat")
> > at zle_tricky.c:1524
> > 1524 *e = '\0';
> > (gdb)
> >
> > The obvious way around (at least for GCC) is to recompile with
> > -fwritable-strings.
>
> Digging a little further shows that only the list of 24 reserved
> words is subject to this problem. We're attempting to modify
> "string constants", which can't be done portably.
>
> The fix is to copy these words, at the expense of a-hundred-and-a-
> few bytes increased memory usage, as it was done in earlier releases.
I think it would be better to modify the code which uses the end-of-string
marks. I do not like new ztrdups. Also it requires some additional CPU time as
well (malloc can be quite slow, especially with zsh-mem, which queues signals
befor each malloc). The proper solution shouldn't be too difficult, be I have
some other things to do now.
Zoltan
Messages sorted by:
Reverse Date,
Date,
Thread,
Author