rtoy / maxima

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

testsuite doesn't preserve the symbol list #1328

Open rtoy opened 3 days ago

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:38 Created by willisbl on 2021-07-18 11:14:45 Original: https://sourceforge.net/p/maxima/bugs/3814


Running the testsuite from the command line doesn't preserve the symbol list of mplus. Specifically:

(%i1) :lisp(setf (get 'mplus 'aaa) 'bbb)
BBB
(%i1) :lisp(symbol-plist 'mplus)
(AAA BBB TEX TEX-MPLUS <stuff deleted>
(%i1) run_testsuite()

After completing the testsuite, we have

(%i1) :lisp(get 'mplus 'aaa)
NIL
rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:39 Created by willisbl on 2021-07-18 14:30:15 Original: https://sourceforge.net/p/maxima/bugs/3814/#4135


A fix is to add a new entry to builtin-symbol-props

(%i2)   :lisp(setf (gethash  'mplus  *builtin-symbol-props*) (list 'wxxml #'wxxml-mplus))
(WXXML #<FUNCTION WXXML-MPLUS>)
(%i2)   put("+",'foo,'bar);
(%o2)   foo
(%i3)   kill(props);
(%o3)   done
(%i4)   a+b;
(%o4)   a+b
rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:42 Created by robert_dodier on 2021-07-18 22:10:02 Original: https://sourceforge.net/p/maxima/bugs/3814/#4b2e


It's not clear to me that this is a bug in Maxima. The problem is that kill(props) doesn't notice properties which are created with Lisp function calls. A resolution for wxMaxima is to append new properties onto the builtin-symbol-plist table, so that's a problem for wxMaxima to solve; is there something that should be changed in Maxima as well?

In general, in Maxima you can use Lisp to do whatever you want, but it seems like the flip side has to be that we can't expect Maxima to know about all of that, so, on that theory, it seems like Maxima clobbering Lisp-defined properties via kill(props) isn't a bug. Other opinions?

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:46 Created by peterpall on 2021-07-19 16:31:11 Original: https://sourceforge.net/p/maxima/bugs/3814/#4b2e/69a4


It clearly is a wxMaxima bug. I wonder if other front-ends share it.

rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:49 Created by robert_dodier on 2021-08-14 05:26:36 Original: https://sourceforge.net/p/maxima/bugs/3814/#9093


rtoy commented 3 days ago

Imported from SourceForge on 2024-07-04 09:50:53 Created by robert_dodier on 2021-08-14 05:26:36 Original: https://sourceforge.net/p/maxima/bugs/3814/#19c1


I'm marking this "not a bug". If someone wants to reopen this with a rationale as to why it's a bug, please go ahead.

(Not a bug in Maxima, at least; perhaps a bug in wxMaxima, but that's outside the scope of this bug list.)