summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.109
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.109')
-rw-r--r--source/ap/vim/patches/7.3.109266
1 files changed, 0 insertions, 266 deletions
diff --git a/source/ap/vim/patches/7.3.109 b/source/ap/vim/patches/7.3.109
deleted file mode 100644
index ce35fb0ad..000000000
--- a/source/ap/vim/patches/7.3.109
+++ /dev/null
@@ -1,266 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.109
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.109
-Problem: Processing new Esperanto spell file fails and crashes Vim.
- (Dominique Pelle)
-Solution: When running out of memory give an error. Handle '?' in
- COMPOUNDRULE properly.
-Files: src/spell.c
-
-
-*** ../vim-7.3.108/src/spell.c 2010-12-17 18:06:00.000000000 +0100
---- src/spell.c 2011-02-01 13:43:52.000000000 +0100
-***************
-*** 3634,3640 ****
- }
-
- /* Add all flags to "sl_compallflags". */
-! if (vim_strchr((char_u *)"+*[]/", c) == NULL
- && !byte_in_str(slang->sl_compallflags, c))
- {
- *ap++ = c;
---- 3634,3640 ----
- }
-
- /* Add all flags to "sl_compallflags". */
-! if (vim_strchr((char_u *)"?*+[]/", c) == NULL
- && !byte_in_str(slang->sl_compallflags, c))
- {
- *ap++ = c;
-***************
-*** 3664,3670 ****
- /* Copy flag to "sl_comprules", unless we run into a wildcard. */
- if (crp != NULL)
- {
-! if (c == '+' || c == '*')
- {
- vim_free(slang->sl_comprules);
- slang->sl_comprules = NULL;
---- 3664,3670 ----
- /* Copy flag to "sl_comprules", unless we run into a wildcard. */
- if (crp != NULL)
- {
-! if (c == '?' || c == '+' || c == '*')
- {
- vim_free(slang->sl_comprules);
- slang->sl_comprules = NULL;
-***************
-*** 3682,3689 ****
- }
- else /* normal char, "[abc]" and '*' are copied as-is */
- {
-! if (c == '+' || c == '~')
-! *pp++ = '\\'; /* "a+" becomes "a\+" */
- #ifdef FEAT_MBYTE
- if (enc_utf8)
- pp += mb_char2bytes(c, pp);
---- 3682,3689 ----
- }
- else /* normal char, "[abc]" and '*' are copied as-is */
- {
-! if (c == '?' || c == '+' || c == '~')
-! *pp++ = '\\'; /* "a?" becomes "a\?", "a+" becomes "a\+" */
- #ifdef FEAT_MBYTE
- if (enc_utf8)
- pp += mb_char2bytes(c, pp);
-***************
-*** 4951,4956 ****
---- 4951,4958 ----
-
- sblock_T *si_blocks; /* memory blocks used */
- long si_blocks_cnt; /* memory blocks allocated */
-+ int si_did_emsg; /* TRUE when ran out of memory */
-+
- long si_compress_cnt; /* words to add before lowering
- compression limit */
- wordnode_T *si_first_free; /* List of nodes that have been freed during
-***************
-*** 5477,5497 ****
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
- {
-! /* Concatenate this string to previously defined ones, using a
-! * slash to separate them. */
-! l = (int)STRLEN(items[1]) + 1;
-! if (compflags != NULL)
-! l += (int)STRLEN(compflags) + 1;
-! p = getroom(spin, l, FALSE);
-! if (p != NULL)
- {
- if (compflags != NULL)
- {
-! STRCPY(p, compflags);
-! STRCAT(p, "/");
- }
-- STRCAT(p, items[1]);
-- compflags = p;
- }
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
---- 5479,5503 ----
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
- {
-! /* Don't use the first rule if it is a number. */
-! if (compflags != NULL || *skipdigits(items[1]) != NUL)
- {
-+ /* Concatenate this string to previously defined ones,
-+ * using a slash to separate them. */
-+ l = (int)STRLEN(items[1]) + 1;
- if (compflags != NULL)
-+ l += (int)STRLEN(compflags) + 1;
-+ p = getroom(spin, l, FALSE);
-+ if (p != NULL)
- {
-! if (compflags != NULL)
-! {
-! STRCPY(p, compflags);
-! STRCAT(p, "/");
-! }
-! STRCAT(p, items[1]);
-! compflags = p;
- }
- }
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
-***************
-*** 6291,6297 ****
-
- for (p = compflags; *p != NUL; )
- {
-! if (vim_strchr((char_u *)"/*+[]", *p) != NULL)
- /* Copy non-flag characters directly. */
- *tp++ = *p++;
- else
---- 6297,6303 ----
-
- for (p = compflags; *p != NUL; )
- {
-! if (vim_strchr((char_u *)"/?*+[]", *p) != NULL)
- /* Copy non-flag characters directly. */
- *tp++ = *p++;
- else
-***************
-*** 6320,6326 ****
- {
- check_renumber(spin);
- id = spin->si_newcompID--;
-! } while (vim_strchr((char_u *)"/+*[]\\-^", id) != NULL);
- ci->ci_newID = id;
- hash_add(&aff->af_comp, ci->ci_key);
- }
---- 6326,6332 ----
- {
- check_renumber(spin);
- id = spin->si_newcompID--;
-! } while (vim_strchr((char_u *)"/?*+[]\\-^", id) != NULL);
- ci->ci_newID = id;
- hash_add(&aff->af_comp, ci->ci_key);
- }
-***************
-*** 7364,7373 ****
-
- if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
- {
-! /* Allocate a block of memory. This is not freed until much later. */
-! bl = (sblock_T *)alloc_clear((unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
- if (bl == NULL)
- return NULL;
- bl->sb_next = spin->si_blocks;
- spin->si_blocks = bl;
- bl->sb_used = 0;
---- 7370,7390 ----
-
- if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
- {
-! if (len >= SBLOCKSIZE)
-! bl = NULL;
-! else
-! /* Allocate a block of memory. It is not freed until much later. */
-! bl = (sblock_T *)alloc_clear(
-! (unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
- if (bl == NULL)
-+ {
-+ if (!spin->si_did_emsg)
-+ {
-+ EMSG(_("E845: Insufficient memory, word list will be incomplete"));
-+ spin->si_did_emsg = TRUE;
-+ }
- return NULL;
-+ }
- bl->sb_next = spin->si_blocks;
- spin->si_blocks = bl;
- bl->sb_used = 0;
-***************
-*** 7382,7387 ****
---- 7399,7405 ----
-
- /*
- * Make a copy of a string into memory allocated with getroom().
-+ * Returns NULL when out of memory.
- */
- static char_u *
- getroom_save(spin, s)
-***************
-*** 7416,7421 ****
---- 7434,7440 ----
-
- /*
- * Allocate the root of a word tree.
-+ * Returns NULL when out of memory.
- */
- static wordnode_T *
- wordtree_alloc(spin)
-***************
-*** 7700,7705 ****
---- 7719,7725 ----
- /*
- * Get a wordnode_T, either from the list of previously freed nodes or
- * allocate a new one.
-+ * Returns NULL when out of memory.
- */
- static wordnode_T *
- get_wordnode(spin)
-***************
-*** 7717,7723 ****
- --spin->si_free_count;
- }
- #ifdef SPELL_PRINTTREE
-! n->wn_nr = ++spin->si_wordnode_nr;
- #endif
- return n;
- }
---- 7737,7744 ----
- --spin->si_free_count;
- }
- #ifdef SPELL_PRINTTREE
-! if (n != NULL)
-! n->wn_nr = ++spin->si_wordnode_nr;
- #endif
- return n;
- }
-*** ../vim-7.3.108/src/version.c 2011-02-01 13:48:47.000000000 +0100
---- src/version.c 2011-02-01 13:56:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 109,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-174. You know what a listserv is.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- 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 ///