Fix bug #4307: partswitch affects op and operatorp
commitba18192cc5ff67a360100b9246bed840a41ff61b
authorKris Katterjohn <katterjohn@gmail.com>
Fri, 14 Jun 2024 21:39:01 +0000 (14 17:39 -0400)
committerKris Katterjohn <katterjohn@gmail.com>
Fri, 14 Jun 2024 21:39:01 +0000 (14 17:39 -0400)
tree318b842f409d4d36f057c48840b93fefdf4400fe
parent0483617de94ff4d3346c39e0ce366ff69d6a4b8a
Fix bug #4307: partswitch affects op and operatorp

We now bind partswitch to false in op to prevent this (mostly)
undocumented behavior:

(%i1) partswitch : true$

(%i2) op (end ());
(%o2) end

(%i3) op (end);
(%o3) end

(%i4) op (not_end);
(%o4) end

(%i5) operatorp (end (), end);
(%o5) true

(%i6) operatorp (end, end);
(%o6) true

(%i7) operatorp (not_end, end);
(%o7) true

The documentation has been updated to mention the new behavior.

No problems with the test suite, share test suite or rtest_translator.
New tests have been added to rtest6a.
ChangeLog
doc/info/Expressions.texi
src/comm.lisp
tests/rtest6a.mac