4
$\begingroup$

Bug introduced in 10.4.1 or earlier and persisting through 11.1.0 or later


Using x++ or x=x+1 inside Defer generates strange results.

Evaluating the following commands one by one (in three different input cells), with Shift+Enter, one gets:

x=1;
Defer[x++]; 
x
(* 15 but I have also seen 17! *)

Even stranger, if one creates a notebook with only those same commands, restarts the kernel, and does Evaluation ► Evaluate Notebook then the command x returns 1 instead of 15.

Any explanations?

$\endgroup$
  • $\begingroup$ I get 1 everytime, as I would expect... $\endgroup$ – user6014 Oct 8 '16 at 22:17
  • 7
    $\begingroup$ First check: turn off the Suggestions Bar and try again. $\endgroup$ – Mr.Wizard Oct 9 '16 at 2:18
  • 4
    $\begingroup$ @Mr.Wizard - Turning off the Suggestions Bar fixes the problem. Thanks. $\endgroup$ – Soldalma Oct 9 '16 at 11:03
  • 2
    $\begingroup$ @Mr.Wizard What do we do with questions like this? Close it as a duplicate of what you linked? Close it as a duplicate of another question about a Suggestion Bar bug? Post an answer? I'm really disturbed by the amount of problems the Suggestion Bar causes. I think it says more about how difficult it is to manipulate code in Mathematica than about WRI quality control. I would never have dared to attempt to implement something like this myself—the risk of evaluation leaks is much too great. $\endgroup$ – Szabolcs Oct 9 '16 at 12:50
  • 1
    $\begingroup$ @Szabolcs - I reported the bug. $\endgroup$ – Soldalma Oct 9 '16 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.