Lines Matching refs:curbuf
159 if (uhp == curbuf->b_u_curhead && ++seen_b_u_curhead > 1) in u_check_tree()
164 if (uhp == curbuf->b_u_newhead && ++seen_b_u_newhead > 1) in u_check_tree()
213 u_check_tree(curbuf->b_u_oldhead, NULL, NULL); in u_check()
215 if (seen_b_u_newhead == 0 && curbuf->b_u_oldhead != NULL in u_check()
216 && !(newhead_may_be_NULL && curbuf->b_u_newhead == NULL)) in u_check()
217 semsg("b_u_newhead invalid: 0x%x", curbuf->b_u_newhead); in u_check()
218 if (curbuf->b_u_curhead != NULL && seen_b_u_curhead == 0) in u_check()
219 semsg("b_u_curhead invalid: 0x%x", curbuf->b_u_curhead); in u_check()
220 if (header_count != curbuf->b_u_numhead) in u_check()
224 (long)header_count, (long)curbuf->b_u_numhead); in u_check()
253 if (top >= bot || bot > curbuf->b_ml.ml_line_count + 1) in u_save()
306 nlines == curbuf->b_ml.ml_line_count ? 2 : lnum, FALSE)); in u_savedel()
317 if (!curbuf->b_p_ma) in undo_allowed()
349 if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL) in get_undolevel()
351 return curbuf->b_p_ul; in get_undolevel()
363 if (curbuf->b_ml.ml_line_len == 0) in u_save_line()
372 ul->ul_len = curbuf->b_ml.ml_line_len; in u_save_line()
387 int proplen = get_text_props(curbuf, lnum, &props, FALSE); in has_prop_w_flags()
444 if (curbuf->b_p_ro) in u_savecommon()
463 if (bot > curbuf->b_ml.ml_line_count + 1) in u_savecommon()
483 if (bot <= curbuf->b_ml.ml_line_count in u_savecommon()
498 if (curbuf->b_u_synced) in u_savecommon()
502 curbuf->b_new_change = TRUE; in u_savecommon()
525 old_curhead = curbuf->b_u_curhead; in u_savecommon()
528 curbuf->b_u_newhead = old_curhead->uh_next.ptr; in u_savecommon()
529 curbuf->b_u_curhead = NULL; in u_savecommon()
535 while (curbuf->b_u_numhead > get_undolevel() in u_savecommon()
536 && curbuf->b_u_oldhead != NULL) in u_savecommon()
538 u_header_T *uhfree = curbuf->b_u_oldhead; in u_savecommon()
542 u_freebranch(curbuf, uhfree, &old_curhead); in u_savecommon()
545 u_freeheader(curbuf, uhfree, &old_curhead); in u_savecommon()
551 u_freebranch(curbuf, uhfree, &old_curhead); in u_savecommon()
561 u_freebranch(curbuf, old_curhead, NULL); in u_savecommon()
562 curbuf->b_u_synced = FALSE; in u_savecommon()
567 uhp->uh_next.ptr = curbuf->b_u_newhead; in u_savecommon()
575 if (curbuf->b_u_oldhead == old_curhead) in u_savecommon()
576 curbuf->b_u_oldhead = uhp; in u_savecommon()
580 if (curbuf->b_u_newhead != NULL) in u_savecommon()
581 curbuf->b_u_newhead->uh_prev.ptr = uhp; in u_savecommon()
583 uhp->uh_seq = ++curbuf->b_u_seq_last; in u_savecommon()
584 curbuf->b_u_seq_cur = uhp->uh_seq; in u_savecommon()
587 curbuf->b_u_time_cur = uhp->uh_time + 1; in u_savecommon()
599 uhp->uh_flags = (curbuf->b_changed ? UH_CHANGED : 0) + in u_savecommon()
600 ((curbuf->b_ml.ml_flags & ML_EMPTY) ? UH_EMPTYBUF : 0); in u_savecommon()
603 mch_memmove(uhp->uh_namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS); in u_savecommon()
604 uhp->uh_visual = curbuf->b_visual; in u_savecommon()
606 curbuf->b_u_newhead = uhp; in u_savecommon()
607 if (curbuf->b_u_oldhead == NULL) in u_savecommon()
608 curbuf->b_u_oldhead = uhp; in u_savecommon()
609 ++curbuf->b_u_numhead; in u_savecommon()
636 if ((curbuf->b_u_newhead->uh_getbot_entry != uep in u_savecommon()
639 ? curbuf->b_ml.ml_line_count + 1 in u_savecommon()
641 : uep->ue_lcount != curbuf->b_ml.ml_line_count) in u_savecommon()
656 curbuf->b_u_synced = FALSE; in u_savecommon()
665 uep->ue_next = curbuf->b_u_newhead->uh_entry; in u_savecommon()
666 curbuf->b_u_newhead->uh_entry = uep; in u_savecommon()
672 else if (bot > curbuf->b_ml.ml_line_count) in u_savecommon()
676 uep->ue_lcount = curbuf->b_ml.ml_line_count; in u_savecommon()
677 curbuf->b_u_newhead->uh_getbot_entry = uep; in u_savecommon()
718 else if (bot > curbuf->b_ml.ml_line_count) in u_savecommon()
722 uep->ue_lcount = curbuf->b_ml.ml_line_count; in u_savecommon()
723 curbuf->b_u_newhead->uh_getbot_entry = uep; in u_savecommon()
750 uep->ue_next = curbuf->b_u_newhead->uh_entry; in u_savecommon()
751 curbuf->b_u_newhead->uh_entry = uep; in u_savecommon()
752 curbuf->b_u_synced = FALSE; in u_savecommon()
802 for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum) in u_compute_hash()
1872 file_name = u_get_undo_file_name(curbuf->b_ffname, TRUE); in u_read_undo()
1912 bi.bi_buf = curbuf; in u_read_undo()
1928 if (*curbuf->b_p_key == NUL) in u_read_undo()
1934 bi.bi_state = crypt_create_from_file(fp, curbuf->b_p_key); in u_read_undo()
1970 || line_count != curbuf->b_ml.ml_line_count) in u_read_undo()
2141 u_blockfree(curbuf); in u_read_undo()
2142 curbuf->b_u_oldhead = old_idx < 0 ? NULL : uhp_table[old_idx]; in u_read_undo()
2143 curbuf->b_u_newhead = new_idx < 0 ? NULL : uhp_table[new_idx]; in u_read_undo()
2144 curbuf->b_u_curhead = cur_idx < 0 ? NULL : uhp_table[cur_idx]; in u_read_undo()
2145 curbuf->b_u_line_ptr = line_ptr; in u_read_undo()
2146 curbuf->b_u_line_lnum = line_lnum; in u_read_undo()
2147 curbuf->b_u_line_colnr = line_colnr; in u_read_undo()
2148 curbuf->b_u_numhead = num_head; in u_read_undo()
2149 curbuf->b_u_seq_last = seq_last; in u_read_undo()
2150 curbuf->b_u_seq_cur = seq_cur; in u_read_undo()
2151 curbuf->b_u_time_cur = seq_time; in u_read_undo()
2152 curbuf->b_u_save_nr_last = last_save_nr; in u_read_undo()
2153 curbuf->b_u_save_nr_cur = last_save_nr; in u_read_undo()
2155 curbuf->b_u_synced = TRUE; in u_read_undo()
2208 if (curbuf->b_u_synced == FALSE) in u_undo()
2246 if (curbuf->b_ml.ml_flags & ML_EMPTY) in u_doit()
2258 if (curbuf->b_u_curhead == NULL) // first undo in u_doit()
2259 curbuf->b_u_curhead = curbuf->b_u_newhead; in u_doit()
2262 curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr; in u_doit()
2264 if (curbuf->b_u_numhead == 0 || curbuf->b_u_curhead == NULL) in u_doit()
2267 curbuf->b_u_curhead = curbuf->b_u_oldhead; in u_doit()
2281 if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0) in u_doit()
2296 if (curbuf->b_u_curhead->uh_prev.ptr == NULL) in u_doit()
2297 curbuf->b_u_newhead = curbuf->b_u_curhead; in u_doit()
2298 curbuf->b_u_curhead = curbuf->b_u_curhead->uh_prev.ptr; in u_doit()
2336 if (curbuf->b_u_synced == FALSE) in undo_time()
2341 if (curbuf->b_ml.ml_flags & ML_EMPTY) in undo_time()
2354 target = (long)(curbuf->b_u_time_cur) + step; in undo_time()
2362 uhp = curbuf->b_u_curhead; in undo_time()
2366 uhp = curbuf->b_u_newhead; in undo_time()
2370 target = curbuf->b_u_save_nr_cur + step; in undo_time()
2373 target = curbuf->b_u_save_nr_cur + step + 1; in undo_time()
2382 target = curbuf->b_u_save_nr_cur + step; in undo_time()
2383 if (target > curbuf->b_u_save_nr_last) in undo_time()
2387 target = curbuf->b_u_seq_last + 1; in undo_time()
2393 target = curbuf->b_u_seq_cur + step; in undo_time()
2405 closest = curbuf->b_u_save_nr_last + 2; in undo_time()
2407 closest = curbuf->b_u_seq_last + 2; in undo_time()
2413 closest_seq = curbuf->b_u_seq_cur; in undo_time()
2439 if (curbuf->b_u_curhead == NULL) // at leaf of the tree in undo_time()
2440 uhp = curbuf->b_u_newhead; in undo_time()
2442 uhp = curbuf->b_u_curhead; in undo_time()
2460 if ((step < 0 ? uhp->uh_seq <= curbuf->b_u_seq_cur in undo_time()
2461 : uhp->uh_seq > curbuf->b_u_seq_cur) in undo_time()
2506 if (uhp == curbuf->b_u_curhead) in undo_time()
2559 uhp = curbuf->b_u_curhead; in undo_time()
2561 uhp = curbuf->b_u_newhead; in undo_time()
2567 curbuf->b_u_curhead = uhp; in undo_time()
2584 uhp = curbuf->b_u_curhead; in undo_time()
2613 if (curbuf->b_u_oldhead == uhp) in undo_time()
2614 curbuf->b_u_oldhead = last; in undo_time()
2619 curbuf->b_u_curhead = uhp; in undo_time()
2628 curbuf->b_u_seq_cur = target - 1; in undo_time()
2637 curbuf->b_u_newhead = uhp; in undo_time()
2638 curbuf->b_u_curhead = uhp->uh_prev.ptr; in undo_time()
2684 u_header_T *curhead = curbuf->b_u_curhead; in u_undoredo()
2694 new_flags = (curbuf->b_changed ? UH_CHANGED : 0) + in u_undoredo()
2695 ((curbuf->b_ml.ml_flags & ML_EMPTY) ? UH_EMPTYBUF : 0); in u_undoredo()
2701 mch_memmove(namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS); in u_undoredo()
2702 visualinfo = curbuf->b_visual; in u_undoredo()
2703 curbuf->b_op_start.lnum = curbuf->b_ml.ml_line_count; in u_undoredo()
2704 curbuf->b_op_start.col = 0; in u_undoredo()
2705 curbuf->b_op_end.lnum = 0; in u_undoredo()
2706 curbuf->b_op_end.col = 0; in u_undoredo()
2713 bot = curbuf->b_ml.ml_line_count + 1; in u_undoredo()
2714 if (top > curbuf->b_ml.ml_line_count || top >= bot in u_undoredo()
2715 || bot > curbuf->b_ml.ml_line_count + 1) in u_undoredo()
2748 if (curbuf->b_ml.ml_line_len != uep->ue_array[i].ul_len in u_undoredo()
2750 curbuf->b_ml.ml_line_len) != 0) in u_undoredo()
2795 if (curbuf->b_ml.ml_line_count == 1) in u_undoredo()
2831 if (curbuf->b_op_start.lnum > top + oldsize) in u_undoredo()
2832 curbuf->b_op_start.lnum += newsize - oldsize; in u_undoredo()
2833 if (curbuf->b_op_end.lnum > top + oldsize) in u_undoredo()
2834 curbuf->b_op_end.lnum += newsize - oldsize; in u_undoredo()
2840 if (top + 1 < curbuf->b_op_start.lnum) in u_undoredo()
2841 curbuf->b_op_start.lnum = top + 1; in u_undoredo()
2842 if (newsize == 0 && top + 1 > curbuf->b_op_end.lnum) in u_undoredo()
2843 curbuf->b_op_end.lnum = top + 1; in u_undoredo()
2844 else if (top + newsize > curbuf->b_op_end.lnum) in u_undoredo()
2845 curbuf->b_op_end.lnum = top + newsize; in u_undoredo()
2868 curbuf->b_ml.ml_flags |= ML_EMPTY; in u_undoredo()
2874 if (!isNetbeansModified(curbuf)) in u_undoredo()
2876 unchanged(curbuf, FALSE, TRUE); in u_undoredo()
2884 curbuf->b_namedm[i] = curhead->uh_namedm[i]; in u_undoredo()
2892 curbuf->b_visual = curhead->uh_visual; in u_undoredo()
2904 if (curwin->w_cursor.lnum <= curbuf->b_ml.ml_line_count) in u_undoredo()
2931 curbuf->b_u_seq_cur = curhead->uh_seq; in u_undoredo()
2937 curbuf->b_u_seq_cur = curhead->uh_next.ptr->uh_seq; in u_undoredo()
2939 curbuf->b_u_seq_cur = 0; in u_undoredo()
2946 curbuf->b_u_save_nr_cur = curhead->uh_save_nr - 1; in u_undoredo()
2948 curbuf->b_u_save_nr_cur = curhead->uh_save_nr; in u_undoredo()
2953 curbuf->b_u_time_cur = curhead->uh_time; in u_undoredo()
2984 if (curbuf->b_ml.ml_flags & ML_EMPTY) in u_undo_end()
3005 if (curbuf->b_u_curhead != NULL) in u_undo_end()
3008 if (absolute && curbuf->b_u_curhead->uh_next.ptr != NULL) in u_undo_end()
3010 uhp = curbuf->b_u_curhead->uh_next.ptr; in u_undo_end()
3014 uhp = curbuf->b_u_curhead; in u_undo_end()
3016 uhp = curbuf->b_u_curhead->uh_next.ptr; in u_undo_end()
3019 uhp = curbuf->b_u_newhead; in u_undo_end()
3032 if (wp->w_buffer == curbuf && wp->w_p_cole > 0) in u_undo_end()
3054 if (curbuf->b_u_synced || (!force && no_u_sync > 0)) in u_sync()
3061 curbuf->b_u_synced = TRUE; // no entries, nothing to do in u_sync()
3065 curbuf->b_u_curhead = NULL; in u_sync()
3091 uhp = curbuf->b_u_oldhead; in ex_undolist()
3181 if (curbuf->b_u_newhead == NULL) in ex_undojoin()
3183 if (curbuf->b_u_curhead != NULL) in ex_undojoin()
3188 if (!curbuf->b_u_synced) in ex_undojoin()
3194 curbuf->b_u_synced = FALSE; in ex_undojoin()
3215 u_header_T *uhp = curbuf->b_u_newhead; in u_find_first_changed()
3219 if (curbuf->b_u_curhead != NULL || uhp == NULL) in u_find_first_changed()
3227 for (lnum = 1; lnum < curbuf->b_ml.ml_line_count in u_find_first_changed()
3230 char_u *p = ml_get_buf(curbuf, lnum, FALSE); in u_find_first_changed()
3232 if (uep->ue_array[lnum - 1].ul_len != curbuf->b_ml.ml_line_len in u_find_first_changed()
3240 if (curbuf->b_ml.ml_line_count != uep->ue_size) in u_find_first_changed()
3288 if (curbuf->b_u_newhead == NULL || curbuf->b_u_newhead->uh_entry == NULL) in u_get_headentry()
3293 return curbuf->b_u_newhead->uh_entry; in u_get_headentry()
3310 uep = curbuf->b_u_newhead->uh_getbot_entry; in u_getbot()
3318 extra = curbuf->b_ml.ml_line_count - uep->ue_lcount; in u_getbot()
3320 if (uep->ue_bot < 1 || uep->ue_bot > curbuf->b_ml.ml_line_count) in u_getbot()
3329 curbuf->b_u_newhead->uh_getbot_entry = NULL; in u_getbot()
3332 curbuf->b_u_synced = TRUE; in u_getbot()
3472 if (lnum == curbuf->b_u_line_lnum) // line is already saved in u_saveline()
3474 if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count) // should never happen in u_saveline()
3477 curbuf->b_u_line_lnum = lnum; in u_saveline()
3479 curbuf->b_u_line_colnr = curwin->w_cursor.col; in u_saveline()
3481 curbuf->b_u_line_colnr = 0; in u_saveline()
3482 if (u_save_line(&curbuf->b_u_line_ptr, lnum) == FAIL) in u_saveline()
3493 if (curbuf->b_u_line_ptr.ul_line != NULL) in u_clearline()
3495 VIM_CLEAR(curbuf->b_u_line_ptr.ul_line); in u_clearline()
3496 curbuf->b_u_line_ptr.ul_len = 0; in u_clearline()
3497 curbuf->b_u_line_lnum = 0; in u_clearline()
3516 if (curbuf->b_u_line_ptr.ul_line == NULL in u_undoline()
3517 || curbuf->b_u_line_lnum > curbuf->b_ml.ml_line_count) in u_undoline()
3524 if (u_savecommon(curbuf->b_u_line_lnum - 1, in u_undoline()
3525 curbuf->b_u_line_lnum + 1, (linenr_T)0, FALSE) == FAIL) in u_undoline()
3527 if (u_save_line(&oldp, curbuf->b_u_line_lnum) == FAIL) in u_undoline()
3532 ml_replace_len(curbuf->b_u_line_lnum, curbuf->b_u_line_ptr.ul_line, in u_undoline()
3533 curbuf->b_u_line_ptr.ul_len, TRUE, FALSE); in u_undoline()
3534 changed_bytes(curbuf->b_u_line_lnum, 0); in u_undoline()
3535 curbuf->b_u_line_ptr = oldp; in u_undoline()
3537 t = curbuf->b_u_line_colnr; in u_undoline()
3538 if (curwin->w_cursor.lnum == curbuf->b_u_line_lnum) in u_undoline()
3539 curbuf->b_u_line_colnr = curwin->w_cursor.col; in u_undoline()
3541 curwin->w_cursor.lnum = curbuf->b_u_line_lnum; in u_undoline()
3602 return bufIsChanged(curbuf); in curbufIsChanged()
3624 if (uhp == curbuf->b_u_newhead) in u_eval_tree()
3626 if (uhp == curbuf->b_u_curhead) in u_eval_tree()
3714 dict_add_number(dict, "synced", (long)curbuf->b_u_synced); in f_undotree()
3715 dict_add_number(dict, "seq_last", curbuf->b_u_seq_last); in f_undotree()
3716 dict_add_number(dict, "save_last", (long)curbuf->b_u_save_nr_last); in f_undotree()
3717 dict_add_number(dict, "seq_cur", curbuf->b_u_seq_cur); in f_undotree()
3718 dict_add_number(dict, "time_cur", (long)curbuf->b_u_time_cur); in f_undotree()
3719 dict_add_number(dict, "save_cur", (long)curbuf->b_u_save_nr_cur); in f_undotree()
3724 u_eval_tree(curbuf->b_u_oldhead, list); in f_undotree()