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.
