rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

kill(exp) stops working after to_poly_solve is used once #320

Open rtoy opened 4 months ago

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:00 Created by richardgobeli on 2022-12-28 05:28:22 Original: https://sourceforge.net/p/maxima/bugs/4065


Before to_poly_solve is used the kill function works just find. After using to_poly_solve once the kill function give me the following error.

I was using the following version.

(%i281) wxbug_report()$ wxMaxima is a graphical front end for Maxima, which does the mathematics in the background. If you encounter a mathematical problem, it is probably a Maxima bug und should be submitted there. The Maxima bug database is available at https://sourceforge.net/p/maxima/bugs Submit bug reports by following the 'Create Ticket' link on that page. To report a Maxima bug, you must have a Sourceforge account. A problem in the graphical user interface is probably a wxMaxima bug. The wxMaxima bug database is available at https://github.com/wxMaxima-developers/wxmaxima/issues Submit bug reports by following the 'New issue' link on that page. Please check before submitting, if your bug was already reported. Please include the following information with your bug report:


wxMaxima version: 22.11.1-DevelopmentSnapshot_MSW using wxWidgets version: wxWidgets 3.2.1 Maxima version: branch_5_46_base_853_g815b4c880_dirty Maxima build date: 2022-12-28 00:06:04 Host type: x86_64-w64-mingw32 System type: Win32 10.0.19045 X86-64 Lisp implementation type: SBCL Lisp implementation version: 2.2.11 wxMaxima's idea of the directory layout is: User configuration dir: C:\Users\Richard.000\maxima\ Help dir: C:\maxima-current\share/doc/wxmaxima


Attachments:

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:01 Created by richardgobeli on 2022-12-29 16:47:49 Original: https://sourceforge.net/p/maxima/bugs/4065/#de6a


Here is an example. (%i1) eq1:a+b+c=5; (%o1) c + b + a = 5 (%i2) eq2:-c+6*b-a=0; (%o2) (- c) + 6 b - a = 0 (%i3) eq3:a+b=3; (%o3) b + a = 3 (%i4) load(to_poly_solve); (%o4) C:/maxima-current/share/maxima/branch_5_46_base_861_g0e585ea73_dirty/sha\ re/to_poly_solve/to_poly_solve.mac (%i5) to_poly_solve([eq1,eq2,eq3],[a,b,c]); (%o5) %union([a = 16/7, b = 5/7 c = 2]) (%i6) kill(eq3); Maxima encountered a Lisp error:

The value $TO_POLY_SOLVE is not of type LIST

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:03 Created by peterpall on 2022-12-29 19:42:55 Original: https://sourceforge.net/p/maxima/bugs/4065/#de6a/a979


That sounds like the wxMaxima bug that properties of symbols that are changed by wxMaxima on startup are reset to the values maxima has set them to, not to the values wxMaxima has changed them to afterwards. If that is the case and the bug isn't reproducible in plain maxima I would need a lisp wizard who tells me how to resolve that bug.

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:06 Created by macrakis on 2022-12-29 19:47:42 Original: https://sourceforge.net/p/maxima/bugs/4065/#a4bc


This is not reproducible in Maxima 5.46.0 SBCL 2.2.5 MacOS x86 command line. Gobeli, could you try it out in the command line interface on your machine?

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:08 Created by peterpall on 2022-12-29 20:00:16 Original: https://sourceforge.net/p/maxima/bugs/4065/#a4bc/1bc1


Then the problem definitively lies in https://github.com/wxMaxima-developers/wxmaxima/blob/main/src/wxMathML.lisp : This file of wxMaxima equips many maxima symbols with properties that somehow make maxima speak exactly the XML dialect wxMaxima understands - and applying kill() to one of these symbols actually does do what the user expects it to, except if the user has changed the symbol: I don't know how to tell the lisp file to not only change the symbol's properties, but also to add those properties to the symbol's initial properties that kill() restores the symbol to.

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:10 Created by peterpall on 2022-12-29 20:00:36 Original: https://sourceforge.net/p/maxima/bugs/4065/#a4bc/1bc1/13cc


Any help with that lisp file is more than welcome!

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:12 Created by richardgobeli on 2022-12-29 21:15:41 Original: https://sourceforge.net/p/maxima/bugs/4065/#a885


The last example is in command line mode.

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:14 Created by richardgobeli on 2022-12-29 21:18:12 Original: https://sourceforge.net/p/maxima/bugs/4065/#67de


It happens in WxMaxima., in xMaxima, and also in command line mode Maxima.

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:16 Created by richardgobeli on 2022-12-30 01:38:51 Original: https://sourceforge.net/p/maxima/bugs/4065/#ca9a


I see, if I type kill(to_poly_solve);

The kill function will now work for other things. The next time to_poly_solve is used, it will need to be reloaded.

There have been many changes to the global def variables list. There may have been a bug that cropped in related to this issue.

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:18 Created by richardgobeli on 2022-12-30 18:31:22 Original: https://sourceforge.net/p/maxima/bugs/4065/#eb99


Here is a command line example in windows. The attached file is a screen shot of the example where kill stops working after just the loading of to_poly_solve. Forgot to attach file.

Attachments:

rtoy commented 4 months ago

Imported from SourceForge on 2024-07-02 16:28:20 Created by tomasriker on 2022-12-31 17:02:41 Original: https://sourceforge.net/p/maxima/bugs/4065/#bb30


I can't reproduce it with latest Maxima from Git on CCL (see screenshot).

Attachments: