Menu

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

None
open
nobody
9
2023-01-03
2022-12-28
No

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


1 Attachments

Discussion

  • Richard Gobeli

    Richard Gobeli - 2022-12-29

    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

     
    • Gunter Königsmann

      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.

       
  • Stavros Macrakis

    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?

     
    • Gunter Königsmann

      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.

       
      • Gunter Königsmann

        Any help with that lisp file is more than welcome!

         
  • Richard Gobeli

    Richard Gobeli - 2022-12-29

    The last example is in command line mode.

     
  • Richard Gobeli

    Richard Gobeli - 2022-12-29

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

     
  • Richard Gobeli

    Richard Gobeli - 2022-12-30

    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.

     
  • Richard Gobeli

    Richard Gobeli - 2022-12-30

    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.

     

    Last edit: Richard Gobeli 2022-12-30
  • David Scherfgen

    David Scherfgen - 2022-12-31

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

     
  • David Scherfgen

    David Scherfgen - 2022-12-31

    Also working on SBCL. Something in your build must be broken. Did you compile it yourself?

     
    • Gunter Königsmann

      If you did: The dependencies of the Maxima files the biild system knows about are broken so slightly that the result of an incremental build often is a Maxima that works - but has subtle bugs.

       
  • Richard Gobeli

    Richard Gobeli - 2023-01-01

    I always use the nightly build from Wolfgang's web site and I am using windows 10 latest version. I also use SBCL.

     

    Last edit: Richard Gobeli 2023-01-01
    • Gunter Königsmann

      Then you don't use an incremental build.

       
  • Richard Gobeli

    Richard Gobeli - 2023-01-02

    I can't compile the program, so I need to use the complete installer at the nightly build web site.

     
  • Richard Gobeli

    Richard Gobeli - 2023-01-02

    After this build it is not getting the error anymore.

    wxMaxima version: 22.12.0-DevelopmentSnapshot_MSW
    using wxWidgets version: wxWidgets 3.2.1
    Maxima version: branch_5_46_base_917_g9b044b688_dirty
    Maxima build date: 2023-01-02 00:11:47
    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

     
  • Richard Gobeli

    Richard Gobeli - 2023-01-03

    So it is now working!

     

Log in to post a comment.