Patch 8.0.1091 (after 8.0.1090)
Problem:    Test for <cexpr> fails without +balloon_eval feature.
Solution:   Remove #ifdefs.
Files:      src/normal.c


*** ../vim-8.0.1090/src/normal.c        2017-08-26 16:25:28.747075616 +0200
--- src/normal.c        2017-09-10 18:41:57.678270335 +0200
***************
*** 3353,3361 ****
      }
  }
  
- #if defined(FEAT_BEVAL)
- static int find_is_eval_item(char_u *ptr, int *colp, int *nbp, int dir);
- 
  /*
   * Check for a balloon-eval special item to include when searching for an
   * identifier.  When "dir" is BACKWARD "ptr[-1]" must be valid!
--- 3353,3358 ----
***************
*** 3394,3400 ****
      }
      return FALSE;
  }
- #endif
  
  /*
   * Find the identifier under or to the right of the cursor.
--- 3391,3396 ----
***************
*** 3444,3452 ****
      int               prev_class;
      int               prevcol;
  #endif
- #if defined(FEAT_BEVAL)
      int               bn = 0;     /* bracket nesting */
- #endif
  
      /*
       * if i == 0: try to find an identifier
--- 3440,3446 ----
***************
*** 3464,3474 ****
        {
            while (ptr[col] != NUL)
            {
- # if defined(FEAT_BEVAL)
                /* Stop at a ']' to evaluate "a[x]". */
                if ((find_type & FIND_EVAL) && ptr[col] == ']')
                    break;
- # endif
                this_class = mb_get_class(ptr + col);
                if (this_class != 0 && (i == 1 || this_class != 1))
                    break;
--- 3458,3466 ----
***************
*** 3479,3494 ****
  #endif
            while (ptr[col] != NUL
                    && (i == 0 ? !vim_iswordc(ptr[col]) : VIM_ISWHITE(ptr[col]))
- # if defined(FEAT_BEVAL)
                    && (!(find_type & FIND_EVAL) || ptr[col] != ']')
- # endif
                    )
                ++col;
  
- #if defined(FEAT_BEVAL)
        /* When starting on a ']' count it, so that we include the '['. */
        bn = ptr[col] == ']';
- #endif
  
        /*
         * 2. Back up to start of identifier/string.
--- 3471,3482 ----
***************
*** 3497,3507 ****
        if (has_mbyte)
        {
            /* Remember class of character under cursor. */
- # if defined(FEAT_BEVAL)
            if ((find_type & FIND_EVAL) && ptr[col] == ']')
                this_class = mb_get_class((char_u *)"a");
            else
- # endif
                this_class = mb_get_class(ptr + col);
            while (col > 0 && this_class != 0)
            {
--- 3485,3493 ----
***************
*** 3511,3522 ****
                        && (i == 0
                            || prev_class == 0
                            || (find_type & FIND_IDENT))
- # if defined(FEAT_BEVAL)
                        && (!(find_type & FIND_EVAL)
                            || prevcol == 0
                            || !find_is_eval_item(ptr + prevcol, &prevcol,
                                                               &bn, BACKWARD))
- # endif
                        )
                    break;
                col = prevcol;
--- 3497,3506 ----
***************
*** 3538,3549 ****
                            : (!VIM_ISWHITE(ptr[col - 1])
                                && (!(find_type & FIND_IDENT)
                                    || !vim_iswordc(ptr[col - 1]))))
- #if defined(FEAT_BEVAL)
                        || ((find_type & FIND_EVAL)
                            && col > 1
                            && find_is_eval_item(ptr + col - 1, &col,
                                                               &bn, BACKWARD))
- #endif
                        ))
                --col;
  
--- 3522,3531 ----
***************
*** 3575,3584 ****
      /*
       * 3. Find the end if the identifier/string.
       */
- #if defined(FEAT_BEVAL)
      bn = 0;
      startcol -= col;
- #endif
      col = 0;
  #ifdef FEAT_MBYTE
      if (has_mbyte)
--- 3557,3564 ----
***************
*** 3588,3598 ****
        while (ptr[col] != NUL
                && ((i == 0 ? mb_get_class(ptr + col) == this_class
                            : mb_get_class(ptr + col) != 0)
- # if defined(FEAT_BEVAL)
                    || ((find_type & FIND_EVAL)
                        && col <= (int)startcol
                        && find_is_eval_item(ptr + col, &col, &bn, FORWARD))
- # endif
                ))
            col += (*mb_ptr2len)(ptr + col);
      }
--- 3568,3576 ----
***************
*** 3600,3610 ****
  #endif
        while ((i == 0 ? vim_iswordc(ptr[col])
                       : (ptr[col] != NUL && !VIM_ISWHITE(ptr[col])))
- # if defined(FEAT_BEVAL)
                    || ((find_type & FIND_EVAL)
                        && col <= (int)startcol
                        && find_is_eval_item(ptr + col, &col, &bn, FORWARD))
- # endif
                )
        {
            ++col;
--- 3578,3586 ----
*** ../vim-8.0.1090/src/version.c       2017-09-10 18:16:16.511727661 +0200
--- src/version.c       2017-09-10 18:43:06.469846584 +0200
***************
*** 771,772 ****
--- 771,774 ----
  {   /* Add new patch number below this line */
+ /**/
+     1091,
  /**/

-- 
# echo reboot >universe
# chmod +x universe
# ./universe

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui