zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: Re: Segfault on completion with interactive mode
Date: Fri, 12 Feb 2016 02:17:38 -0800	[thread overview]
Message-ID: <160212021738.ZM12847@torch.brasslantern.com> (raw)
In-Reply-To: <20160211124948.278fb707@pwslap01u.europe.root.pri>

On Feb 11, 12:49pm, Peter Stephenson wrote:
} Subject: Re: Segfault on completion with interactive mode
}
} What I saw when I tried this was a crash in singledraw() because
} mgtab[0] was 1, suggesting it as a "marked" null pointer.  So presumably
} this state is incompatible with state required when we call
} singledraw(),

Yes, I saw that as well.

} This appears to be a lot later than anything you're talking about.
 
The long description in my previous message was the result of several
(dozen) passes trying to track down WHY we arrive in singledraw() with
mgtab[0] = 1 in the case of

    zstyle ':completion:*:warnings' format '%BNo matching %b%d'

when the analogous case WITHOUT that style works exactly as designed.

The answer to "why?" appears to be that "compadd -x" has clobbered the
completion groups when displaying the warning.  Thus I believe that we
somehow need to save and restore state around the "compadd -x".  The
right place to do that seems to be in domenuselect() in the branch
that uses showinglist = -2, because it's that call to zrefresh() that
ultimately calls the hookdef that eventually does the "compadd -x".


  reply	other threads:[~2016-02-12 10:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-10 16:40 Óscar García Amor
2016-02-10 20:03 ` Bart Schaefer
2016-02-11  4:01 ` Bart Schaefer
2016-02-11 12:49   ` Peter Stephenson
2016-02-12 10:17     ` Bart Schaefer [this message]
2016-02-13 22:28 ` Bart Schaefer

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=160212021738.ZM12847@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.org \
    /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).