Menu

#3390 ?great mishandles box

None
closed
nobody
5
2018-01-26
2018-01-22
No

?great(box(x+t),-box(x+t)) => true
?great(-box(x+t),box(x+t)) => true

It should never be true that ?great(x,y)=?great(y,x)=true if x#y

This bug causes the following bug:
sin(box(x+t)) => stack overflow

The solution (for now at least) is to remove these two lines from great:

((member (caar x) '(mbox mlabox) :test #'eq) (great (cadr x) y))
((member (caar y) '(mbox mlabox) :test #'eq) (great x (cadr y)))

If I remember correctly, I added those lines a long time ago thinking it was trivially obvious that they were correct. :-(

This also fixes bug 2012 Lisp stack overflow with dpart

Discussion

  • Robert Dodier

    Robert Dodier - 2018-01-26
    • labels: --> great, box, orderlessp
    • status: open --> closed
     
  • Robert Dodier

    Robert Dodier - 2018-01-26

    I've applied the bug fix as commit 1aec495. Closing this report as fixed.

     

Log in to post a comment.