Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: vanishing history
- X-seq: zsh-workers 16670
- From: Adam Spiers <adam@xxxxxxxxxx>
- To: zsh workers mailing list <zsh-workers@xxxxxxxxxxxxxx>
- Subject: Re: vanishing history
- Date: Mon, 18 Feb 2002 18:10:21 +0000
- In-reply-to: <Pine.LNX.4.33L2.0202160123440.1473-100000@xxxxxxxxxxxxxxx>; from wayned@xxxxxxxxxxxxxxxxxxxxx on Sat, Feb 16, 2002 at 01:28:25AM -0800
- Mail-followup-to: zsh workers mailing list <zsh-workers@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20011128161905.A9726@xxxxxxxxxxxxxxxxxxxx> <Pine.LNX.4.33L2.0202160123440.1473-100000@xxxxxxxxxxxxxxx>
- Reply-to: Adam Spiers <adam@xxxxxxxxxx>
- Sender: "Adam Spiers,,07775562717,020 88 30 30 35" <adam@xxxxxxxxxxxxxxxxxxxx>
[moved to zsh-workers]
Wayne Davison (wayned@xxxxxxxxxxxxxxxxxxxxx) wrote:
> On Wed, 28 Nov 2001, Adam Spiers wrote:
> > Does anyone have any idea why my .zshhistory occasionally looses the
> > vast majority of its contents? I can't reproduce it, so I can't begin
> > to track down what's going on.
>
> I've seen this from time to time, but also have been unable to reproduce
> it. In pouring over the code I did finally see one potential way that
> the loss of contents could happen: if the history file is locked by
> another process while we're trying to rewrite it. Here's the fix (which
> causes us to just punt on the rewrite if we read nothing):
>
> Index: Src/hist.c
> --- Src/hist.c 16 Feb 2002 09:15:07 -0000 1.39
> +++ Src/hist.c 16 Feb 2002 09:21:16 -0000
> @@ -2083,7 +2083,8 @@
> hist_ignore_all_dups |= isset(HISTSAVENODUPS);
> readhistfile(fn, err, 0);
> hist_ignore_all_dups = isset(HISTIGNOREALLDUPS);
> - savehistfile(fn, err, 0);
> + if (histlinect)
> + savehistfile(fn, err, 0);
> deletehashtable(histtab);
>
> curhist = remember_curhist;
Thanks for that. I've found a way to reproduce the bug, and this
patch (or at least, the combination of all cvs commits over the last
few weeks) makes zsh core dump when I try that way, which is to simply
type ^X?, which is bound to _complete_debug. This somehow manages to
reset the history file to almost empty. I've tracked it as far as the
inc_append_history option, which disabling stops the core dump.
Beyond that I'm out of my depth.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author