/* * "matchdelete()" function */ static void f_matchdelete(argvars, rettv) typval_T *argvars; typval_T *rettv; { rettv->vval.v_number = 0; #ifdef FEAT_SEARCH_EXTRA matchitem_T *prev = curwin->w_match_head; matchitem_T *mi = prev; matchitem_T *id = (matchitem_T *)get_tv_number(&argvars[0]); if (id != NULL && mi != NULL) { while (mi != NULL) { if (mi == id) { prev->next = mi->next; vim_free(mi); redraw_later(SOME_VALID); return; } prev = mi; mi = mi->next; } } #endif }