zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: zsh-workers@sunsite.auc.dk
Cc: Greg Klanderman <greg@itasoftware.com>
Subject: PATCH: Re: script using vared to read commands - history bug
Date: Sat, 21 Oct 2000 03:01:12 +0000	[thread overview]
Message-ID: <1001021030112.ZM9321@candle.brasslantern.com> (raw)
In-Reply-To: <14832.44455.892766.386987@phl.itasoftware.com>

I wrote:
} If there's a straightforward solution to this, I don't know enough about
} the history mechanism to find it quickly.

The following seems to take care of it.  Does anyone foresee any ill side-
effects that I haven't?  This makes `dohist = 2' override the current
state of (interact && isset(SHINSTDIN)) and start the history mechanism
regardless.

Index: Src/hist.c
===================================================================
@@ -736,7 +736,12 @@
 {
     isfirstln = isfirstch = 1;
     errflag = histdone = 0;
-    stophist = (!dohist || !interact || unset(SHINSTDIN)) ? 2 : 0;
+    if (!dohist)
+	stophist = 2;
+    else if (dohist != 2)
+	stophist = (!interact || unset(SHINSTDIN)) ? 2 : 0;
+    else
+	stophist = 0;
     if (stophist == 2 || (inbufflags & INP_ALIAS)) {
 	chline = hptr = NULL;
 	hlinesz = 0;
@@ -764,7 +769,7 @@
 
     if (hist_ring && !hist_ring->ftim)
 	hist_ring->ftim = time(NULL);
-    if (interact && isset(SHINSTDIN) && !strin) {
+    if ((dohist == 2 || (interact && isset(SHINSTDIN))) && !strin) {
 	histactive = HA_ACTIVE;
 	attachtty(mypgrp);
 	linkcurline();
Index: Src/Zle/zle_main.c
===================================================================
@@ -903,7 +903,7 @@
     if (ops['e'])
 	isfirstln = 1;
     if (ops['h'])
-	hbegin(1);
+	hbegin(2);
     t = (char *) zleread(p1, p2, ops['h'] ? ZLRF_HISTORY : 0);
     if (ops['h'])
 	hend(NULL);

-- 
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   


      parent reply	other threads:[~2000-10-21  3:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-20  4:13 Greg Klanderman
2000-10-20  7:57 ` Bart Schaefer
     [not found]   ` <14832.44455.892766.386987@phl.itasoftware.com>
2000-10-21  3:01     ` Bart Schaefer [this message]

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=1001021030112.ZM9321@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).