@@ -3612,7 +3612,7 @@ copy_sub_off(to, from)
36123612}
36133613
36143614/*
3615- * Return TRUE if "sub1" and "sub2" have the same positions.
3615+ * Return TRUE if "sub1" and "sub2" have the same start positions.
36163616 */
36173617 static int
36183618sub_equal (sub1 , sub2 )
@@ -3621,71 +3621,44 @@ sub_equal(sub1, sub2)
36213621{
36223622 int i ;
36233623 int todo ;
3624- linenr_T s1 , e1 ;
3625- linenr_T s2 , e2 ;
3626- char_u * sp1 , * ep1 ;
3627- char_u * sp2 , * ep2 ;
3624+ linenr_T s1 ;
3625+ linenr_T s2 ;
3626+ char_u * sp1 ;
3627+ char_u * sp2 ;
36283628
36293629 todo = sub1 -> in_use > sub2 -> in_use ? sub1 -> in_use : sub2 -> in_use ;
36303630 if (REG_MULTI )
36313631 {
36323632 for (i = 0 ; i < todo ; ++ i )
36333633 {
36343634 if (i < sub1 -> in_use )
3635- {
36363635 s1 = sub1 -> list .multi [i ].start .lnum ;
3637- e1 = sub1 -> list .multi [i ].end .lnum ;
3638- }
36393636 else
3640- {
36413637 s1 = 0 ;
3642- e1 = 0 ;
3643- }
36443638 if (i < sub2 -> in_use )
3645- {
36463639 s2 = sub2 -> list .multi [i ].start .lnum ;
3647- e2 = sub2 -> list .multi [i ].end .lnum ;
3648- }
36493640 else
3650- {
36513641 s2 = 0 ;
3652- e2 = 0 ;
3653- }
3654- if (s1 != s2 || e1 != e2 )
3642+ if (s1 != s2 )
36553643 return FALSE;
36563644 if (s1 != 0 && sub1 -> list .multi [i ].start .col
36573645 != sub2 -> list .multi [i ].start .col )
36583646 return FALSE;
3659- if (e1 != 0 && sub1 -> list .multi [i ].end .col
3660- != sub2 -> list .multi [i ].end .col )
3661- return FALSE;
36623647 }
36633648 }
36643649 else
36653650 {
36663651 for (i = 0 ; i < todo ; ++ i )
36673652 {
36683653 if (i < sub1 -> in_use )
3669- {
36703654 sp1 = sub1 -> list .line [i ].start ;
3671- ep1 = sub1 -> list .line [i ].end ;
3672- }
36733655 else
3674- {
36753656 sp1 = NULL ;
3676- ep1 = NULL ;
3677- }
36783657 if (i < sub2 -> in_use )
3679- {
36803658 sp2 = sub2 -> list .line [i ].start ;
3681- ep2 = sub2 -> list .line [i ].end ;
3682- }
36833659 else
3684- {
36853660 sp2 = NULL ;
3686- ep2 = NULL ;
3687- }
3688- if (sp1 != sp2 || ep1 != ep2 )
3661+ if (sp1 != sp2 )
36893662 return FALSE;
36903663 }
36913664 }
@@ -3735,8 +3708,8 @@ has_state_with_pos(l, state, subs)
37353708 if (thread -> state -> id == state -> id
37363709 && sub_equal (& thread -> subs .norm , & subs -> norm )
37373710#ifdef FEAT_SYN_HL
3738- && (!nfa_has_zsubexpr ||
3739- sub_equal (& thread -> subs .synt , & subs -> synt ))
3711+ && (!nfa_has_zsubexpr
3712+ || sub_equal (& thread -> subs .synt , & subs -> synt ))
37403713#endif
37413714 )
37423715 return TRUE;
0 commit comments