See my patch bellow.

Normally 'APP' modifies 'd' destructively, so you don't need to
assign it again by 'd := APP(xxx, d)', but in the case of the
starting point of a newline, 'd' is NIL, so you need the assignment.


diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index 1be78d1a..04badacb 100644
--- a/src/interp/i-output.boot
+++ b/src/interp/i-output.boot
@@ -1043,7 +1043,7 @@ overlabelSuper [.,a,b] == 1 + height a + superspan b
 overlabelWidth [.,a,b] == WIDTH b

 overlabelApp([.,a,b], x, y, d) ==
-  underApp:= APP(b,x,y,d)
+  d := APP(b,x,y,d)
   endPoint := x + WIDTH b - 1
   middle := QUOTIENT(x + endPoint,2)
   h := y + superspan b + 1
@@ -1055,7 +1055,7 @@ overbarSuper u == 1 + superspan u.1
 overbarWidth u == WIDTH u.1

 overbarApp(u,x,y,d) ==
-  underApp:= APP(u.1,x,y,d)
+  d := APP(u.1,x,y,d)
   apphor(x,x+WIDTH u.1-1,y+superspan u.1+1,d,UNDERBAR)

 intSub u ==
diff --git a/src/input/i_bugs.input b/src/input/i_bugs.input
index 6ab21eed..cba0acfb 100644
--- a/src/input/i_bugs.input
+++ b/src/input/i_bugs.input
@@ -277,3 +277,12 @@ rIS := Record(key : INT, entry : String)

 %i*conjugate(x)
 conjugate(x)*conjugate(y)
+
+-- missing 3 chars in multi-line output with overbar/overlabel: ' ; O
+
+)set output length 80
+ob := [overbar(index(i)$CHAR::OutputForm) for i in 40..90];
+rob := reduce(+, ob)
+
+ob2 := [overlabel(1::OUTFORM,index(i)$CHAR::OutputForm) for i in 40..90];
+rob2 := reduce(+, ob2)

-- 
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 [email protected].
To post to this group, send email to [email protected].
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