diff src/diff.c @ 9487:69ed2c9d34a6 v7.4.2024

commit https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 10 22:11:16 2016 +0200 patch 7.4.2024 Problem: More buf_valid() calls can be optimized. Solution: Use bufref_valid() instead.
author Christian Brabandt <cb@256bit.org>
date Sun, 10 Jul 2016 22:15:06 +0200
parents f094d4085014
children fd9727ae3c49
line wrap: on
line diff
--- a/src/diff.c
+++ b/src/diff.c
@@ -1069,8 +1069,9 @@ theend:
 ex_diffsplit(exarg_T *eap)
 {
     win_T	*old_curwin = curwin;
-    buf_T	*old_curbuf = curbuf;
+    bufref_T	old_curbuf;
 
+    set_bufref(&old_curbuf, curbuf);
 #ifdef FEAT_GUI
     need_mouse_correct = TRUE;
 #endif
@@ -1092,10 +1093,10 @@ ex_diffsplit(exarg_T *eap)
 	    {
 		diff_win_options(old_curwin, TRUE);
 
-		if (buf_valid(old_curbuf))
+		if (bufref_valid(&old_curbuf))
 		    /* Move the cursor position to that of the old window. */
 		    curwin->w_cursor.lnum = diff_get_corresponding_line(
-			    old_curbuf,
+			    old_curbuf.br_buf,
 			    old_curwin->w_cursor.lnum,
 			    curbuf,
 			    curwin->w_cursor.lnum);
@@ -1557,7 +1558,8 @@ diff_check(win_T *wp, linenr_T lnum)
 	    /* Compare all lines.  If they are equal the lines were inserted
 	     * in some buffers, deleted in others, but not changed. */
 	    for (i = 0; i < DB_COUNT; ++i)
-		if (i != idx && curtab->tp_diffbuf[i] != NULL && dp->df_count[i] != 0)
+		if (i != idx && curtab->tp_diffbuf[i] != NULL
+						      && dp->df_count[i] != 0)
 		    if (!diff_equal_entry(dp, idx, i))
 			return -1;
 	}