diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2018-07-01 15:29:20 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-01 15:29:20 +0200 | 
| commit | ef9ef75a7b1e29002745d596e31a1d5ecff1be89 (patch) | |
| tree | 11026785224fb64c4a524f87d66a1ef71ec30db7 /src/nvim/charset.c | |
| parent | 22d95e462ec32e1b6c28b310e80c9c001edc0fe1 (diff) | |
| parent | 3e4a058b01db779e087eaf97826cee545de2a923 (diff) | |
| download | rneovim-ef9ef75a7b1e29002745d596e31a1d5ecff1be89.tar.gz rneovim-ef9ef75a7b1e29002745d596e31a1d5ecff1be89.tar.bz2 rneovim-ef9ef75a7b1e29002745d596e31a1d5ecff1be89.zip | |
Merge #8635 from janlazo/vim-8.0.0252
Diffstat (limited to 'src/nvim/charset.c')
| -rw-r--r-- | src/nvim/charset.c | 23 | 
1 files changed, 11 insertions, 12 deletions
| diff --git a/src/nvim/charset.c b/src/nvim/charset.c index 99ced6c8c2..ab20996df7 100644 --- a/src/nvim/charset.c +++ b/src/nvim/charset.c @@ -826,7 +826,7 @@ bool vim_isIDc(int c)  /// For multi-byte characters mb_get_class() is used (builtin rules).  ///  /// @param  c  character to check -bool vim_iswordc(int c) +bool vim_iswordc(const int c)    FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT  {    return vim_iswordc_buf(c, curbuf); @@ -842,7 +842,7 @@ bool vim_iswordc_tab(const int c, const uint64_t *const chartab)    FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL  {    return (c >= 0x100 -          ? (utf_class(c) >= 2) +          ? (utf_class_tab(c, chartab) >= 2)            : (c > 0 && GET_CHARTAB_TAB(chartab, c) != 0));  } @@ -852,7 +852,7 @@ bool vim_iswordc_tab(const int c, const uint64_t *const chartab)  ///  /// @param  c    character to check  /// @param  buf  buffer whose keywords to use -bool vim_iswordc_buf(int c, buf_T *buf) +bool vim_iswordc_buf(const int c, buf_T *const buf)    FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ARG(2)  {    return vim_iswordc_tab(c, buf->b_chartab); @@ -863,13 +863,10 @@ bool vim_iswordc_buf(int c, buf_T *buf)  /// @param  p  pointer to the multi-byte character  ///  /// @return true if "p" points to a keyword character. -bool vim_iswordp(char_u *p) +bool vim_iswordp(const char_u *const p)    FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL  { -  if (MB_BYTE2LEN(*p) > 1) { -    return mb_get_class(p) >= 2; -  } -  return GET_CHARTAB(curbuf, *p) != 0; +  return vim_iswordp_buf(p, curbuf);  }  /// Just like vim_iswordc_buf() but uses a pointer to the (multi-byte) @@ -879,13 +876,15 @@ bool vim_iswordp(char_u *p)  /// @param  buf  buffer whose keywords to use  ///  /// @return true if "p" points to a keyword character. -bool vim_iswordp_buf(char_u *p, buf_T *buf) +bool vim_iswordp_buf(const char_u *const p, buf_T *const buf)    FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL  { -  if (MB_BYTE2LEN(*p) > 1) { -    return mb_get_class(p) >= 2; +  int c = *p; + +  if (MB_BYTE2LEN(c) > 1) { +    c = utf_ptr2char(p);    } -  return GET_CHARTAB(buf, *p) != 0; +  return vim_iswordc_buf(c, buf);  }  /// Check that "c" is a valid file-name character. | 
