Subject: bug#5852: 23.1; Incorrect references in ses-mode

From: Vincent Belaïche <[email-masked]>
Date: Fri, 29 Dec 2023 13:03:07 +0100

Dear all,

I am _very very_ glad to a announce that I have fixed bug#5852  ! I
just pushed the fix to master now.

Thank you again to Göran for the report, without which this would not
have been impossible.

The bug was only loosely time dependent. What happened is that the
data area update is deferred on the command hook, if I try to
reproduce the bug by doing some kdb macro, it seems that the command
hook is not called in between the two yanks, and this hides the bug.
That was my mistake during my first investigation. Translating the
manual to French helped me be more aware of all the arcanes of SES.

The root cause of the bug has nothing to do with copy/cut/paste, it
was far deeper, the formula setting function was bugged, as it did not
registered cells the reference list of which is changed by the formula
setting as needing rewrite to the data area !

It was hard to realized where the bug was, because the data structures
in memory was OK, but there was a discrepancy between the data areay
and the data structures, so the bugs only gets manifest when you
reload a sheet --- or as in the new test if you call ses-mode again.
So as long as you do not reload a sheet everything is OK.

@Stefan Kangas is there any record book for longest lived bugs, maybe
I can get a prize for this 13 years old bug, unless Richard has left
some bug form the 1970 or so version of Emacs :-P ?

Happy end of year to you all !

   Vincent.

Le dim. 25 juil. 2021 à 08:44, Lars Ingebrigtsen <[email-masked]> a écrit :
>
> Vincent Belaïche <[email-masked]> writes:
>
> > Just to say that I did the test manually on my home PC a couple of
> > time, and I could not reproduce the problem.
> > That is quite annoying, yesterday I reproduced it on my office PC once.
>
> Yeah, timing dependent bugs are really annoying to try to debug..
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no