diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.397')
-rw-r--r-- | source/ap/vim/patches/7.3.397 | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/source/ap/vim/patches/7.3.397 b/source/ap/vim/patches/7.3.397 deleted file mode 100644 index 866b3aac..00000000 --- a/source/ap/vim/patches/7.3.397 +++ /dev/null @@ -1,224 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.3.397 -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.397 -Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or - latin1. -Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto) -Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro - - -*** ../vim-7.3.396/src/quickfix.c 2011-12-30 15:01:55.000000000 +0100 ---- src/quickfix.c 2012-01-10 16:18:51.000000000 +0100 -*************** -*** 3914,3919 **** ---- 3914,3929 ---- - regmatch.rm_ic = FALSE; - if (regmatch.regprog != NULL) - { -+ #ifdef FEAT_MBYTE -+ vimconv_T vc; -+ -+ /* Help files are in utf-8 or latin1, convert lines when 'encoding' -+ * differs. */ -+ vc.vc_type = CONV_NONE; -+ if (!enc_utf8) -+ convert_setup(&vc, (char_u *)"utf-8", p_enc); -+ #endif -+ - /* create a new quickfix list */ - qf_new_list(qi, *eap->cmdlinep); - -*************** -*** 3948,3968 **** - lnum = 1; - while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int) - { -! if (vim_regexec(®match, IObuff, (colnr_T)0)) - { -! int l = (int)STRLEN(IObuff); - - /* remove trailing CR, LF, spaces, etc. */ -! while (l > 0 && IObuff[l - 1] <= ' ') -! IObuff[--l] = NUL; - - if (qf_add_entry(qi, &prevp, - NULL, /* dir */ - fnames[fi], - 0, -! IObuff, - lnum, -! (int)(regmatch.startp[0] - IObuff) - + 1, /* col */ - FALSE, /* vis_col */ - NULL, /* search pattern */ ---- 3958,3990 ---- - lnum = 1; - while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int) - { -! char_u *line = IObuff; -! #ifdef FEAT_MBYTE -! /* Convert a line if 'encoding' is not utf-8 and -! * the line contains a non-ASCII character. */ -! if (vc.vc_type != CONV_NONE -! && has_non_ascii(IObuff)) { -! line = string_convert(&vc, IObuff, NULL); -! if (line == NULL) -! line = IObuff; -! } -! #endif -! -! if (vim_regexec(®match, line, (colnr_T)0)) - { -! int l = (int)STRLEN(line); - - /* remove trailing CR, LF, spaces, etc. */ -! while (l > 0 && line[l - 1] <= ' ') -! line[--l] = NUL; - - if (qf_add_entry(qi, &prevp, - NULL, /* dir */ - fnames[fi], - 0, -! line, - lnum, -! (int)(regmatch.startp[0] - line) - + 1, /* col */ - FALSE, /* vis_col */ - NULL, /* search pattern */ -*************** -*** 3972,3980 **** ---- 3994,4010 ---- - ) == FAIL) - { - got_int = TRUE; -+ #ifdef FEAT_MBYTE -+ if (line != IObuff) -+ vim_free(line); -+ #endif - break; - } - } -+ #ifdef FEAT_MBYTE -+ if (line != IObuff) -+ vim_free(line); -+ #endif - ++lnum; - line_breakcheck(); - } -*************** -*** 3984,3990 **** ---- 4014,4025 ---- - FreeWild(fcount, fnames); - } - } -+ - vim_free(regmatch.regprog); -+ #ifdef FEAT_MBYTE -+ if (vc.vc_type != CONV_NONE) -+ convert_setup(&vc, NULL, NULL); -+ #endif - - qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE; - qi->qf_lists[qi->qf_curlist].qf_ptr = -*** ../vim-7.3.396/src/spell.c 2011-09-02 14:18:14.000000000 +0200 ---- src/spell.c 2012-01-10 16:19:33.000000000 +0100 -*************** -*** 5020,5026 **** - static int str_equal __ARGS((char_u *s1, char_u *s2)); - static void add_fromto __ARGS((spellinfo_T *spin, garray_T *gap, char_u *from, char_u *to)); - static int sal_to_bool __ARGS((char_u *s)); -- static int has_non_ascii __ARGS((char_u *s)); - static void spell_free_aff __ARGS((afffile_T *aff)); - static int spell_read_dic __ARGS((spellinfo_T *spin, char_u *fname, afffile_T *affile)); - static int get_affix_flags __ARGS((afffile_T *affile, char_u *afflist)); ---- 5020,5025 ---- -*************** -*** 6485,6507 **** - } - - /* -- * Return TRUE if string "s" contains a non-ASCII character (128 or higher). -- * When "s" is NULL FALSE is returned. -- */ -- static int -- has_non_ascii(s) -- char_u *s; -- { -- char_u *p; -- -- if (s != NULL) -- for (p = s; *p != NUL; ++p) -- if (*p >= 128) -- return TRUE; -- return FALSE; -- } -- -- /* - * Free the structure filled by spell_read_aff(). - */ - static void ---- 6484,6489 ---- -*** ../vim-7.3.396/src/misc2.c 2011-12-08 17:49:31.000000000 +0100 ---- src/misc2.c 2012-01-10 16:25:53.000000000 +0100 -*************** -*** 6541,6543 **** ---- 6541,6563 ---- - #endif - - #endif -+ -+ #if (defined(FEAT_MBYTE) && defined(FEAT_QUICKFIX)) \ -+ || defined(FEAT_SPELL) || defined(PROTO) -+ /* -+ * Return TRUE if string "s" contains a non-ASCII character (128 or higher). -+ * When "s" is NULL FALSE is returned. -+ */ -+ int -+ has_non_ascii(s) -+ char_u *s; -+ { -+ char_u *p; -+ -+ if (s != NULL) -+ for (p = s; *p != NUL; ++p) -+ if (*p >= 128) -+ return TRUE; -+ return FALSE; -+ } -+ #endif -*** ../vim-7.3.396/src/proto/misc2.pro 2011-07-07 16:20:45.000000000 +0200 ---- src/proto/misc2.pro 2012-01-10 16:20:03.000000000 +0100 -*************** -*** 116,119 **** ---- 116,120 ---- - char_u *read_string __ARGS((FILE *fd, int cnt)); - int put_bytes __ARGS((FILE *fd, long_u nr, int len)); - void put_time __ARGS((FILE *fd, time_t the_time)); -+ int has_non_ascii __ARGS((char_u *s)); - /* vim: set ft=c : */ -*** ../vim-7.3.396/src/version.c 2012-01-10 13:46:18.000000000 +0100 ---- src/version.c 2012-01-10 16:26:32.000000000 +0100 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 397, - /**/ - --- -Biting someone with your natural teeth is "simple assault," while biting -someone with your false teeth is "aggravated assault." - [real standing law in Louisana, United States of America] - - /// 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 /// |