zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: greg@itasoftware.com, zsh-workers@sunsite.auc.dk (Zsh list)
Subject: Re: script using vared to read commands - history bug
Date: Fri, 20 Oct 2000 07:57:55 +0000	[thread overview]
Message-ID: <1001020075755.ZM8068@candle.brasslantern.com> (raw)
In-Reply-To: <14831.50805.334555.712481@phl.itasoftware.com>

On Oct 20, 12:13am, Greg Klanderman wrote:
} 
} If I run the following script:
} 
}     #!/bin/zsh
} 
}     prompt="%B%%%b "
}     while cmd="" && vared -h -p "$prompt" cmd ; do 
}       echo " -- got: $cmd"
}       print -s - "$cmd"
}     done
} 
} it works as intended, except that the most recent 
} command never appears in the history.  What's up?

What's up is that the history code doesn't really expect to be invoked
from a non-interactive shell, even though `vared -h' will let you get
away with it, so nothing is properly initialized until the second time
you write something to the history, and thereafter it's always off by
one.

If the first thing you do at the prompt in this script is type ctrl-p,
zsh 3.1.9 will core dump.  (3.0.8 doesn't seem to have that part of the
problem.)

If there's a straightforward solution to this, I don't know enough about
the history mechanism to find it quickly.  There are a number of places
in zle_hist.c that never check to see whether quietgethist() returns 0
(which is what produces the core dump), but it's not merely that the
history is empty, because you don't get a core dump at the first prompt
from `zsh -f'.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


  reply	other threads:[~2000-10-20  7:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-20  4:13 Greg Klanderman
2000-10-20  7:57 ` Bart Schaefer [this message]
     [not found]   ` <14832.44455.892766.386987@phl.itasoftware.com>
2000-10-21  3:01     ` PATCH: " Bart Schaefer
2000-10-20  7:12 Sven Wischnowsky
2000-10-20  8:00 ` 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=1001020075755.ZM8068@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=greg@itasoftware.com \
    --cc=zsh-workers@sunsite.auc.dk \
    /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).