Accepting request 283421 from editors

- Add vim-speedup-gc.patch to improve garbage collection performance.
  Based on https://github.com/neovim/neovim/pull/1761 (boo#899747)

- Modify vim-7.3-filetype_changes.patch to expand tabs when editing
  *.changes files (bnc#900839)

- Update suse.vimrc to stop remembering file positions for git
  commit cases. This fixes bnc#538369 and based on msys commits
  1ef258e and 65ffc90.

OBS-URL: https://build.opensuse.org/request/show/283421
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vim?expand=0&rev=148
This commit is contained in:
Dominique Leuenberger 2015-01-30 22:58:23 +00:00 committed by Git OBS Bridge
commit e2d1a0daeb
5 changed files with 123 additions and 19 deletions

View File

@ -265,16 +265,17 @@ endif
map! <Esc>[3~ <Delete>
map <ESC>[3~ x
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
"Remember the positions in files with some git-specific exceptions"
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$")
\ && expand("%") !~ "COMMIT_EDITMSG"
\ && expand("%") !~ "ADD_EDIT.patch"
\ && expand("%") !~ "addp-hunk-edit.diff"
\ && expand("%") !~ "git-rebase-todo" |
\ exe "normal g`\"" |
\ endif
endif " has("autocmd")
" Changed default required by SuSE security team--be aware if enabling this

View File

@ -1,7 +1,8 @@
diff -rupN vim73.orig/runtime/filetype.vim vim73/runtime/filetype.vim
--- vim73.orig/runtime/filetype.vim 2010-08-03 22:44:00.000000000 +0200
+++ vim73/runtime/filetype.vim 2010-11-21 06:22:56.650975029 +0100
@@ -393,6 +393,9 @@ au BufNewFile,BufRead *.css setf css
Index: vim-7.4.580.hg.6506/runtime/filetype.vim
===================================================================
--- vim-7.4.580.hg.6506.orig/runtime/filetype.vim
+++ vim-7.4.580.hg.6506/runtime/filetype.vim
@@ -407,6 +407,9 @@ au BufNewFile,BufRead *.css setf css
" Century Term Command Scripts (*.cmd too)
au BufNewFile,BufRead *.con setf cterm
@ -11,16 +12,21 @@ diff -rupN vim73.orig/runtime/filetype.vim vim73/runtime/filetype.vim
" Changelog
au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch
\ setf debchangelog
diff -rupN vim73.orig/runtime/syntax/changes.vim vim73/runtime/syntax/changes.vim
--- vim73.orig/runtime/syntax/changes.vim 1970-01-01 01:00:00.000000000 +0100
+++ vim73/runtime/syntax/changes.vim 2010-11-21 06:22:56.649094929 +0100
@@ -0,0 +1,37 @@
Index: vim-7.4.580.hg.6506/runtime/syntax/changes.vim
===================================================================
--- /dev/null
+++ vim-7.4.580.hg.6506/runtime/syntax/changes.vim
@@ -0,0 +1,41 @@
+" Vim syntax file
+" Filename: changes.vim
+" Language: SuSE package changes
+" Maintainer: Michal Svec <msvec@suse.cz>
+" Last change: 20.8.2003
+
+" We shouldn't insert tabs
+" https://bugzilla.opensuse.org/show_bug.cgi?id=900839
+set expandtab
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")

76
vim-speedup-gc.patch Normal file
View File

@ -0,0 +1,76 @@
Index: vim-7.4.580.hg.6506/src/eval.c
===================================================================
--- vim-7.4.580.hg.6506.orig/src/eval.c
+++ vim-7.4.580.hg.6506/src/eval.c
@@ -6927,48 +6927,51 @@ garbage_collect()
free_unref_items(copyID)
int copyID;
{
- dict_T *dd;
- list_T *ll;
+ dict_T *dd, *dd_next;
+ list_T *ll, *ll_next;
int did_free = FALSE;
/*
* Go through the list of dicts and free items without the copyID.
*/
- for (dd = first_dict; dd != NULL; )
+ for (dd = first_dict; dd != NULL; ) {
if ((dd->dv_copyID & COPYID_MASK) != (copyID & COPYID_MASK))
{
/* Free the Dictionary and ordinary items it contains, but don't
* recurse into Lists and Dictionaries, they will be in the list
* of dicts or list of lists. */
+ dd_next = dd->dv_used_next;
dict_free(dd, FALSE);
did_free = TRUE;
-
- /* restart, next dict may also have been freed */
- dd = first_dict;
+ dd = dd_next;
}
- else
+ else {
dd = dd->dv_used_next;
+ }
+ }
/*
* Go through the list of lists and free items without the copyID.
* But don't free a list that has a watcher (used in a for loop), these
* are not referenced anywhere.
*/
- for (ll = first_list; ll != NULL; )
+ for (ll = first_list; ll != NULL; ) {
if ((ll->lv_copyID & COPYID_MASK) != (copyID & COPYID_MASK)
&& ll->lv_watch == NULL)
{
/* Free the List and ordinary items it contains, but don't recurse
* into Lists and Dictionaries, they will be in the list of dicts
* or list of lists. */
+
+ ll_next = ll->lv_used_next;
list_free(ll, FALSE);
did_free = TRUE;
-
- /* restart, next list may also have been freed */
- ll = first_list;
+ ll = ll_next;
}
- else
+ else {
ll = ll->lv_used_next;
+ }
+ }
return did_free;
}
@@ -7125,6 +7128,7 @@ dict_free(d, recurse)
/* Lock the hashtab, we don't want it to resize while freeing items. */
hash_lock(&d->dv_hashtab);
+ assert(d->dv_hashtab.ht_locked > 0);
todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
{

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Fri Jan 30 09:45:18 UTC 2015 - idonmez@suse.com
- Add vim-speedup-gc.patch to improve garbage collection performance.
Based on https://github.com/neovim/neovim/pull/1761 (boo#899747)
-------------------------------------------------------------------
Thu Jan 29 12:25:06 UTC 2015 - idonmez@suse.com
- Modify vim-7.3-filetype_changes.patch to expand tabs when editing
*.changes files (bnc#900839)
-------------------------------------------------------------------
Thu Jan 29 10:45:52 UTC 2015 - idonmez@suse.com
- Update suse.vimrc to stop remembering file positions for git
commit cases. This fixes bnc#538369 and based on msys commits
1ef258e and 65ffc90.
-------------------------------------------------------------------
Thu Jan 15 11:32:14 UTC 2015 - idonmez@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package vim
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -105,6 +105,7 @@ Patch18: %{name}-7.3-filetype_spec.patch
Patch19: %{name}-7.3-diff_check.patch
Patch21: %{name}-7.3-filetype_changes.patch
Patch22: %{name}-7.4-filetype_mine.patch
Patch23: %{name}-speedup-gc.patch
Patch100: vim-7.1.314-CVE-2009-0316-debian.patch
Patch101: vim73-no-static-libpython.patch
%{perl_requires}
@ -187,6 +188,7 @@ cp %{SOURCE23} runtime/syntax/apparmor.vim
%patch19 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch100 -p1
%patch101
cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} .