@@ -381,7 +381,7 @@ defmodule ExUnit.Diff do
381381      if  improper_left  !=  [ ]  do 
382382        split_right_list ( right ,  length_left ,  [ ] ) 
383383      else 
384-         split_right_list ( right ,  [ ] ) 
384+         split_right_list ( right ,  - 1 ,   [ ] ) 
385385      end 
386386
387387    { parsed_diff ,  parsed_post_env }  =  myers_difference_list ( parsed_left ,  parsed_right ,  env ) 
@@ -416,16 +416,10 @@ defmodule ExUnit.Diff do
416416    diff ( left ,  right ,  env ) 
417417  end 
418418
419-   defp  split_right_list ( [ head  |  tail ] ,  length ,  acc )  when  length  >  0 , 
419+   defp  split_right_list ( [ head  |  tail ] ,  length ,  acc )  when  length  !=  0 , 
420420    do:  split_right_list ( tail ,  length  -  1 ,  [ head  |  acc ] ) 
421421
422-   defp  split_right_list ( rest ,  length ,  acc )  when  is_integer ( length ) , 
423-     do:  { Enum . reverse ( acc ) ,  rest } 
424- 
425-   defp  split_right_list ( [ head  |  tail ] ,  acc ) , 
426-     do:  split_right_list ( tail ,  [ head  |  acc ] ) 
427- 
428-   defp  split_right_list ( rest ,  acc ) , 
422+   defp  split_right_list ( rest ,  _length ,  acc ) , 
429423    do:  { Enum . reverse ( acc ) ,  rest } 
430424
431425  defp  rebuild_right_list ( left ,  right )  do 
0 commit comments