summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.223
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2012-09-26 01:10:42 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:51:55 +0200
commit9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch)
treeb428a16618e36ed864a8d76ea3435e19a452bf90 /source/ap/vim/patches/7.3.223
parent75a4a592e5ccda30715f93563d741b83e0dcf39e (diff)
downloadcurrent-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz
current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.xz
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! We're perfectionists here at Slackware, so this release has been a long time a-brewing. But we think you'll agree that it was worth the wait. Slackware 14.0 combines modern components, ease of use, and flexible configuration... our "KISS" philosophy demands it. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Thanks to everyone who helped make this happen. The Slackware team, the upstream developers, and (of course) the awesome Slackware user community. Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.3.223')
-rw-r--r--source/ap/vim/patches/7.3.223387
1 files changed, 387 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.223 b/source/ap/vim/patches/7.3.223
new file mode 100644
index 000000000..e151c5b74
--- /dev/null
+++ b/source/ap/vim/patches/7.3.223
@@ -0,0 +1,387 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.223
+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.223
+Problem: MingW cross compilation doesn't work with tiny features.
+Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
+ "#ifdef CLIPBOARD". Fix typo in makefile.
+Files: src/Make_ming.mak, src/os_mswin.c
+
+
+*** ../mercurial/vim73/src/Make_ming.mak 2010-12-30 14:50:46.000000000 +0100
+--- src/Make_ming.mak 2011-06-19 01:20:16.000000000 +0200
+***************
+*** 87,93 ****
+
+ # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
+ # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
+! # uncomment the following, but I can't build a static versión with them, ?-(|
+ #GETTEXT=c:/gettext-0.10.37-20010430
+ #STATIC_GETTEXT=USE_STATIC_GETTEXT
+ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
+--- 87,93 ----
+
+ # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
+ # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
+! # uncomment the following, but I can't build a static version with them, ?-(|
+ #GETTEXT=c:/gettext-0.10.37-20010430
+ #STATIC_GETTEXT=USE_STATIC_GETTEXT
+ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
+*** ../mercurial/vim73/src/os_mswin.c 2011-06-19 01:14:23.000000000 +0200
+--- src/os_mswin.c 2011-06-19 01:25:23.000000000 +0200
+***************
+*** 1105,1236 ****
+ return ret;
+ }
+
+- #if defined(FEAT_MBYTE) || defined(PROTO)
+- /*
+- * Note: the following two functions are only guaranteed to work when using
+- * valid MS-Windows codepages or when iconv() is available.
+- */
+-
+- /*
+- * Convert "str" from 'encoding' to UTF-16.
+- * Input in "str" with length "*lenp". When "lenp" is NULL, use strlen().
+- * Output is returned as an allocated string. "*lenp" is set to the length of
+- * the result. A trailing NUL is always added.
+- * Returns NULL when out of memory.
+- */
+- short_u *
+- enc_to_utf16(char_u *str, int *lenp)
+- {
+- vimconv_T conv;
+- WCHAR *ret;
+- char_u *allocbuf = NULL;
+- int len_loc;
+- int length;
+-
+- if (lenp == NULL)
+- {
+- len_loc = (int)STRLEN(str) + 1;
+- lenp = &len_loc;
+- }
+-
+- if (enc_codepage > 0)
+- {
+- /* We can do any CP### -> UTF-16 in one pass, and we can do it
+- * without iconv() (convert_* may need iconv). */
+- MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
+- }
+- else
+- {
+- /* Use "latin1" by default, we might be called before we have p_enc
+- * set up. Convert to utf-8 first, works better with iconv(). Does
+- * nothing if 'encoding' is "utf-8". */
+- conv.vc_type = CONV_NONE;
+- if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
+- (char_u *)"utf-8") == FAIL)
+- return NULL;
+- if (conv.vc_type != CONV_NONE)
+- {
+- str = allocbuf = string_convert(&conv, str, lenp);
+- if (str == NULL)
+- return NULL;
+- }
+- convert_setup(&conv, NULL, NULL);
+-
+- length = utf8_to_utf16(str, *lenp, NULL, NULL);
+- ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
+- if (ret != NULL)
+- {
+- utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
+- ret[length] = 0;
+- }
+-
+- vim_free(allocbuf);
+- }
+-
+- *lenp = length;
+- return (short_u *)ret;
+- }
+-
+- /*
+- * Convert an UTF-16 string to 'encoding'.
+- * Input in "str" with length (counted in wide characters) "*lenp". When
+- * "lenp" is NULL, use wcslen().
+- * Output is returned as an allocated string. If "*lenp" is not NULL it is
+- * set to the length of the result.
+- * Returns NULL when out of memory.
+- */
+- char_u *
+- utf16_to_enc(short_u *str, int *lenp)
+- {
+- vimconv_T conv;
+- char_u *utf8_str = NULL, *enc_str = NULL;
+- int len_loc;
+-
+- if (lenp == NULL)
+- {
+- len_loc = (int)wcslen(str) + 1;
+- lenp = &len_loc;
+- }
+-
+- if (enc_codepage > 0)
+- {
+- /* We can do any UTF-16 -> CP### in one pass. */
+- int length;
+-
+- WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
+- (LPSTR *)&enc_str, &length, 0, 0);
+- *lenp = length;
+- return enc_str;
+- }
+-
+- /* Avoid allocating zero bytes, it generates an error message. */
+- utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
+- if (utf8_str != NULL)
+- {
+- *lenp = utf16_to_utf8(str, *lenp, utf8_str);
+-
+- /* We might be called before we have p_enc set up. */
+- conv.vc_type = CONV_NONE;
+- convert_setup(&conv, (char_u *)"utf-8",
+- p_enc? p_enc: (char_u *)"latin1");
+- if (conv.vc_type == CONV_NONE)
+- {
+- /* p_enc is utf-8, so we're done. */
+- enc_str = utf8_str;
+- }
+- else
+- {
+- enc_str = string_convert(&conv, utf8_str, lenp);
+- vim_free(utf8_str);
+- }
+-
+- convert_setup(&conv, NULL, NULL);
+- }
+-
+- return enc_str;
+- }
+- #endif /* FEAT_MBYTE */
+-
+ /*
+ * Wait for another process to Close the Clipboard.
+ * Returns TRUE for success.
+--- 1105,1110 ----
+***************
+*** 1436,1467 ****
+ #endif
+ }
+
+- #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
+- /*
+- * Convert from the active codepage to 'encoding'.
+- * Input is "str[str_size]".
+- * The result is in allocated memory: "out[outlen]". With terminating NUL.
+- */
+- void
+- acp_to_enc(str, str_size, out, outlen)
+- char_u *str;
+- int str_size;
+- char_u **out;
+- int *outlen;
+-
+- {
+- LPWSTR widestr;
+-
+- MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
+- if (widestr != NULL)
+- {
+- ++*outlen; /* Include the 0 after the string */
+- *out = utf16_to_enc((short_u *)widestr, outlen);
+- vim_free(widestr);
+- }
+- }
+- #endif
+-
+ /*
+ * Send the current selection to the clipboard.
+ */
+--- 1310,1315 ----
+***************
+*** 1626,1631 ****
+--- 1474,1631 ----
+
+ #endif /* FEAT_CLIPBOARD */
+
++ #if defined(FEAT_MBYTE) || defined(PROTO)
++ /*
++ * Note: the following two functions are only guaranteed to work when using
++ * valid MS-Windows codepages or when iconv() is available.
++ */
++
++ /*
++ * Convert "str" from 'encoding' to UTF-16.
++ * Input in "str" with length "*lenp". When "lenp" is NULL, use strlen().
++ * Output is returned as an allocated string. "*lenp" is set to the length of
++ * the result. A trailing NUL is always added.
++ * Returns NULL when out of memory.
++ */
++ short_u *
++ enc_to_utf16(char_u *str, int *lenp)
++ {
++ vimconv_T conv;
++ WCHAR *ret;
++ char_u *allocbuf = NULL;
++ int len_loc;
++ int length;
++
++ if (lenp == NULL)
++ {
++ len_loc = (int)STRLEN(str) + 1;
++ lenp = &len_loc;
++ }
++
++ if (enc_codepage > 0)
++ {
++ /* We can do any CP### -> UTF-16 in one pass, and we can do it
++ * without iconv() (convert_* may need iconv). */
++ MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
++ }
++ else
++ {
++ /* Use "latin1" by default, we might be called before we have p_enc
++ * set up. Convert to utf-8 first, works better with iconv(). Does
++ * nothing if 'encoding' is "utf-8". */
++ conv.vc_type = CONV_NONE;
++ if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
++ (char_u *)"utf-8") == FAIL)
++ return NULL;
++ if (conv.vc_type != CONV_NONE)
++ {
++ str = allocbuf = string_convert(&conv, str, lenp);
++ if (str == NULL)
++ return NULL;
++ }
++ convert_setup(&conv, NULL, NULL);
++
++ length = utf8_to_utf16(str, *lenp, NULL, NULL);
++ ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
++ if (ret != NULL)
++ {
++ utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
++ ret[length] = 0;
++ }
++
++ vim_free(allocbuf);
++ }
++
++ *lenp = length;
++ return (short_u *)ret;
++ }
++
++ /*
++ * Convert an UTF-16 string to 'encoding'.
++ * Input in "str" with length (counted in wide characters) "*lenp". When
++ * "lenp" is NULL, use wcslen().
++ * Output is returned as an allocated string. If "*lenp" is not NULL it is
++ * set to the length of the result.
++ * Returns NULL when out of memory.
++ */
++ char_u *
++ utf16_to_enc(short_u *str, int *lenp)
++ {
++ vimconv_T conv;
++ char_u *utf8_str = NULL, *enc_str = NULL;
++ int len_loc;
++
++ if (lenp == NULL)
++ {
++ len_loc = (int)wcslen(str) + 1;
++ lenp = &len_loc;
++ }
++
++ if (enc_codepage > 0)
++ {
++ /* We can do any UTF-16 -> CP### in one pass. */
++ int length;
++
++ WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
++ (LPSTR *)&enc_str, &length, 0, 0);
++ *lenp = length;
++ return enc_str;
++ }
++
++ /* Avoid allocating zero bytes, it generates an error message. */
++ utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
++ if (utf8_str != NULL)
++ {
++ *lenp = utf16_to_utf8(str, *lenp, utf8_str);
++
++ /* We might be called before we have p_enc set up. */
++ conv.vc_type = CONV_NONE;
++ convert_setup(&conv, (char_u *)"utf-8",
++ p_enc? p_enc: (char_u *)"latin1");
++ if (conv.vc_type == CONV_NONE)
++ {
++ /* p_enc is utf-8, so we're done. */
++ enc_str = utf8_str;
++ }
++ else
++ {
++ enc_str = string_convert(&conv, utf8_str, lenp);
++ vim_free(utf8_str);
++ }
++
++ convert_setup(&conv, NULL, NULL);
++ }
++
++ return enc_str;
++ }
++ #endif /* FEAT_MBYTE */
++
++ #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
++ /*
++ * Convert from the active codepage to 'encoding'.
++ * Input is "str[str_size]".
++ * The result is in allocated memory: "out[outlen]". With terminating NUL.
++ */
++ void
++ acp_to_enc(str, str_size, out, outlen)
++ char_u *str;
++ int str_size;
++ char_u **out;
++ int *outlen;
++
++ {
++ LPWSTR widestr;
++
++ MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
++ if (widestr != NULL)
++ {
++ ++*outlen; /* Include the 0 after the string */
++ *out = utf16_to_enc((short_u *)widestr, outlen);
++ vim_free(widestr);
++ }
++ }
++ #endif
++
+
+ /*
+ * Debugging helper: expose the MCH_WRITE_DUMP stuff to other modules
+*** ../vim-7.3.222/src/version.c 2011-06-19 01:27:29.000000000 +0200
+--- src/version.c 2011-06-19 01:28:41.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+ { /* Add new patch number below this line */
++ /**/
++ 223,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+191. You rate eating establishments not by the quality of the food,
+ but by the availability of electrical outlets for your PowerBook.
+
+ /// 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 ///