mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master'
This commit is contained in:
		@@ -32,10 +32,8 @@ if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
 | 
			
		||||
  echo "Upgrade Python 3 pip."
 | 
			
		||||
  pip3 -q install --user --upgrade pip
 | 
			
		||||
else
 | 
			
		||||
  if command -v pip3 ; then
 | 
			
		||||
    echo "Upgrade Python 3 pip."
 | 
			
		||||
    pip3 -q install --user --upgrade pip
 | 
			
		||||
  else
 | 
			
		||||
    echo 'warning: missing pip3'
 | 
			
		||||
  fi
 | 
			
		||||
  echo "Upgrade Python 3 pip."
 | 
			
		||||
  # Allow failure. pyenv pip3 on travis is broken:
 | 
			
		||||
  # https://github.com/travis-ci/travis-ci/issues/8363
 | 
			
		||||
  pip3 -q install --user --upgrade pip || true
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,9 @@ echo "Install neovim module and coveralls for Python 2."
 | 
			
		||||
CC=cc pip2.7 -q install --user --upgrade neovim cpp-coveralls
 | 
			
		||||
 | 
			
		||||
echo "Install neovim module for Python 3."
 | 
			
		||||
CC=cc pip3 -q install --user --upgrade neovim
 | 
			
		||||
# Allow failure. pyenv pip3 on travis is broken:
 | 
			
		||||
# https://github.com/travis-ci/travis-ci/issues/8363
 | 
			
		||||
CC=cc pip3 -q install --user --upgrade neovim || true
 | 
			
		||||
 | 
			
		||||
echo "Install neovim RubyGem."
 | 
			
		||||
gem install --no-document --version ">= 0.2.0" neovim
 | 
			
		||||
 
 | 
			
		||||
