Karsten Hopp 6b5549
To: vim-dev@vim.org
Karsten Hopp 6b5549
Subject: Patch 7.3.005
Karsten Hopp 6b5549
Fcc: outbox
Karsten Hopp 6b5549
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 6b5549
Mime-Version: 1.0
Karsten Hopp 6b5549
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 6b5549
Content-Transfer-Encoding: 8bit
Karsten Hopp 6b5549
------------
Karsten Hopp 6b5549
Karsten Hopp 6b5549
Patch 7.3.005
Karsten Hopp 6b5549
Problem:    Crash when using undotree(). (Christian Brabandt)
Karsten Hopp 6b5549
Solution:   Increase the list reference count.  Add a test for undotree() 
Karsten Hopp 6b5549
            (Lech Lorens)
Karsten Hopp 6b5549
Files:      src/eval.c, src/testdir/Makefile, src/testdir/test61.in
Karsten Hopp 6b5549
Karsten Hopp 6b5549
Karsten Hopp 6b5549
*** ../vim-7.3.004/src/eval.c	2010-08-15 21:57:26.000000000 +0200
Karsten Hopp 6b5549
--- src/eval.c	2010-09-14 12:43:04.000000000 +0200
Karsten Hopp 6b5549
***************
Karsten Hopp 6b5549
*** 7075,7081 ****
Karsten Hopp 6b5549
  }
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  /*
Karsten Hopp 6b5549
!  * Add a list  entry to dictionary "d".
Karsten Hopp 6b5549
   * Returns FAIL when out of memory and when key already exists.
Karsten Hopp 6b5549
   */
Karsten Hopp 6b5549
      int
Karsten Hopp 6b5549
--- 7075,7081 ----
Karsten Hopp 6b5549
  }
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  /*
Karsten Hopp 6b5549
!  * Add a list entry to dictionary "d".
Karsten Hopp 6b5549
   * Returns FAIL when out of memory and when key already exists.
Karsten Hopp 6b5549
   */
Karsten Hopp 6b5549
      int
Karsten Hopp 6b5549
***************
Karsten Hopp 6b5549
*** 7097,7102 ****
Karsten Hopp 6b5549
--- 7097,7103 ----
Karsten Hopp 6b5549
  	dictitem_free(item);
Karsten Hopp 6b5549
  	return FAIL;
Karsten Hopp 6b5549
      }
Karsten Hopp 6b5549
+     ++list->lv_refcount;
Karsten Hopp 6b5549
      return OK;
Karsten Hopp 6b5549
  }
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
*** ../vim-7.3.004/src/testdir/Makefile	2010-08-15 21:57:29.000000000 +0200
Karsten Hopp 6b5549
--- src/testdir/Makefile	2010-09-14 12:38:56.000000000 +0200
Karsten Hopp 6b5549
***************
Karsten Hopp 6b5549
*** 44,50 ****
Karsten Hopp 6b5549
  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  clean:
Karsten Hopp 6b5549
! 	-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  test1.out: test1.in
Karsten Hopp 6b5549
  	-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
Karsten Hopp 6b5549
--- 44,50 ----
Karsten Hopp 6b5549
  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  clean:
Karsten Hopp 6b5549
! 	-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  test1.out: test1.in
Karsten Hopp 6b5549
  	-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
Karsten Hopp 6b5549
*** ../vim-7.3.004/src/testdir/test61.in	2010-08-15 21:57:29.000000000 +0200
Karsten Hopp 6b5549
--- src/testdir/test61.in	2010-09-14 12:38:56.000000000 +0200
Karsten Hopp 6b5549
***************
Karsten Hopp 6b5549
*** 4,9 ****
Karsten Hopp 6b5549
--- 4,13 ----
Karsten Hopp 6b5549
  Also tests :earlier and :later.
Karsten Hopp 6b5549
  
Karsten Hopp 6b5549
  STARTTEST
Karsten Hopp 6b5549
+ :echo undotree().entries
Karsten Hopp 6b5549
+ ENDTEST
Karsten Hopp 6b5549
+ 
Karsten Hopp 6b5549
+ STARTTEST
Karsten Hopp 6b5549
  :" Delete three characters and undo
Karsten Hopp 6b5549
  Gx:set ul=100
Karsten Hopp 6b5549
  x:set ul=100
Karsten Hopp 6b5549
*** ../vim-7.3.004/src/version.c	2010-09-14 10:55:24.000000000 +0200
Karsten Hopp 6b5549
--- src/version.c	2010-09-14 12:39:59.000000000 +0200
Karsten Hopp 6b5549
***************
Karsten Hopp 6b5549
*** 716,717 ****
Karsten Hopp 6b5549
--- 716,719 ----
Karsten Hopp 6b5549
  {   /* Add new patch number below this line */
Karsten Hopp 6b5549
+ /**/
Karsten Hopp 6b5549
+     5,
Karsten Hopp 6b5549
  /**/
Karsten Hopp 6b5549
Karsten Hopp 6b5549
-- 
Karsten Hopp 6b5549
I'm writing a book.  I've got the page numbers done.
Karsten Hopp 6b5549
Karsten Hopp 6b5549
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 6b5549
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 6b5549
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 6b5549
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///