Fix a bug in delete-node where the prev pointer wasn't getting set right
Add more unit testsrelease
parent
f06aeece1f
commit
00e5607a2c
core/dlists
|
@ -59,3 +59,6 @@ IN: temporary
|
|||
[ 0 ] [ <dlist> dlist-length ] unit-test
|
||||
[ 1 ] [ <dlist> 1 over push-front dlist-length ] unit-test
|
||||
[ 0 ] [ <dlist> 1 over push-front dup pop-front* dlist-length ] unit-test
|
||||
|
||||
[ 4 ] [ <dlist> 1 over push-back 2 over push-back 3 over push-back 4 over push-back 5 over push-back [ 3 = ] over delete-node drop dlist-front dlist-node-next dlist-node-next dlist-node-obj ] unit-test
|
||||
[ 2 ] [ <dlist> 1 over push-back 2 over push-back 3 over push-back 4 over push-back 5 over push-back [ 3 = ] over delete-node drop dlist-front dlist-node-next dlist-node-next dlist-node-prev dlist-node-obj ] unit-test
|
||||
|
|
|
@ -107,7 +107,8 @@ PRIVATE>
|
|||
{
|
||||
{ [ 2dup >r dlist-front r> = ] [ drop pop-front* ] }
|
||||
{ [ 2dup >r dlist-back r> = ] [ drop pop-back* ] }
|
||||
{ [ t ] [ dup dlist-node-prev swap dlist-node-next set-prev-when
|
||||
{ [ t ] [ dup dlist-node-prev over dlist-node-next set-prev-when
|
||||
dup dlist-node-next swap dlist-node-prev set-next-when
|
||||
dec-length ] }
|
||||
} cond ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue