Re: Bug: Mathematica multipies statements together
- To: mathgroup at smc.vnet.net
- Subject: [mg25520] Re: Bug: Mathematica multipies statements together
- From: "Carl K. Woll" <carlw at u.washington.edu>
- Date: Thu, 5 Oct 2000 23:50:40 -0400 (EDT)
- References: <8r1b66$ier@smc.vnet.net> <200010010644.CAA29687@smc.vnet.net> <200010030227.WAA06558@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi all, Just in case anyone is interested, it turns out the bug is related to the option ShortBoxForm. When this option is True, Mathematica rearranges the notebook before it is saved. There is a bug in this rearrangement procedure. So, the general rule of thumb in these kinds of parsing errors is to turn off the ShortBoxForm option. A very similar bug existed in version 3, where subscript parsing errors occurred after a perfectly fine notebook was saved and reopened. Carl ----- Original Message ----- From: "Carl K. Woll" <carlw at u.washington.edu> To: mathgroup at smc.vnet.net Subject: [mg25520] [mg25484] Re: Bug: Mathematica multipies statements together > Jens, > > Thank you for responding to my question. I have included a much smaller and > simpler notebook (two lines of input) which demonstrates the problem in my > post, which you will find below, in the hopes that the new notebook doesn't > get mangled in going through the news server. Please try out this new > notebook to see if you can reproduce my bug. In case it does get mangled, I > have included the code from the notebook below, so that I can give more > details about what occurs. The first line is simply an If statement: > > f = If[ g==1, \[Lambda]2=1; > \[Lambda]1=-d/2 > ] > > Actually, the notebook is in standard format, so I have reproduced the above > code by hand. When this command is executed, ?f returns the following > information: > > Global`f > InputForm[f := If[g == 1, (\[Lambda]2 = 1; )*(\[Lambda]1 = -(d/2))]] > > Regarding your comments: > > b) I think this is definitely a bug in Mathematica. For example, the > statement > > a=1; > b=1 > > should not be interpreted as (a=1;)*(b=1), yet this is what mathematica is > doing. > > c) Since this code is part of a module, it doesn't make any sense to have > one input cell for one output. > > d) Actually, you have sort of hit upon the only sure fire workaround that I > have found. Since I am trying to use the CompoundExpression command in the > usual syntax of > > a; > b; > etc. > > my solution is to instead explicitly use the CompoundExpression command, > e.g. CompoundExpression[a=1,b=1] . This approach always produces the > expected result. > > Carl Woll > > Below is the notebook expression demonstrating the problem. I have deleted > the output from the ?f command for fear that the output would cause the > notebook to be corrupted. Just copy the notebook expression into mathematica > and execute the two commands. I am curious whether the bug can be reproduced > by others. > > Notebook[{ > Cell[BoxData[ > \(f := If[g == 1, \(\(\[Lambda]2 = 1;\)\[IndentingNewLine] > \[Lambda]1 = \(-\(d\/2\)\)\)\[IndentingNewLine]]\)], "Input"], > > Cell[BoxData[ > \(\(?f\)\)], "Input"] > }, > FrontEndVersion->"4.0 for Microsoft Windows", > ScreenRectangle->{{0, 1024}, {0, 695}}, > Evaluator->"Local", > WindowSize->{913, 587}, > WindowMargins->{{27, Automatic}, {38, Automatic}}, > Magnification->1 > ] > > ----- Original Message ----- > From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de> To: mathgroup at smc.vnet.net > To: mathgroup at smc.vnet.net > Subject: [mg25520] [mg25484] [mg25453] Re: Bug: Mathematica multipies statements together > > > > Hi, > > > > a) uuencode you notebooks. The most mailer cut the line length and > > the result are syntax errors because mailer don't insert \ > > as line continuations. > > b) that ist not a bug -- it is a feature. Since Mathematica use space > > characters > > as Times[] operator it is not clear if > > a=b q=c mean a=(b*(q=c)) or it it mean > > > > a=b > > q=c > > c) simply use the rule one input-cell for one output > > d) use CompoundExpressions[] like a=b;q=c if you mean this > > > > Regards > > Jens > > > > "Carl K. Woll" wrote: > > > > > > Dear mathgroup, > > > > > > I've been having trouble with the following bug. Occasionally, and for > no > > > reason that I can discern, mathematica multiplies statements together. > At the > > > end of this message, I have included a short Mathematica notebook which > > > demonstrates this behavior. This error occurs with Mathematica running > on both > > > the WindowsNT and Linux oeprating systems. > > > > > > Can anyone else duplicate this problem, and suggest a workaround. I have > sent > > > in a bug report to Wolfram also, and I will forward what they suggest. > > > > > > The problem can be eliminated by inserting and deleting various carriage > returns. > > > > > > Thanks, > > > > > > Carl Woll > > > >
- References:
- Re: Bug: Mathematica multipies statements together
- From: Jens-Peer Kuska <kuska@informatik.uni-leipzig.de>
- Re: Bug: Mathematica multipies statements together
- From: "Carl K. Woll" <carlw@u.washington.edu>
- Re: Bug: Mathematica multipies statements together