zsh-workers
 help / color / mirror / code / Atom feed
* Re: New behaviour for HIST_IGNORE_SPACE option
       [not found] <4a8d442eb8vincent@vinc17.org>
@ 2001-06-26  6:24 ` Bart Schaefer
  2001-06-28 18:10   ` Wayne Davison
  2001-06-30 18:20   ` print -s '' Bart Schaefer
  0 siblings, 2 replies; 3+ messages in thread
From: Bart Schaefer @ 2001-06-26  6:24 UTC (permalink / raw)
  To: zsh-workers, Vincent Lefevre

[Moved to -workers]

On Jun 19, 11:52pm, Vincent Lefevre wrote:
} Subject: New behaviour for HIST_IGNORE_SPACE option
}
} It seems that the behaviour of HIST_IGNORE_SPACE has changed in
} zsh 4.0.1, and I don't like the new one.

Sorry to have let this languish so long without a reply.  We did think
about putting an option in for the old behavior and it's mostly my fault
that there isn't one.

In the course of considering possible workarounds, I discovered that the
new behavior has in fact introduced a few bugs.  If you use `print -s'
between commands -- e.g., from precmd, or from completion as happens
with _complete_debug -- while there is a history entry pending space-
deletion, the history becomes garbled:  The entry that was added with
`print -s' appears twice, once on either side of the one that should
have been deleted, and the deletion never happens.

It seems to me that `print -s' should simply perform the deletion at
once, replacing the pending entry with the new one.

On a prossibly-unrelated note, `print -s' with no arguments results in
"BUG: attempt to free storage at invalid address" when the next command
is executed:

schaefer[514] print -s
schaefer[517] echo foo
BUG: attempt to free storage at invalid address
foo
schaefer[519] allopt hist
appendhistory         on
banghist              on
cshjunkiehistory      off
extendedhistory       off
histallowclobber      off
histbeep              on
histexpiredupsfirst   on
histfindnodups        on
histignorealldups     off
histignoredups        on
histignorespace       off
histnofunctions       off
histnostore           off
histreduceblanks      on
histsavenodups        off
histverify            off
incappendhistory      off
sharehistory          off


Wayne, are you out there?

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New behaviour for HIST_IGNORE_SPACE option
  2001-06-26  6:24 ` New behaviour for HIST_IGNORE_SPACE option Bart Schaefer
@ 2001-06-28 18:10   ` Wayne Davison
  2001-06-30 18:20   ` print -s '' Bart Schaefer
  1 sibling, 0 replies; 3+ messages in thread
From: Wayne Davison @ 2001-06-28 18:10 UTC (permalink / raw)
  To: Bart Schaefer; +Cc: Zsh Workers

On Tue, 26 Jun 2001, Bart Schaefer wrote:
> It seems to me that `print -s' should simply perform the deletion at
> once, replacing the pending entry with the new one.

Yes, it should.  Here's a patch.

..wayne..

---8<------8<------8<------8<---cut here--->8------>8------>8------>8---
Index: Src/hist.c
--- Src/hist.c	2001/06/08 00:15:18	1.29
+++ Src/hist.c	2001/06/28 18:05:47
@@ -922,6 +922,10 @@

     if (curline_in_ring)
 	unlinkcurline();
+    if (hist_ring && hist_ring->flags & HIST_TMPSTORE) {
+	curhist--;
+	freehistnode((HashNode)hist_ring);
+    }

     if (histlinect < histsiz) {
 	he = (Histent)zcalloc(sizeof *he);
---8<------8<------8<------8<---cut here--->8------>8------>8------>8---


^ permalink raw reply	[flat|nested] 3+ messages in thread

* print -s ''
  2001-06-26  6:24 ` New behaviour for HIST_IGNORE_SPACE option Bart Schaefer
  2001-06-28 18:10   ` Wayne Davison
@ 2001-06-30 18:20   ` Bart Schaefer
  1 sibling, 0 replies; 3+ messages in thread
From: Bart Schaefer @ 2001-06-30 18:20 UTC (permalink / raw)
  To: zsh-workers

On Jun 26,  I wrote:
}
} It seems to me that `print -s' should simply perform the deletion at
} once, replacing the pending entry with the new one.

Wayne's patch for this appears (after a lot of experimentation in which
I confused myself several times) to have done the right thing.  Thanks,
Wayne.
 
} On a prossibly-unrelated note, `print -s' with no arguments results in
} "BUG: attempt to free storage at invalid address" when the next command
} is executed

This bug is also gone.

However, `print -s' with no arguments or an empty argument still inserts an
empty entry in the history list.  Does this seem like useful behavior to
anyone?  I would think that empty entries should always be ignored.

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-06-30 18:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <4a8d442eb8vincent@vinc17.org>
2001-06-26  6:24 ` New behaviour for HIST_IGNORE_SPACE option Bart Schaefer
2001-06-28 18:10   ` Wayne Davison
2001-06-30 18:20   ` print -s '' Bart Schaefer

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