]> granicus.if.org Git - vim/commitdiff
patch 8.2.0013: not using a typedef for condstack v8.2.0013
authorBram Moolenaar <Bram@vim.org>
Mon, 16 Dec 2019 16:10:33 +0000 (17:10 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 16 Dec 2019 16:10:33 +0000 (17:10 +0100)
Problem:    Not using a typedef for condstack.
Solution:   Add a typedef.

src/ex_cmds.h
src/ex_docmd.c
src/ex_eval.c
src/proto/ex_eval.pro
src/structs.h
src/userfunc.c
src/version.c

index 983378ccc2b8feec7d6914fa375b6f45e1a80add..14b43bda4410dc557f1430aa3ef6192839628bb7 100644 (file)
@@ -1841,7 +1841,7 @@ struct exarg
     char_u     *(*getline)(int, void *, int, int);
     void       *cookie;        // argument for getline()
 #ifdef FEAT_EVAL
-    struct condstack *cstack;  // condition stack for ":if" etc.
+    cstack_T   *cstack;        // condition stack for ":if" etc.
 #endif
     long       verbose_save;    // saved value of p_verbose
     int                save_msg_silent; // saved value of msg_silent
index fb07450f80907559a12823cbfa152744a0eebec0..ba51640664ba700bfd2414e231332f9838dbe312 100644 (file)
@@ -20,7 +20,7 @@ static int    ex_pressedreturn = FALSE;
 #endif
 
 #ifdef FEAT_EVAL
-static char_u  *do_one_cmd(char_u **, int, struct condstack *, char_u *(*fgetline)(int, void *, int, int), void *cookie);
+static char_u  *do_one_cmd(char_u **, int, cstack_T *, char_u *(*fgetline)(int, void *, int, int), void *cookie);
 #else
 static char_u  *do_one_cmd(char_u **, int, char_u *(*fgetline)(int, void *, int, int), void *cookie);
 static int     if_level = 0;           // depth in :if
@@ -623,7 +623,7 @@ do_cmdline(
     int                did_inc = FALSE;        // incremented RedrawingDisabled
     int                retval = OK;
 #ifdef FEAT_EVAL
-    struct condstack cstack;           // conditional stack
+    cstack_T   cstack;                 // conditional stack
     garray_T   lines_ga;               // keep lines for ":while"/":for"
     int                current_line = 0;       // active line in lines_ga
     char_u     *fname = NULL;          // function or script name
@@ -671,7 +671,7 @@ do_cmdline(
 #ifdef FEAT_EVAL
        // When converting to an exception, we do not include the command name
        // since this is not an error of the specific command.
-       do_errthrow((struct condstack *)NULL, (char_u *)NULL);
+       do_errthrow((cstack_T *)NULL, (char_u *)NULL);
        msg_list = saved_msg_list;
 #endif
        return FAIL;
@@ -1628,25 +1628,25 @@ current_tab_nr(tabpage_T *tab)
 #endif
     static char_u *
 do_one_cmd(
-    char_u             **cmdlinep,
-    int                        sourcing,
+    char_u     **cmdlinep,
+    int                sourcing,
 #ifdef FEAT_EVAL
-    struct condstack   *cstack,
-#endif
-    char_u             *(*fgetline)(int, void *, int, int),
-    void               *cookie)                // argument for fgetline()
-{
-    char_u             *p;
-    linenr_T           lnum;
-    long               n;
-    char               *errormsg = NULL;       // error message
-    char_u             *after_modifier = NULL;
-    exarg_T            ea;                     // Ex command arguments
-    int                        save_msg_scroll = msg_scroll;
-    cmdmod_T           save_cmdmod;
-    int                        save_reg_executing = reg_executing;
-    int                        ni;                     // set when Not Implemented
-    char_u             *cmd;
+    cstack_T   *cstack,
+#endif
+    char_u     *(*fgetline)(int, void *, int, int),
+    void       *cookie)                // argument for fgetline()
+{
+    char_u     *p;
+    linenr_T   lnum;
+    long       n;
+    char       *errormsg = NULL;       // error message
+    char_u     *after_modifier = NULL;
+    exarg_T    ea;                     // Ex command arguments
+    int                save_msg_scroll = msg_scroll;
+    cmdmod_T   save_cmdmod;
+    int                save_reg_executing = reg_executing;
+    int                ni;                     // set when Not Implemented
+    char_u     *cmd;
 
     vim_memset(&ea, 0, sizeof(ea));
     ea.line1 = 1;
index 645b27d8c89b560d85816f232668f7091c8eacbb..4d76572dcc94fa96904add94e7c9763842bdeac1 100644 (file)
@@ -16,7 +16,7 @@
 #if defined(FEAT_EVAL) || defined(PROTO)
 
 static int     throw_exception(void *, except_type_T, char_u *);
-static char    *get_end_emsg(struct condstack *cstack);
+static char    *get_end_emsg(cstack_T *cstack);
 
 /*
  * Exception handling terms:
@@ -330,7 +330,7 @@ free_global_msglist(void)
  * has returned (see do_one_cmd()).
  */
     void
-do_errthrow(struct condstack *cstack, char_u *cmdname)
+do_errthrow(cstack_T *cstack, char_u *cmdname)
 {
     /*
      * Ensure that all commands in nested function calls and sourced files
@@ -365,7 +365,7 @@ do_errthrow(struct condstack *cstack, char_u *cmdname)
  * FALSE otherwise.
  */
     int
-do_intthrow(struct condstack *cstack)
+do_intthrow(cstack_T *cstack)
 {
     /*
      * If no interrupt occurred or no try conditional is active and no exception
@@ -892,7 +892,7 @@ ex_if(exarg_T *eap)
     int                error;
     int                skip;
     int                result;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_idx == CSTACK_LEN - 1)
        eap->errmsg = N_("E579: :if nesting too deep");
@@ -960,7 +960,7 @@ ex_else(exarg_T *eap)
     int                error;
     int                skip;
     int                result;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     /*
      * Don't do something after an error, interrupt, or throw, or when there is
@@ -1051,7 +1051,7 @@ ex_while(exarg_T *eap)
     int                error;
     int                skip;
     int                result;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_idx == CSTACK_LEN - 1)
        eap->errmsg = N_("E585: :while/:for nesting too deep");
@@ -1148,7 +1148,7 @@ ex_while(exarg_T *eap)
 ex_continue(exarg_T *eap)
 {
     int                idx;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_looplevel <= 0 || cstack->cs_idx < 0)
        eap->errmsg = N_("E586: :continue without :while or :for");
@@ -1186,7 +1186,7 @@ ex_continue(exarg_T *eap)
 ex_break(exarg_T *eap)
 {
     int                idx;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_looplevel <= 0 || cstack->cs_idx < 0)
        eap->errmsg = N_("E587: :break without :while or :for");
@@ -1211,11 +1211,11 @@ ex_break(exarg_T *eap)
     void
 ex_endwhile(exarg_T *eap)
 {
-    struct condstack   *cstack = eap->cstack;
-    int                        idx;
-    char               *err;
-    int                        csf;
-    int                        fl;
+    cstack_T   *cstack = eap->cstack;
+    int                idx;
+    char       *err;
+    int                csf;
+    int                fl;
 
     if (eap->cmdidx == CMD_endwhile)
     {
@@ -1325,7 +1325,7 @@ ex_throw(exarg_T *eap)
  * used for rethrowing an uncaught exception.
  */
     void
-do_throw(struct condstack *cstack)
+do_throw(cstack_T *cstack)
 {
     int                idx;
     int                inactivate_try = FALSE;
@@ -1409,7 +1409,7 @@ do_throw(struct condstack *cstack)
 ex_try(exarg_T *eap)
 {
     int                skip;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_idx == CSTACK_LEN - 1)
        eap->errmsg = N_("E601: :try nesting too deep");
@@ -1486,7 +1486,7 @@ ex_catch(exarg_T *eap)
     char_u     *save_cpo;
     regmatch_T regmatch;
     int                prev_got_int;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
     char_u     *pat;
 
     if (cstack->cs_trylevel <= 0 || cstack->cs_idx < 0)
@@ -1644,7 +1644,7 @@ ex_finally(exarg_T *eap)
     int                idx;
     int                skip = FALSE;
     int                pending = CSTP_NONE;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_trylevel <= 0 || cstack->cs_idx < 0)
        eap->errmsg = N_("E606: :finally without :try");
@@ -1773,7 +1773,7 @@ ex_endtry(exarg_T *eap)
     int                rethrow = FALSE;
     int                pending = CSTP_NONE;
     void       *rettv = NULL;
-    struct condstack   *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (cstack->cs_trylevel <= 0 || cstack->cs_idx < 0)
        eap->errmsg = N_("E602: :endtry without :try");
@@ -2113,7 +2113,7 @@ leave_cleanup(cleanup_T *csp)
  */
     int
 cleanup_conditionals(
-    struct condstack   *cstack,
+    cstack_T   *cstack,
     int                searched_cond,
     int                inclusive)
 {
@@ -2235,7 +2235,7 @@ cleanup_conditionals(
  * Return an appropriate error message for a missing endwhile/endfor/endif.
  */
    static char *
-get_end_emsg(struct condstack *cstack)
+get_end_emsg(cstack_T *cstack)
 {
     if (cstack->cs_flags[cstack->cs_idx] & CSF_WHILE)
        return e_endwhile;
@@ -2254,7 +2254,7 @@ get_end_emsg(struct condstack *cstack)
  */
     void
 rewind_conditionals(
-    struct condstack   *cstack,
+    cstack_T   *cstack,
     int                idx,
     int                cond_type,
     int                *cond_level)
index 2b6bdc6b4faaecd8514eba5cd30f9307f943177d..bd68eeaba764892d423782dce565eaa1117d111c 100644 (file)
@@ -5,8 +5,8 @@ int should_abort(int retcode);
 int aborted_in_try(void);
 int cause_errthrow(char_u *mesg, int severe, int *ignore);
 void free_global_msglist(void);
-void do_errthrow(struct condstack *cstack, char_u *cmdname);
-int do_intthrow(struct condstack *cstack);
+void do_errthrow(cstack_T *cstack, char_u *cmdname);
+int do_intthrow(cstack_T *cstack);
 char *get_exception_string(void *value, except_type_T type, char_u *cmdname, int *should_free);
 void discard_current_exception(void);
 void report_make_pending(int pending, void *value);
@@ -19,15 +19,15 @@ void ex_continue(exarg_T *eap);
 void ex_break(exarg_T *eap);
 void ex_endwhile(exarg_T *eap);
 void ex_throw(exarg_T *eap);
-void do_throw(struct condstack *cstack);
+void do_throw(cstack_T *cstack);
 void ex_try(exarg_T *eap);
 void ex_catch(exarg_T *eap);
 void ex_finally(exarg_T *eap);
 void ex_endtry(exarg_T *eap);
 void enter_cleanup(cleanup_T *csp);
 void leave_cleanup(cleanup_T *csp);
-int cleanup_conditionals(struct condstack *cstack, int searched_cond, int inclusive);
-void rewind_conditionals(struct condstack *cstack, int idx, int cond_type, int *cond_level);
+int cleanup_conditionals(cstack_T *cstack, int searched_cond, int inclusive);
+void rewind_conditionals(cstack_T *cstack, int idx, int cond_type, int *cond_level);
 void ex_endfunction(exarg_T *eap);
 int has_loop_cmd(char_u *p);
 /* vim: set ft=c : */
index 3e5be6911ba33d3019e4b849a5051476d940b8a2..71b5c6141f98faef639c25e34664cbea1164f424 100644 (file)
@@ -863,8 +863,7 @@ struct eslist_elem
  */
 #define CSTACK_LEN     50
 
-struct condstack
-{
+typedef struct {
     short      cs_flags[CSTACK_LEN];   // CSF_ flags
     char       cs_pending[CSTACK_LEN]; // CSTP_: what's pending in ":finally"
     union {
@@ -878,7 +877,7 @@ struct condstack
     int                cs_trylevel;            // nr of nested ":try"s
     eslist_T   *cs_emsg_silent_list;   // saved values of "emsg_silent"
     char       cs_lflags;              // loop flags: CSL_ flags
-};
+} cstack_T;
 # define cs_rettv      cs_pend.csp_rv
 # define cs_exception  cs_pend.csp_ex
 
@@ -912,7 +911,7 @@ struct condstack
 # define CSTP_FINISH   32      // ":finish" is pending
 
 /*
- * Flags for the cs_lflags item in struct condstack.
+ * Flags for the cs_lflags item in cstack_T.
  */
 # define CSL_HAD_LOOP   1      // just found ":while" or ":for"
 # define CSL_HAD_ENDLOOP 2     // just found ":endwhile" or ":endfor"
index 020098d458cf028ae2482aae7218664763cfb1a7..948c5f1c61f309dbbaf5930eb14e7b66699bb953 100644 (file)
@@ -3234,7 +3234,7 @@ do_return(
     void       *rettv)
 {
     int                idx;
-    struct condstack *cstack = eap->cstack;
+    cstack_T   *cstack = eap->cstack;
 
     if (reanimate)
        // Undo the return.
index 27a42e05e7d8699ee0c19674d447d5776cd7c7ab..fec1465cc53c00cab4569fc1f8a0a461c0e4a049 100644 (file)
@@ -742,6 +742,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    13,
 /**/
     12,
 /**/