From: Robert D. <rob...@gm...> - 2023-12-30 18:37:06
|
I have, I believe, finished the implementation of the Unicode pretty printer, and merged it (on the branch dodier-maxima-unicode-display) into master and pushed commit 6ae644b. As I mentioned before IT IS NOT REQUIRED TO USE THE UNICODE DISPLAY AND IT IS DISABLED BY A GLOBAL FLAG. The Unicode pretty printer is enabled or disabled via the flag display2d_unicode (note that the name of the flag has changed since earlier versions). When the Unicode pretty printer is disabled, 2-d display is handled by the existing ASCII art pretty printer. display2d_unicode is enabled by default for Lisp implementations which appear to support Unicode. If we can't tell that the Lisp implementation is Unicode-capable, then the Unicode pretty printer is disabled, and cannot be enabled. I have tested the Unicode pretty printer with SBCL, Clisp, and ECL, which are all Unicode-capable, and GCL, which is Unicode-incapable. I created a new test script, tests/rtest_unicode_display.mac, which is only executed by run_testsuite for Unicode-capable Lisp implementations. Those tests pass for SBCL, Clisp, and ECL. I also revised existing pretty printer tests in other files to make use of the ASCII art pretty printer. I also executed run_testsuite(display_all = true, share_tests = true) and reviewed the output in some detail and did not discover any incorrectly displayed expressions. I bumped into some existing bugs while testing the Unicode display: https://sourceforge.net/p/maxima/bugs/4233/ https://sourceforge.net/p/maxima/bugs/4234/ https://sourceforge.net/p/maxima/bugs/4236/ Others might likewise encounter them, so in the interest of clarity I mention them here. An unresolved topic for discussion is how well this stuff (the Unicode capability detection and the Unicode display itself) works on MS Windows. Any reports about that will be very helpful. The Unicode display is truly easier to read and quite pleasant; I have already gotten accustomed to it, I think others will like it too. best Robert |