<div dir="ltr">This is how the manual page documents the merge setting:<div><br></div><div>  Â  If the second word of savehist is set to â€˜merge’, the history<br>  Â  list is merged with the existing history file instead of replacing<br>  Â  it (if there is one) and sorted by time stamp.<br></div><div><br></div><div>I'm not sure sethistory() is the correct place to fix this: the merge option should impact saving the history. It should not impact loading the history, and it should not discard history entries when the size of the history is changed.</div><div><br></div><div>I have not yet tried the patch, but I will when I have some time.</div><div><br></div><div>Kind regards,</div><div>+ Kimmo<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 13 Jul 2023 at 14:29, Dr. Werner Fink <<a href="mailto:werner@suse.de">werner@suse.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On 2023/07/13 10:51:08 +0200, Dr. Werner Fink wrote:<br>
> Hi<br>
> <br>
> after a report of a user I've done a small test case to show the<br>
> problem:<br>
> <br>
>  boole:~ # useradd -m -s /bin/tcsh c1<br>
>  boole:~ # vi /home/c1/.tcshrc<br>
>  boole:~ # cat /home/c1/.tcshrc<br>
>  set histdup=prev<br>
>  set history=8<br>
>  set savehist=($history merge lock)<br>
>  boole:~ # su - c1<br>
>  boole /home/c1> touch m1<br>
>  boole /home/c1> touch m2<br>
>  boole /home/c1> touch m3<br>
>  boole /home/c1> touch m4<br>
>  boole /home/c1> touch m5<br>
>  boole /home/c1> touch m6<br>
>  boole /home/c1> touch m7<br>
>  boole /home/c1> touch m8<br>
>  boole /home/c1> logout<br>
>  boole:~ # su - c1<br>
>  boole /home/c1> cat m1<br>
>  boole /home/c1> cat m2<br>
>  boole /home/c1> cat m3<br>
>  boole /home/c1> cat m4<br>
>  boole /home/c1> cat m5<br>
>  boole /home/c1> cat m6<br>
>  boole /home/c1> cat m7<br>
>  boole /home/c1> cat m8<br>
>  boole /home/c1> logout<br>
>  boole:~ # cat /home/c1/.history <br>
>  boole:~ # cat /home/c1/.history <br>
>  #+1689237920<br>
>  touch m1<br>
>  #+1689237921<br>
>  touch m2<br>
>  #+1689237922<br>
>  touch m3<br>
>  #+1689237923<br>
>  touch m4<br>
>  #+1689237924<br>
>  touch m5<br>
>  #+1689237925<br>
>  touch m6<br>
>  #+1689237926<br>
>  touch m7<br>
>  #+1689237927<br>
>  touch m8<br>
> <br>
> ... looks like `merge` does not work to get the recent history<br>
> <br>
> Werner<br>
<br>
the attached patch seems to solve the problem<br>
<br>
Werner<br>
<br>
-- <br>
  "Having a smoking section in a restaurant is like having<br>
  Â  Â  Â  Â  a peeing section in a swimming pool." -- Edward Burr<br>
-- <br>
Tcsh mailing list<br>
<a href="mailto:Tcsh@astron.com" target="_blank">Tcsh@astron.com</a><br>
<a href="https://mailman.astron.com/mailman/listinfo/tcsh" rel="noreferrer" target="_blank">https://mailman.astron.com/mailman/listinfo/tcsh</a><br>
</blockquote></div>