I think I make a working patch:

I add a test condition from "timesApp" to "timesWidth",
so the WIDTH of "2^(2/3)*3^(2/3)" will be 11 (5+1+5)
instead of 10.

diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index f1665568..818979e3 100644
--- a/src/interp/i-output.boot
+++ b/src/interp/i-output.boot
@@ -518,13 +518,15 @@
   w:= 0
   for arg in rest u repeat
     op:= keyp arg
-    if not firstTime and needStar(wasSimple,wasQuotient,wasNumber,arg,op) then
+    if not firstTime and (needBlankForRoot(lastOp,op,arg) or
+       needStar(wasSimple,wasQuotient,wasNumber,arg,op)) then
       w:= w+1
     if infixArgNeedsParens(arg, rightPrec, "left") then w:= w+2
     w:= w+WIDTH arg
     wasSimple:= atom arg and not NUMBERP arg --or isRationalNumber arg
     wasQuotient:= isQuotient op
     wasNumber:= NUMBERP arg
+    lastOp := op
     firstTime:= nil
   w

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to