@@ -6747,6 +6747,8 @@ static void fill_assert_error(garray_T *gap, typval_T *opt_msg_tv,
 | 
			
		||||
  } else {
 | 
			
		||||
    if (atype == ASSERT_MATCH || atype == ASSERT_NOTMATCH) {
 | 
			
		||||
      ga_concat(gap, (char_u *)"Pattern ");
 | 
			
		||||
    } else if (atype == ASSERT_NOTEQUAL) {
 | 
			
		||||
      ga_concat(gap, (char_u *)"Expected not equal to ");
 | 
			
		||||
    } else {
 | 
			
		||||
      ga_concat(gap, (char_u *)"Expected ");
 | 
			
		||||
    }
 | 
			
		||||
@@ -6757,18 +6759,18 @@ static void fill_assert_error(garray_T *gap, typval_T *opt_msg_tv,
 | 
			
		||||
    } else {
 | 
			
		||||
      ga_concat(gap, exp_str);
 | 
			
		||||
    }
 | 
			
		||||
    tofree = (char_u *)encode_tv2string(got_tv, NULL);
 | 
			
		||||
    if (atype == ASSERT_MATCH) {
 | 
			
		||||
      ga_concat(gap, (char_u *)" does not match ");
 | 
			
		||||
    } else if (atype == ASSERT_NOTMATCH) {
 | 
			
		||||
      ga_concat(gap, (char_u *)" does match ");
 | 
			
		||||
    } else if (atype == ASSERT_NOTEQUAL) {
 | 
			
		||||
      ga_concat(gap, (char_u *)" differs from ");
 | 
			
		||||
    } else {
 | 
			
		||||
      ga_concat(gap, (char_u *)" but got ");
 | 
			
		||||
    if (atype != ASSERT_NOTEQUAL) {
 | 
			
		||||
      if (atype == ASSERT_MATCH) {
 | 
			
		||||
        ga_concat(gap, (char_u *)" does not match ");
 | 
			
		||||
      } else if (atype == ASSERT_NOTMATCH) {
 | 
			
		||||
        ga_concat(gap, (char_u *)" does match ");
 | 
			
		||||
      } else {
 | 
			
		||||
        ga_concat(gap, (char_u *)" but got ");
 | 
			
		||||
      }
 | 
			
		||||
      tofree = (char_u *)encode_tv2string(got_tv, NULL);
 | 
			
		||||
      ga_concat(gap, tofree);
 | 
			
		||||
      xfree(tofree);
 | 
			
		||||
    }
 | 
			
		||||
    ga_concat(gap, tofree);
 | 
			
		||||
    xfree(tofree);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1942,8 +1942,11 @@ void do_pending_operator(cmdarg_T *cap, int old_col, bool gui_yank)
 | 
			
		||||
         * the lines. */
 | 
			
		||||
        auto_format(false, true);
 | 
			
		||||
 | 
			
		||||
        if (restart_edit == 0)
 | 
			
		||||
        if (restart_edit == 0) {
 | 
			
		||||
          restart_edit = restart_edit_save;
 | 
			
		||||
        } else {
 | 
			
		||||
          cap->retval |= CA_COMMAND_BUSY;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2060,7 +2060,7 @@ void op_insert(oparg_T *oap, long count1)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  t1 = oap->start;
 | 
			
		||||
  edit(NUL, false, (linenr_T)count1);
 | 
			
		||||
  (void)edit(NUL, false, (linenr_T)count1);
 | 
			
		||||
 | 
			
		||||
  // When a tab was inserted, and the characters in front of the tab
 | 
			
		||||
  // have been converted to a tab as well, the column of the cursor
 | 
			
		||||
 
 | 
			
		||||
@@ -15,3 +15,16 @@ func Test_block_shift_multibyte()
 | 
			
		||||
  call assert_equal('	ヹxxx', getline(2))
 | 
			
		||||
  q!
 | 
			
		||||
endfunc
 | 
			
		||||
 | 
			
		||||
func Test_Visual_ctrl_o()
 | 
			
		||||
  new
 | 
			
		||||
  call setline(1, ['one', 'two', 'three'])
 | 
			
		||||
  call cursor(1,2)
 | 
			
		||||
  set noshowmode
 | 
			
		||||
  set tw=0
 | 
			
		||||
  call feedkeys("\<c-v>jjlIa\<c-\>\<c-o>:set tw=88\<cr>\<esc>", 'tx')
 | 
			
		||||
  call assert_equal(['oane', 'tawo', 'tahree'], getline(1, 3))
 | 
			
		||||
  call assert_equal(88, &tw)
 | 
			
		||||
  set tw&
 | 
			
		||||
  bw!
 | 
			
		||||
endfu
 | 
			
		||||
 
 | 
			
		||||
@@ -661,7 +661,7 @@ static const int included_patches[] = {
 | 
			
		||||
  // 294,
 | 
			
		||||
  // 293,
 | 
			
		||||
  // 292,
 | 
			
		||||
  // 291,
 | 
			
		||||
  291,
 | 
			
		||||
  290,
 | 
			
		||||
  // 289,
 | 
			
		||||
  // 288 NA
 | 
			
		||||
@@ -670,7 +670,7 @@ static const int included_patches[] = {
 | 
			
		||||
  // 285 NA
 | 
			
		||||
  // 284 NA
 | 
			
		||||
  // 283,
 | 
			
		||||
  // 282,
 | 
			
		||||
  282,
 | 
			
		||||
  // 281 NA
 | 
			
		||||
  280,
 | 
			
		||||
  // 279 NA
 | 
			
		||||
@@ -766,7 +766,7 @@ static const int included_patches[] = {
 | 
			
		||||
  // 189,
 | 
			
		||||
  188,
 | 
			
		||||
  // 187 NA
 | 
			
		||||
  // 186,
 | 
			
		||||
  186,
 | 
			
		||||
  // 185,
 | 
			
		||||
  // 184,
 | 
			
		||||
  // 183,
 | 
			
		||||
 
 | 
			
		||||
@@ -89,7 +89,7 @@ describe('assert function:', function()
 | 
			
		||||
 | 
			
		||||
    it('should change v:errors when expected is equal to actual', function()
 | 
			
		||||
      call('assert_notequal', 'foo', 'foo')
 | 
			
		||||
      expected_errors({"Expected 'foo' differs from 'foo'"})
 | 
			
		||||
      expected_errors({"Expected not equal to 'foo'"})
 | 
			
		||||
    end)
 | 
			
		||||
  end)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user