diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/api/private/defs.h | 3 | ||||
| -rw-r--r-- | src/nvim/api/private/helpers.c | 5 | ||||
| -rw-r--r-- | src/nvim/api/private/helpers.h | 6 | ||||
| -rw-r--r-- | src/nvim/api/window.c | 4 | ||||
| -rw-r--r-- | src/nvim/buffer_defs.h | 8 | ||||
| -rw-r--r-- | src/nvim/msgpack_rpc/helpers.c | 19 | ||||
| -rw-r--r-- | src/nvim/option.c | 55 | ||||
| -rw-r--r-- | src/nvim/option_defs.h | 70 | 
8 files changed, 83 insertions, 87 deletions
| diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h index 1d5ecd3071..223aab09dc 100644 --- a/src/nvim/api/private/defs.h +++ b/src/nvim/api/private/defs.h @@ -91,9 +91,6 @@ typedef enum {  struct object {    ObjectType type;    union { -    Buffer buffer; -    Window window; -    Tabpage tabpage;      Boolean boolean;      Integer integer;      Float floating; diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 208c3b53c8..bd83b1ff1d 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -616,13 +616,14 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err)      case kObjectTypeWindow:      case kObjectTypeTabpage:      case kObjectTypeInteger: -      if (obj.data.integer > INT_MAX || obj.data.integer < INT_MIN) { +      if (obj.data.integer > VARNUMBER_MAX +          || obj.data.integer < VARNUMBER_MIN) {          api_set_error(err, Validation, _("Integer value outside range"));          return false;        }        tv->v_type = VAR_NUMBER; -      tv->vval.v_number = (int)obj.data.integer; +      tv->vval.v_number = (varnumber_T)obj.data.integer;        break;      case kObjectTypeFloat: diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index a946e35149..9fe8c351cf 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -37,15 +37,15 @@  #define BUFFER_OBJ(s) ((Object) { \      .type = kObjectTypeBuffer, \ -    .data.buffer = s }) +    .data.integer = s })  #define WINDOW_OBJ(s) ((Object) { \      .type = kObjectTypeWindow, \ -    .data.window = s }) +    .data.integer = s })  #define TABPAGE_OBJ(s) ((Object) { \      .type = kObjectTypeTabpage, \ -    .data.tabpage = s }) +    .data.integer = s })  #define ARRAY_OBJ(a) ((Object) { \      .type = kObjectTypeArray, \ diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index ef881fa0eb..1f555a6a05 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -348,7 +348,7 @@ Tabpage nvim_win_get_tabpage(Window window, Error *err)  /// @return Window number  Integer nvim_win_get_number(Window window, Error *err)  { -  Integer rv = 0; +  int rv = 0;    win_T *win = find_window_by_handle(window, err);    if (!win) { @@ -356,7 +356,7 @@ Integer nvim_win_get_number(Window window, Error *err)    }    int tabnr; -  win_get_tabwin(window, &tabnr, (int *)&rv); +  win_get_tabwin(window, &tabnr, &rv);    return rv;  } diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index ab5987612c..2e6316c74a 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -488,9 +488,9 @@ struct file_buffer {    bool file_id_valid;    FileID file_id; -  bool b_changed;               /* 'modified': Set to true if something in the -                                   file has been changed and not written out. */ -  int b_changedtick;            /* incremented for each change, also for undo */ +  int b_changed;                // 'modified': Set to true if something in the +                                // file has been changed and not written out. +  int b_changedtick;            // incremented for each change, also for undo    bool b_saving;                /* Set to true if we are in the middle of                                     saving the buffer. */ @@ -655,7 +655,7 @@ struct file_buffer {    long b_p_sts;                 ///< 'softtabstop'    long b_p_sts_nopaste;         ///< b_p_sts saved for paste mode    char_u *b_p_sua;              ///< 'suffixesadd' -  bool b_p_swf;                 ///< 'swapfile' +  int b_p_swf;                  ///< 'swapfile'    long b_p_smc;                 ///< 'synmaxcol'    char_u *b_p_syn;              ///< 'syntax'    long b_p_ts;                  ///< 'tabstop' diff --git a/src/nvim/msgpack_rpc/helpers.c b/src/nvim/msgpack_rpc/helpers.c index 14e1c2d978..c3a909692f 100644 --- a/src/nvim/msgpack_rpc/helpers.c +++ b/src/nvim/msgpack_rpc/helpers.c @@ -21,7 +21,8 @@ static msgpack_zone zone;  static msgpack_sbuffer sbuffer;  #define HANDLE_TYPE_CONVERSION_IMPL(t, lt) \ -  bool msgpack_rpc_to_##lt(const msgpack_object *const obj, t *const arg) \ +  bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \ +                           Integer *const arg) \      FUNC_ATTR_NONNULL_ALL \    { \      if (obj->type != MSGPACK_OBJECT_EXT \ @@ -44,12 +45,12 @@ static msgpack_sbuffer sbuffer;      return true; \    } \    \ -  void msgpack_rpc_from_##lt(t o, msgpack_packer *res) \ +  void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \      FUNC_ATTR_NONNULL_ARG(2) \    { \      msgpack_packer pac; \      msgpack_packer_init(&pac, &sbuffer, msgpack_sbuffer_write); \ -    msgpack_pack_int64(&pac, o); \ +    msgpack_pack_int64(&pac, (handle_T)o); \      msgpack_pack_ext(res, sbuffer.size, kObjectType##t); \      msgpack_pack_ext_body(res, sbuffer.data, sbuffer.size); \      msgpack_sbuffer_clear(&sbuffer); \ @@ -213,17 +214,17 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg)          switch (cur.mobj->via.ext.type) {            case kObjectTypeBuffer: {              cur.aobj->type = kObjectTypeBuffer; -            ret = msgpack_rpc_to_buffer(cur.mobj, &cur.aobj->data.buffer); +            ret = msgpack_rpc_to_buffer(cur.mobj, &cur.aobj->data.integer);              break;            }            case kObjectTypeWindow: {              cur.aobj->type = kObjectTypeWindow; -            ret = msgpack_rpc_to_window(cur.mobj, &cur.aobj->data.window); +            ret = msgpack_rpc_to_window(cur.mobj, &cur.aobj->data.integer);              break;            }            case kObjectTypeTabpage: {              cur.aobj->type = kObjectTypeTabpage; -            ret = msgpack_rpc_to_tabpage(cur.mobj, &cur.aobj->data.tabpage); +            ret = msgpack_rpc_to_tabpage(cur.mobj, &cur.aobj->data.integer);              break;            }          } @@ -369,15 +370,15 @@ void msgpack_rpc_from_object(const Object result, msgpack_packer *const res)          break;        }        case kObjectTypeBuffer: { -        msgpack_rpc_from_buffer(cur.aobj->data.buffer, res); +        msgpack_rpc_from_buffer(cur.aobj->data.integer, res);          break;        }        case kObjectTypeWindow: { -        msgpack_rpc_from_window(cur.aobj->data.window, res); +        msgpack_rpc_from_window(cur.aobj->data.integer, res);          break;        }        case kObjectTypeTabpage: { -        msgpack_rpc_from_tabpage(cur.aobj->data.tabpage, res); +        msgpack_rpc_from_tabpage(cur.aobj->data.integer, res);          break;        }        case kObjectTypeArray: { diff --git a/src/nvim/option.c b/src/nvim/option.c index 81919c00d2..a255165e32 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -2527,7 +2527,7 @@ did_set_string_option (    else if (varp == &p_sbo) {      if (check_opt_strings(p_sbo, p_scbopt_values, TRUE) != OK)        errmsg = e_invarg; -  } else if (varp == &p_ambw || (bool *)varp == &p_emoji) { +  } else if (varp == &p_ambw || (int *)varp == &p_emoji) {      // 'ambiwidth'      if (check_opt_strings(p_ambw, p_ambw_values, false) != OK) {        errmsg = e_invarg; @@ -3706,23 +3706,19 @@ set_bool_option (          }        }      } -  } - -  /* -   * When 'lisp' option changes include/exclude '-' in -   * keyword characters. -   */ -  else if (varp == (char_u *)&(curbuf->b_p_lisp)) { -    (void)buf_init_chartab(curbuf, FALSE);          /* ignore errors */ -  } -  /* when 'title' changed, may need to change the title; same for 'icon' */ -  else if ((int *)varp == &p_title) { -    did_set_title(FALSE); +  } else if (varp == (char_u *)&(curbuf->b_p_lisp)) { +    // When 'lisp' option changes include/exclude '-' in +    // keyword characters. +    (void)buf_init_chartab(curbuf, false);          // ignore errors +  } else if ((int *)varp == &p_title) { +    // when 'title' changed, may need to change the title; same for 'icon' +    did_set_title(false);    } else if ((int *)varp == &p_icon) { -    did_set_title(TRUE); -  } else if ((bool *)varp == &curbuf->b_changed) { -    if (!value) -      save_file_ff(curbuf);             /* Buffer is unchanged */ +    did_set_title(true); +  } else if ((int *)varp == &curbuf->b_changed) { +    if (!value) { +      save_file_ff(curbuf);             // Buffer is unchanged +    }      redraw_titles();      modified_was_set = value;    } @@ -3750,11 +3746,12 @@ set_bool_option (    else if ((int *)varp == &curwin->w_p_wrap) {      if (curwin->w_p_wrap)        curwin->w_leftcol = 0; -  } else if ((bool *)varp == &p_ea) { -    if (p_ea && !old_value) +  } else if ((int *)varp == &p_ea) { +    if (p_ea && !old_value) {        win_equal(curwin, false, 0); -  } else if ((bool *)varp == &p_acd) { -    /* Change directories when the 'acd' option is set now. */ +    } +  } else if ((int *)varp == &p_acd) { +    // Change directories when the 'acd' option is set now.      do_autochdir();    }    /* 'diff' */ @@ -4513,10 +4510,11 @@ get_option_value (    else {      /* Special case: 'modified' is b_changed, but we also want to consider       * it set when 'ff' or 'fenc' changed. */ -    if ((bool *)varp == &curbuf->b_changed) +    if ((int *)varp == &curbuf->b_changed) {        *numval = curbufIsChanged(); -    else +    } else {        *numval = *(int *)varp; +    }    }    return 1;  } @@ -4884,14 +4882,15 @@ showoneopt (    varp = get_varp_scope(p, opt_flags); -  /* for 'modified' we also need to check if 'ff' or 'fenc' changed. */ -  if ((p->flags & P_BOOL) && ((bool *)varp == &curbuf->b_changed -                              ? !curbufIsChanged() : !*(bool *)varp)) +  // for 'modified' we also need to check if 'ff' or 'fenc' changed. +  if ((p->flags & P_BOOL) && ((int *)varp == &curbuf->b_changed +                              ? !curbufIsChanged() : !*(int *)varp)) {      MSG_PUTS("no"); -  else if ((p->flags & P_BOOL) && *(int *)varp < 0) +  } else if ((p->flags & P_BOOL) && *(int *)varp < 0) {      MSG_PUTS("--"); -  else +  } else {      MSG_PUTS("  "); +  }    MSG_PUTS(p->fullname);    if (!(p->flags & P_BOOL)) {      msg_putchar('='); diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index fdfcd1f428..8af6f2194f 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -1,8 +1,6 @@  #ifndef NVIM_OPTION_DEFS_H  #define NVIM_OPTION_DEFS_H -#include <stdbool.h> -  #include "nvim/types.h"  #include "nvim/macros.h"  // For EXTERN @@ -296,16 +294,16 @@ enum {   * The following are actual variables for the options   */ -EXTERN long p_aleph;            /* 'aleph' */ -EXTERN bool p_acd;              /* 'autochdir' */ -EXTERN char_u   *p_ambw;        /* 'ambiwidth' */ -EXTERN int p_ar;                /* 'autoread' */ -EXTERN int p_aw;                /* 'autowrite' */ -EXTERN int p_awa;               /* 'autowriteall' */ -EXTERN char_u   *p_bs;          /* 'backspace' */ -EXTERN char_u   *p_bg;          /* 'background' */ -EXTERN int p_bk;                /* 'backup' */ -EXTERN char_u   *p_bkc;         /* 'backupcopy' */ +EXTERN long p_aleph;            // 'aleph' +EXTERN int p_acd;               // 'autochdir' +EXTERN char_u   *p_ambw;        // 'ambiwidth' +EXTERN int p_ar;                // 'autoread' +EXTERN int p_aw;                // 'autowrite' +EXTERN int p_awa;               // 'autowriteall' +EXTERN char_u   *p_bs;          // 'backspace' +EXTERN char_u   *p_bg;          // 'background' +EXTERN int p_bk;                // 'backup' +EXTERN char_u   *p_bkc;         // 'backupcopy'  EXTERN unsigned int bkc_flags;  ///< flags from 'backupcopy'  #ifdef IN_OPTION_C  static char *(p_bkc_values[]) = @@ -403,9 +401,9 @@ static char *(p_dy_values[]) = { "lastline", "truncate", "uhex", NULL };  #define DY_TRUNCATE             0x002  #define DY_UHEX                 0x004  EXTERN int p_ed;                // 'edcompatible' -EXTERN bool p_emoji;            // 'emoji' +EXTERN int p_emoji;             // 'emoji'  EXTERN char_u   *p_ead;         // 'eadirection' -EXTERN bool p_ea;               // 'equalalways' +EXTERN int p_ea;                // 'equalalways'  EXTERN char_u   *p_ep;          // 'equalprg'  EXTERN int p_eb;                // 'errorbells'  EXTERN char_u   *p_ef;          // 'errorfile' @@ -417,7 +415,7 @@ EXTERN int p_ek;                // 'esckeys'  EXTERN int p_exrc;              // 'exrc'  EXTERN char_u   *p_fencs;       // 'fileencodings'  EXTERN char_u   *p_ffs;         // 'fileformats' -EXTERN bool p_fic;              // 'fileignorecase' +EXTERN int p_fic;               // 'fileignorecase'  EXTERN char_u   *p_fcl;         // 'foldclose'  EXTERN long p_fdls;             // 'foldlevelstart'  EXTERN char_u   *p_fdo;         // 'foldopen' @@ -622,7 +620,7 @@ EXTERN long p_titlelen;         ///< 'titlelen'  EXTERN char_u *p_titleold;      ///< 'titleold'  EXTERN char_u *p_titlestring;   ///< 'titlestring'  EXTERN char_u *p_tsr;           ///< 'thesaurus' -EXTERN bool p_tgc;              ///< 'termguicolors' +EXTERN int p_tgc;               ///< 'termguicolors'  EXTERN int p_ttimeout;          ///< 'ttimeout'  EXTERN long p_ttm;              ///< 'ttimeoutlen'  EXTERN char_u *p_udir;          ///< 'undodir' @@ -651,26 +649,26 @@ char_u  *p_vfile = (char_u *)""; /* used before options are initialized */  #else  extern char_u   *p_vfile;       /* 'verbosefile' */  #endif -EXTERN int p_warn;              /* 'warn' */ -EXTERN char_u   *p_wop;         /* 'wildoptions' */ -EXTERN long p_window;           /* 'window' */ -EXTERN char_u   *p_wak;         /* 'winaltkeys' */ -EXTERN char_u   *p_wig;         /* 'wildignore' */ -EXTERN char_u   *p_ww;          /* 'whichwrap' */ -EXTERN long p_wc;               /* 'wildchar' */ -EXTERN long p_wcm;              /* 'wildcharm' */ -EXTERN bool p_wic;              ///< 'wildignorecase' -EXTERN char_u   *p_wim;         /* 'wildmode' */ -EXTERN int p_wmnu;              /* 'wildmenu' */ -EXTERN long p_wh;               /* 'winheight' */ -EXTERN long p_wmh;              /* 'winminheight' */ -EXTERN long p_wmw;              /* 'winminwidth' */ -EXTERN long p_wiw;              /* 'winwidth' */ -EXTERN bool p_ws;               /* 'wrapscan' */ -EXTERN int p_write;             /* 'write' */ -EXTERN int p_wa;                /* 'writeany' */ -EXTERN int p_wb;                /* 'writebackup' */ -EXTERN long p_wd;               /* 'writedelay' */ +EXTERN int p_warn;              // 'warn' +EXTERN char_u   *p_wop;         // 'wildoptions' +EXTERN long p_window;           // 'window' +EXTERN char_u   *p_wak;         // 'winaltkeys' +EXTERN char_u   *p_wig;         // 'wildignore' +EXTERN char_u   *p_ww;          // 'whichwrap' +EXTERN long p_wc;               // 'wildchar' +EXTERN long p_wcm;              // 'wildcharm' +EXTERN int p_wic;               // 'wildignorecase' +EXTERN char_u   *p_wim;         // 'wildmode' +EXTERN int p_wmnu;              // 'wildmenu' +EXTERN long p_wh;               // 'winheight' +EXTERN long p_wmh;              // 'winminheight' +EXTERN long p_wmw;              // 'winminwidth' +EXTERN long p_wiw;              // 'winwidth' +EXTERN int p_ws;                // 'wrapscan' +EXTERN int p_write;             // 'write' +EXTERN int p_wa;                // 'writeany' +EXTERN int p_wb;                // 'writebackup' +EXTERN long p_wd;               // 'writedelay'  EXTERN int p_force_on;          ///< options that cannot be turned off.  EXTERN int p_force_off;         ///< options that cannot be turned on. | 
