From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vincent =?UTF-8?Q?Bela=C3=AFche?= Newsgroups: gmane.emacs.bugs Subject: bug#5852: 23.1; Incorrect references in ses-mode Date: Sun, 25 Jul 2021 08:32:10 +0200 Message-ID: References: <845zfpi242.fsf@gmail.com> <871r7vrbez.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38548"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Kangas , Vincent =?UTF-8?Q?Bela=C3=AFche?= , 5852@debbugs.gnu.org, =?UTF-8?Q?G=C3=B6ran?= Uddeborg To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 25 08:33:11 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m7XhG-0009lA-JA for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 25 Jul 2021 08:33:10 +0200 Original-Received: from localhost ([::1]:47210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m7XhF-0003qN-KR for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 25 Jul 2021 02:33:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m7Xh8-0003pw-9r for bug-gnu-emacs@gnu.org; Sun, 25 Jul 2021 02:33:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35850) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m7Xh8-0004ZS-20 for bug-gnu-emacs@gnu.org; Sun, 25 Jul 2021 02:33:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1m7Xh8-000841-01 for bug-gnu-emacs@gnu.org; Sun, 25 Jul 2021 02:33:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vincent =?UTF-8?Q?Bela=C3=AFche?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Jul 2021 06:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5852 X-GNU-PR-Package: emacs Original-Received: via spool by 5852-submit@debbugs.gnu.org id=B5852.162719475330941 (code B ref 5852); Sun, 25 Jul 2021 06:33:01 +0000 Original-Received: (at 5852) by debbugs.gnu.org; 25 Jul 2021 06:32:33 +0000 Original-Received: from localhost ([127.0.0.1]:47391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m7Xgf-00082z-04 for submit@debbugs.gnu.org; Sun, 25 Jul 2021 02:32:33 -0400 Original-Received: from mail-pl1-f169.google.com ([209.85.214.169]:42877) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m7XgZ-00082i-Uh for 5852@debbugs.gnu.org; Sun, 25 Jul 2021 02:32:31 -0400 Original-Received: by mail-pl1-f169.google.com with SMTP id i1so7938679plr.9 for <5852@debbugs.gnu.org>; Sat, 24 Jul 2021 23:32:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=kua4C2lfrYBbBYQtiymrsxKSFoLBD3Qk7j53aPWZDYU=; b=Qg78cC8oI3KPOPofCMfNsxgv4KvLIG7jMhu1qMBy5YtAe8jXXaU/DeUotMVJiXrcVc T/yC3SIkF9JlH5QBILS81ZHxSYr4ZSVTye1W+3EJtXC+WDsS5L/H9jh1isi8J2+miCnJ pabBgih+bTTcCyHSWkrcrHVJJ2eRLhtrN6ZegegPbYYWxEMDbVdU/K/u4YOcOvjmux28 S1M6sz/hJ6GHPRi3DSQ+EN27cHIbV8HUEBEoAgwECQa6YpgIfvvWECZRBa699Nw/kaHJ CPJy2NTefXPky7FGJHB/TDgHbcYI3iNDGY1OM2+T8yOSf+J59jrBwlNIaYOeXnwd3/A/ T3fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=kua4C2lfrYBbBYQtiymrsxKSFoLBD3Qk7j53aPWZDYU=; b=SjQbtgvvYuXFt5opCfa6dSjOV/GGT1dsCirEHotIQLeTtAl5kyjgFZmUdkH03brXss ZFgtPru0DSJtm9c4/XE0qQI7x8bt78md7oBusMw86uHTxYMhx9OmwPRETTvifuEV0ucn MR2Ks6TUy1FTvHudtcpZweca61gAEz/N9KtD/tG15YyQ/430V9GmHbIqH6TpS28PE0Ok XriybPa/SdXaB5Hx9K2EYYeRTNujd8KbIC+ufzax+0OmdRDbYTkShqll35AQJLgEMjET 3Q/SmL7dD8WJD+gbnaM3H4kdHdfiASqKDkjTUMqq7PrsOfcwMHbHFHBmU7vhbr6NovK9 PAxw== X-Gm-Message-State: AOAM532cZdoZYuoBVW2SUwqe+SS42qe+aac4yIIAOTe1YTTyd/gBAjK0 ppstGyEe4od/aHrR1HXeB430G52UoRHMenE5SJ0= X-Google-Smtp-Source: ABdhPJy1P0DVDuTY6JL8fVLxwjjmHUgUGSLJdbeK9j3fuVAFbdlSENFlcwSsUO8JPUtn2c4/S6Pd8pxX1c1S9IfmDT0= X-Received: by 2002:a17:90a:ce02:: with SMTP id f2mr20740303pju.232.1627194742057; Sat, 24 Jul 2021 23:32:22 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:210682 Archived-At: By doing the test manually on my home PC I found some interesting difference. After 2 RET on my home PC the cursor goes to the end of buffer narrowed region, while on my office PC it goes to B2. This means that the TAB that follows won't the same effect. On my home PC it creates a 3rd row, while on my office PC it creates the 3rd column. I found the reason why so : my home PC had some customization for the ses-after-entry-functions. After erasing customization I had the same behaviour =E2=80=A6 Anyway, that does not affect the bug-5852 test function as it only uses ses-jump for motion. V. Le dim. 25 juil. 2021 =C3=A0 08:18, Vincent Bela=C3=AFche a =C3=A9crit : > > The bug-5852 test function does not reproduce the bug on my home PC eithe= r =E2=80=A6 > V. > > Le dim. 25 juil. 2021 =C3=A0 08:17, Vincent Bela=C3=AFche > a =C3=A9crit : > > > > The same test function, but with comments : > > > > > > (defun bug-5852 ();;--- > > "Check no irrelevant reference is created when a row is inserted and > > a formula is yanked" > > (interactive);;--- > > (let ((ses-initial-size '(3 . 3))); size before last row insertion, > > due to all preceding TAB & C-o > > (with-temp-buffer > > (ses-mode) > > (dolist (val '( > > (ses-edit-cell 0 1 1) ; 1 RET > > (ses-edit-cell 1 0 2) ; 2 RET > > (ses-edit-cell 1 1 (+ B1 A2)) ; ( + SPC B1 SPC A2 RE= T > > (ses-edit-cell 2 0 3) ; 3 RET > > (ses-edit-cell 2 1 (+ B2 A3)) ; ( + SPC B2 SPC A3 RE= T > > (ses-jump A3) ; C-n > > (ses-insert-row 1) ; C-o > > (ses-edit-cell 2 0 4) ; 4 RET > > (ses-jump B2) ; C-p > > )) > > (apply 'funcall-interactively val) > > (ses-command-hook)) > > (let ((beg (point-marker))); C-SPC > > (ses-jump 'C2) ; C-f > > (copy-region-as-kill beg (point) nil); M-w > > (set-marker beg nil)) > > (dolist (val '( > > (ses-jump B3); C-n C-b > > (yank) ; C-y > > (ses-jump B4); C-n > > (yank); C-y > > )) > > (apply 'funcall-interactively val) > > (ses-command-hook)) > > (ses-repair-cell-reference-all) > > ))) > > > > Le dim. 25 juil. 2021 =C3=A0 07:56, Vincent Bela=C3=AFche > > a =C3=A9crit : > > > > > > On more significant difference between the function bug-5852 and the > > > example is the the initial size is (3 . 3) instead of (1. 1). This is > > > because I speculated that only the last row insertion (C-o) plays a > > > role. > > > > > > V. > > > > > > Le dim. 25 juil. 2021 =C3=A0 07:48, Vincent Bela=C3=AFche > > > a =C3=A9crit : > > > > > > > > Just to add something : reading again SES code, and (info "(elisp) > > > > Command Overview") I am a bit skeptical about the explanation in my > > > > previous email. > > > > It seems that only key strokes are queue, but command execution and > > > > post command hook are in sequence, so not done concurrently. > > > > I wrote this function to try to reproduce the bug, and on my office= PC > > > > it does not reproduce it: > > > > > > > > (defun bug-5852 ();;--- > > > > "Check no irrelevant reference is created when a row is inserted = and > > > > a formula is yanked" > > > > (interactive);;--- > > > > (let ((ses-initial-size '(3 . 3))) > > > > (with-temp-buffer > > > > (ses-mode) > > > > (dolist (val '( > > > > (ses-edit-cell 0 1 1) > > > > (ses-edit-cell 1 0 2) > > > > (ses-edit-cell 1 1 (+ B1 A2)) > > > > (ses-edit-cell 2 0 3) > > > > (ses-edit-cell 2 1 (+ B2 A3)) > > > > (ses-jump A3) > > > > (ses-insert-row 1) > > > > (ses-edit-cell 2 0 4) > > > > (ses-jump B2) > > > > )) > > > > (apply 'funcall-interactively val) > > > > (ses-command-hook)) > > > > (let ((beg (point-marker))) > > > > (ses-jump 'C2) ; C-n > > > > (copy-region-as-kill beg (point) nil) > > > > (set-marker beg nil)) > > > > (dolist (val '( > > > > (ses-jump B3) > > > > (yank) > > > > (ses-jump B4) > > > > (yank) > > > > )) > > > > (apply 'funcall-interactively val) > > > > (ses-command-hook)) > > > > (ses-repair-cell-reference-all) > > > > ))) > > > > > > > > Please note that the main difference with the provided example is t= hat > > > > motion is done with ses-jump, and not with motion commands. Also th= e > > > > save to keyring is not done interatively. > > > > V. > > > > > > > > Le sam. 24 juil. 2021 =C3=A0 23:46, Vincent Bela=C3=AFche > > > > a =C3=A9crit : > > > > > > > > > > Hello Lars, > > > > > > > > > > Sorry for not making any feedback for so long, actually I was jus= t > > > > > distracted by some other business, and I somewhat had forgotten a= bout > > > > > it. > > > > > > > > > > I suspect a race condition between the post command hook and the = next > > > > > command. That is to say when one yanks the fomula (the first yank= ), > > > > > one relocates the reference but for this one uses current referen= ces > > > > > that have not yet been relocated because the previous post-comman= d > > > > > hook execution is not yet over. > > > > > > > > > > The bug does not show every time I do the experiment. I tried thi= s > > > > > morning with my office PC which is a fast machine, and it proved = out > > > > > quite hard to reproduce, even when I launched some big C program > > > > > compilation in parallel to eat the mips. > > > > > > > > > > Next week I will do some experiment with my home PC which is quit= e > > > > > quite slower, and I make some feedback. Unfortunateless both mach= ine > > > > > do not have the same emacs version, but anyway all changes in SES > > > > > since the version on my home PC are not related to this bug, so > > > > > nevertheless that will be a good indication whether my guess is > > > > > correct. > > > > > > > > > > V. > > > > > > > > > > Le dim. 18 juil. 2021 =C3=A0 15:37, Lars Ingebrigtsen a =C3=A9crit : > > > > > > > > > > > > Vincent Bela=C3=AFche writes: > > > > > > > > > > > > > I will investigate why and feed back once I have a better ide= a of what > > > > > > > is happening. > > > > > > > > > > > > Hi, > > > > > > > > > > > > this was a year ago. Did you make any progress on this issue? > > > > > > > > > > > > -- > > > > > > (domestic pets only, the antidote for overdose, milk.) > > > > > > bloggy blog: http://lars.ingebrigtsen.no