Patch 8.1.1603
Problem:    Crash when using unknown highlighting in text property.
Solution:   Check for zero highlight ID.
Files:      src/screen.c, src/testdir/test_textprop.vim


*** ../vim-8.1.1602/src/screen.c        2019-06-26 03:39:59.897650758 +0200
--- src/screen.c        2019-06-28 21:36:56.486643152 +0200
***************
*** 3171,3177 ****
      int               row;                    /* row in the window, excl 
w_winrow */
      int               screen_row;             /* row on the screen, incl 
w_winrow */
  
!     char_u    extra[18];              /* "%ld" and 'fdc' must fit in here */
      int               n_extra = 0;            /* number of extra chars */
      char_u    *p_extra = NULL;        /* string of extra chars, plus NUL */
      char_u    *p_extra_free = NULL;   /* p_extra needs to be freed */
--- 3171,3177 ----
      int               row;                    /* row in the window, excl 
w_winrow */
      int               screen_row;             /* row on the screen, incl 
w_winrow */
  
!     char_u    extra[20];              /* "%ld" and 'fdc' must fit in here */
      int               n_extra = 0;            /* number of extra chars */
      char_u    *p_extra = NULL;        /* string of extra chars, plus NUL */
      char_u    *p_extra_free = NULL;   /* p_extra needs to be freed */
***************
*** 4440,4446 ****
                        proptype_T  *pt = text_prop_type_by_id(
                                        wp->w_buffer, text_props[tpi].tp_type);
  
!                       if (pt != NULL)
                        {
                            int pt_attr = syn_id2attr(pt->pt_hl_id);
  
--- 4440,4446 ----
                        proptype_T  *pt = text_prop_type_by_id(
                                        wp->w_buffer, text_props[tpi].tp_type);
  
!                       if (pt != NULL && pt->pt_hl_id > 0)
                        {
                            int pt_attr = syn_id2attr(pt->pt_hl_id);
  
*** ../vim-8.1.1602/src/testdir/test_textprop.vim       2019-06-19 
18:15:43.880526461 +0200
--- src/testdir/test_textprop.vim       2019-06-28 21:34:47.035263474 +0200
***************
*** 792,797 ****
--- 792,808 ----
    call prop_type_delete('comment')
  endfunc
  
+ " Adding a text property with invalid highlight should be ignored.
+ func Test_textprop_invalid_highlight()
+   call assert_fails("call prop_type_add('dni', {'highlight': 
'DoesNotExist'})", 'E970:')
+   new
+   call setline(1, ['asdf','asdf'])
+   call prop_add(1, 1, {'length': 4, 'type': 'dni'})
+   redraw
+   bwipe!
+   call prop_type_delete('dni')
+ endfunc
+ 
  " Adding a text property to an empty buffer and then editing another
  func Test_textprop_empty_buffer_next()
    call prop_type_add("xxx", {})
*** ../vim-8.1.1602/src/version.c       2019-06-28 04:06:47.052007794 +0200
--- src/version.c       2019-06-28 21:37:36.590451948 +0200
***************
*** 779,780 ****
--- 779,782 ----
  {   /* Add new patch number below this line */
+ /**/
+     1603,
  /**/

-- 
Facepalm statement #1: "I'm going to New York tomorrow, hopefully I have time
to visit the White House"

 /// 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201906281939.x5SJdBXe028733%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui