mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
updated for version 7.2-201
This commit is contained in:
parent
feba08b22a
commit
3a6eaa58d5
@ -1443,6 +1443,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
autoselectml Like "autoselect", but for the modeless selection
|
autoselectml Like "autoselect", but for the modeless selection
|
||||||
only. Compare to the 'A' flag in 'guioptions'.
|
only. Compare to the 'A' flag in 'guioptions'.
|
||||||
|
|
||||||
|
html When the clipboard contains HTML, use this when
|
||||||
|
pasting. When putting text on the clipboard, mark it
|
||||||
|
as HTML. This works to copy rendered HTML from
|
||||||
|
Firefox, paste it as raw HTML in Vim, select the HTML
|
||||||
|
in Vim and paste it in a rich edit box in Firefox.
|
||||||
|
Only supported for GTK version 2 and later.
|
||||||
|
Only available with the |+multi_byte| feature.
|
||||||
|
|
||||||
exclude:{pattern}
|
exclude:{pattern}
|
||||||
Defines a pattern that is matched against the name of
|
Defines a pattern that is matched against the name of
|
||||||
the terminal 'term'. If there is a match, no
|
the terminal 'term'. If there is a match, no
|
||||||
|
@ -509,6 +509,7 @@ EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
|
|||||||
EXTERN int clip_unnamed INIT(= FALSE);
|
EXTERN int clip_unnamed INIT(= FALSE);
|
||||||
EXTERN int clip_autoselect INIT(= FALSE);
|
EXTERN int clip_autoselect INIT(= FALSE);
|
||||||
EXTERN int clip_autoselectml INIT(= FALSE);
|
EXTERN int clip_autoselectml INIT(= FALSE);
|
||||||
|
EXTERN int clip_html INIT(= FALSE);
|
||||||
EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
|
EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -107,6 +107,7 @@ enum
|
|||||||
TARGET_UTF8_STRING,
|
TARGET_UTF8_STRING,
|
||||||
TARGET_STRING,
|
TARGET_STRING,
|
||||||
TARGET_COMPOUND_TEXT,
|
TARGET_COMPOUND_TEXT,
|
||||||
|
TARGET_HTML,
|
||||||
TARGET_TEXT,
|
TARGET_TEXT,
|
||||||
TARGET_TEXT_URI_LIST,
|
TARGET_TEXT_URI_LIST,
|
||||||
TARGET_TEXT_PLAIN,
|
TARGET_TEXT_PLAIN,
|
||||||
@ -123,6 +124,7 @@ static const GtkTargetEntry selection_targets[] =
|
|||||||
{VIMENC_ATOM_NAME, 0, TARGET_VIMENC},
|
{VIMENC_ATOM_NAME, 0, TARGET_VIMENC},
|
||||||
{VIM_ATOM_NAME, 0, TARGET_VIM},
|
{VIM_ATOM_NAME, 0, TARGET_VIM},
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
{"text/html", 0, TARGET_HTML},
|
||||||
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
|
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
|
||||||
#endif
|
#endif
|
||||||
{"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT},
|
{"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT},
|
||||||
@ -140,6 +142,7 @@ static const GtkTargetEntry dnd_targets[] =
|
|||||||
{
|
{
|
||||||
{"text/uri-list", 0, TARGET_TEXT_URI_LIST},
|
{"text/uri-list", 0, TARGET_TEXT_URI_LIST},
|
||||||
# ifdef FEAT_MBYTE
|
# ifdef FEAT_MBYTE
|
||||||
|
{"text/html", 0, TARGET_HTML},
|
||||||
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
|
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
|
||||||
# endif
|
# endif
|
||||||
{"STRING", 0, TARGET_STRING},
|
{"STRING", 0, TARGET_STRING},
|
||||||
@ -178,6 +181,7 @@ static GdkAtom save_yourself_atom = GDK_NONE;
|
|||||||
* Atoms used to control/reference X11 selections.
|
* Atoms used to control/reference X11 selections.
|
||||||
*/
|
*/
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
static GdkAtom html_atom = GDK_NONE;
|
||||||
static GdkAtom utf8_string_atom = GDK_NONE;
|
static GdkAtom utf8_string_atom = GDK_NONE;
|
||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_GTK2
|
#ifndef HAVE_GTK2
|
||||||
@ -1364,6 +1368,24 @@ selection_received_cb(GtkWidget *widget UNUSED,
|
|||||||
else
|
else
|
||||||
text = tmpbuf_utf8;
|
text = tmpbuf_utf8;
|
||||||
}
|
}
|
||||||
|
else if (len >= 2 && text[0] == 0xff && text[1] == 0xfe)
|
||||||
|
{
|
||||||
|
vimconv_T conv;
|
||||||
|
|
||||||
|
/* UTF-16, we get this for HTML */
|
||||||
|
conv.vc_type = CONV_NONE;
|
||||||
|
convert_setup_ext(&conv, (char_u *)"utf-16le", FALSE, p_enc, TRUE);
|
||||||
|
|
||||||
|
if (conv.vc_type != CONV_NONE)
|
||||||
|
{
|
||||||
|
text += 2;
|
||||||
|
len -= 2;
|
||||||
|
tmpbuf = string_convert(&conv, text, &len);
|
||||||
|
convert_setup(&conv, NULL, NULL);
|
||||||
|
}
|
||||||
|
if (tmpbuf != NULL)
|
||||||
|
text = tmpbuf;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else /* !HAVE_GTK2 */
|
#else /* !HAVE_GTK2 */
|
||||||
# ifdef FEAT_MBYTE
|
# ifdef FEAT_MBYTE
|
||||||
@ -1451,6 +1473,7 @@ selection_get_cb(GtkWidget *widget UNUSED,
|
|||||||
|
|
||||||
if (info != (guint)TARGET_STRING
|
if (info != (guint)TARGET_STRING
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
&& (!clip_html || info != (guint)TARGET_HTML)
|
||||||
&& info != (guint)TARGET_UTF8_STRING
|
&& info != (guint)TARGET_UTF8_STRING
|
||||||
&& info != (guint)TARGET_VIMENC
|
&& info != (guint)TARGET_VIMENC
|
||||||
#endif
|
#endif
|
||||||
@ -1486,6 +1509,40 @@ selection_get_cb(GtkWidget *widget UNUSED,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
else if (info == (guint)TARGET_HTML)
|
||||||
|
{
|
||||||
|
vimconv_T conv;
|
||||||
|
|
||||||
|
/* Since we get utf-16, we probably should set it as well. */
|
||||||
|
conv.vc_type = CONV_NONE;
|
||||||
|
convert_setup_ext(&conv, p_enc, TRUE, (char_u *)"utf-16le", FALSE);
|
||||||
|
if (conv.vc_type != CONV_NONE)
|
||||||
|
{
|
||||||
|
tmpbuf = string_convert(&conv, string, &length);
|
||||||
|
convert_setup(&conv, NULL, NULL);
|
||||||
|
vim_free(string);
|
||||||
|
string = tmpbuf;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prepend the BOM: "fffe" */
|
||||||
|
if (string != NULL)
|
||||||
|
{
|
||||||
|
tmpbuf = alloc(length + 2);
|
||||||
|
tmpbuf[0] = 0xff;
|
||||||
|
tmpbuf[1] = 0xfe;
|
||||||
|
mch_memmove(tmpbuf + 2, string, (size_t)length);
|
||||||
|
vim_free(string);
|
||||||
|
string = tmpbuf;
|
||||||
|
length += 2;
|
||||||
|
|
||||||
|
selection_data->type = selection_data->target;
|
||||||
|
selection_data->format = 16; /* 16 bits per char */
|
||||||
|
gtk_selection_data_set(selection_data, html_atom, 16,
|
||||||
|
string, length);
|
||||||
|
vim_free(string);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
else if (info == (guint)TARGET_VIMENC)
|
else if (info == (guint)TARGET_VIMENC)
|
||||||
{
|
{
|
||||||
int l = STRLEN(p_enc);
|
int l = STRLEN(p_enc);
|
||||||
@ -3464,6 +3521,7 @@ gui_mch_init(void)
|
|||||||
|
|
||||||
/* Initialise atoms */
|
/* Initialise atoms */
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
html_atom = gdk_atom_intern("text/html", FALSE);
|
||||||
utf8_string_atom = gdk_atom_intern("UTF8_STRING", FALSE);
|
utf8_string_atom = gdk_atom_intern("UTF8_STRING", FALSE);
|
||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_GTK2
|
#ifndef HAVE_GTK2
|
||||||
@ -6665,6 +6723,10 @@ clip_mch_request_selection(VimClipboard *cbd)
|
|||||||
|
|
||||||
for (i = 0; i < N_SELECTION_TARGETS; ++i)
|
for (i = 0; i < N_SELECTION_TARGETS; ++i)
|
||||||
{
|
{
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (!clip_html && selection_targets[i].info == TARGET_HTML)
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
received_selection = RS_NONE;
|
received_selection = RS_NONE;
|
||||||
target = gdk_atom_intern(selection_targets[i].target, FALSE);
|
target = gdk_atom_intern(selection_targets[i].target, FALSE);
|
||||||
|
|
||||||
|
63
src/mbyte.c
63
src/mbyte.c
@ -3265,7 +3265,7 @@ encname2codepage(name)
|
|||||||
|
|
||||||
# if defined(USE_ICONV) || defined(PROTO)
|
# if defined(USE_ICONV) || defined(PROTO)
|
||||||
|
|
||||||
static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp));
|
static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp, int *resultlenp));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call iconv_open() with a check if iconv() works properly (there are broken
|
* Call iconv_open() with a check if iconv() works properly (there are broken
|
||||||
@ -3326,13 +3326,15 @@ my_iconv_open(to, from)
|
|||||||
* If "unconvlenp" is not NULL handle the string ending in an incomplete
|
* If "unconvlenp" is not NULL handle the string ending in an incomplete
|
||||||
* sequence and set "*unconvlenp" to the length of it.
|
* sequence and set "*unconvlenp" to the length of it.
|
||||||
* Returns the converted string in allocated memory. NULL for an error.
|
* Returns the converted string in allocated memory. NULL for an error.
|
||||||
|
* If resultlenp is not NULL, sets it to the result length in bytes.
|
||||||
*/
|
*/
|
||||||
static char_u *
|
static char_u *
|
||||||
iconv_string(vcp, str, slen, unconvlenp)
|
iconv_string(vcp, str, slen, unconvlenp, resultlenp)
|
||||||
vimconv_T *vcp;
|
vimconv_T *vcp;
|
||||||
char_u *str;
|
char_u *str;
|
||||||
int slen;
|
int slen;
|
||||||
int *unconvlenp;
|
int *unconvlenp;
|
||||||
|
int *resultlenp;
|
||||||
{
|
{
|
||||||
const char *from;
|
const char *from;
|
||||||
size_t fromlen;
|
size_t fromlen;
|
||||||
@ -3418,6 +3420,9 @@ iconv_string(vcp, str, slen, unconvlenp)
|
|||||||
/* Not enough room or skipping illegal sequence. */
|
/* Not enough room or skipping illegal sequence. */
|
||||||
done = to - (char *)result;
|
done = to - (char *)result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (resultlenp != NULL)
|
||||||
|
*resultlenp = (int)(to - (char *)result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5836,9 +5841,26 @@ convert_setup(vcp, from, to)
|
|||||||
vimconv_T *vcp;
|
vimconv_T *vcp;
|
||||||
char_u *from;
|
char_u *from;
|
||||||
char_u *to;
|
char_u *to;
|
||||||
|
{
|
||||||
|
return convert_setup_ext(vcp, from, TRUE, to, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* As convert_setup(), but only when from_unicode_is_utf8 is TRUE will all
|
||||||
|
* "from" unicode charsets be considered utf-8. Same for "to".
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
convert_setup_ext(vcp, from, from_unicode_is_utf8, to, to_unicode_is_utf8)
|
||||||
|
vimconv_T *vcp;
|
||||||
|
char_u *from;
|
||||||
|
int from_unicode_is_utf8;
|
||||||
|
char_u *to;
|
||||||
|
int to_unicode_is_utf8;
|
||||||
{
|
{
|
||||||
int from_prop;
|
int from_prop;
|
||||||
int to_prop;
|
int to_prop;
|
||||||
|
int from_is_utf8;
|
||||||
|
int to_is_utf8;
|
||||||
|
|
||||||
/* Reset to no conversion. */
|
/* Reset to no conversion. */
|
||||||
# ifdef USE_ICONV
|
# ifdef USE_ICONV
|
||||||
@ -5856,37 +5878,46 @@ convert_setup(vcp, from, to)
|
|||||||
|
|
||||||
from_prop = enc_canon_props(from);
|
from_prop = enc_canon_props(from);
|
||||||
to_prop = enc_canon_props(to);
|
to_prop = enc_canon_props(to);
|
||||||
if ((from_prop & ENC_LATIN1) && (to_prop & ENC_UNICODE))
|
if (from_unicode_is_utf8)
|
||||||
|
from_is_utf8 = from_prop & ENC_UNICODE;
|
||||||
|
else
|
||||||
|
from_is_utf8 = from_prop == ENC_UNICODE;
|
||||||
|
if (to_unicode_is_utf8)
|
||||||
|
to_is_utf8 = to_prop & ENC_UNICODE;
|
||||||
|
else
|
||||||
|
to_is_utf8 = to_prop == ENC_UNICODE;
|
||||||
|
|
||||||
|
if ((from_prop & ENC_LATIN1) && to_is_utf8)
|
||||||
{
|
{
|
||||||
/* Internal latin1 -> utf-8 conversion. */
|
/* Internal latin1 -> utf-8 conversion. */
|
||||||
vcp->vc_type = CONV_TO_UTF8;
|
vcp->vc_type = CONV_TO_UTF8;
|
||||||
vcp->vc_factor = 2; /* up to twice as long */
|
vcp->vc_factor = 2; /* up to twice as long */
|
||||||
}
|
}
|
||||||
else if ((from_prop & ENC_LATIN9) && (to_prop & ENC_UNICODE))
|
else if ((from_prop & ENC_LATIN9) && to_is_utf8)
|
||||||
{
|
{
|
||||||
/* Internal latin9 -> utf-8 conversion. */
|
/* Internal latin9 -> utf-8 conversion. */
|
||||||
vcp->vc_type = CONV_9_TO_UTF8;
|
vcp->vc_type = CONV_9_TO_UTF8;
|
||||||
vcp->vc_factor = 3; /* up to three as long (euro sign) */
|
vcp->vc_factor = 3; /* up to three as long (euro sign) */
|
||||||
}
|
}
|
||||||
else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN1))
|
else if (from_is_utf8 && (to_prop & ENC_LATIN1))
|
||||||
{
|
{
|
||||||
/* Internal utf-8 -> latin1 conversion. */
|
/* Internal utf-8 -> latin1 conversion. */
|
||||||
vcp->vc_type = CONV_TO_LATIN1;
|
vcp->vc_type = CONV_TO_LATIN1;
|
||||||
}
|
}
|
||||||
else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN9))
|
else if (from_is_utf8 && (to_prop & ENC_LATIN9))
|
||||||
{
|
{
|
||||||
/* Internal utf-8 -> latin9 conversion. */
|
/* Internal utf-8 -> latin9 conversion. */
|
||||||
vcp->vc_type = CONV_TO_LATIN9;
|
vcp->vc_type = CONV_TO_LATIN9;
|
||||||
}
|
}
|
||||||
#ifdef WIN3264
|
#ifdef WIN3264
|
||||||
/* Win32-specific codepage <-> codepage conversion without iconv. */
|
/* Win32-specific codepage <-> codepage conversion without iconv. */
|
||||||
else if (((from_prop & ENC_UNICODE) || encname2codepage(from) > 0)
|
else if ((from_is_utf8 || encname2codepage(from) > 0)
|
||||||
&& ((to_prop & ENC_UNICODE) || encname2codepage(to) > 0))
|
&& (to_is_utf8 || encname2codepage(to) > 0))
|
||||||
{
|
{
|
||||||
vcp->vc_type = CONV_CODEPAGE;
|
vcp->vc_type = CONV_CODEPAGE;
|
||||||
vcp->vc_factor = 2; /* up to twice as long */
|
vcp->vc_factor = 2; /* up to twice as long */
|
||||||
vcp->vc_cpfrom = (from_prop & ENC_UNICODE) ? 0 : encname2codepage(from);
|
vcp->vc_cpfrom = from_is_utf8 ? 0 : encname2codepage(from);
|
||||||
vcp->vc_cpto = (to_prop & ENC_UNICODE) ? 0 : encname2codepage(to);
|
vcp->vc_cpto = to_is_utf8 ? 0 : encname2codepage(to);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef MACOS_X
|
#ifdef MACOS_X
|
||||||
@ -5894,7 +5925,7 @@ convert_setup(vcp, from, to)
|
|||||||
{
|
{
|
||||||
vcp->vc_type = CONV_MAC_LATIN1;
|
vcp->vc_type = CONV_MAC_LATIN1;
|
||||||
}
|
}
|
||||||
else if ((from_prop & ENC_MACROMAN) && (to_prop & ENC_UNICODE))
|
else if ((from_prop & ENC_MACROMAN) && to_is_utf8)
|
||||||
{
|
{
|
||||||
vcp->vc_type = CONV_MAC_UTF8;
|
vcp->vc_type = CONV_MAC_UTF8;
|
||||||
vcp->vc_factor = 2; /* up to twice as long */
|
vcp->vc_factor = 2; /* up to twice as long */
|
||||||
@ -5903,7 +5934,7 @@ convert_setup(vcp, from, to)
|
|||||||
{
|
{
|
||||||
vcp->vc_type = CONV_LATIN1_MAC;
|
vcp->vc_type = CONV_LATIN1_MAC;
|
||||||
}
|
}
|
||||||
else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_MACROMAN))
|
else if (from_is_utf8 && (to_prop & ENC_MACROMAN))
|
||||||
{
|
{
|
||||||
vcp->vc_type = CONV_UTF8_MAC;
|
vcp->vc_type = CONV_UTF8_MAC;
|
||||||
}
|
}
|
||||||
@ -5913,8 +5944,8 @@ convert_setup(vcp, from, to)
|
|||||||
{
|
{
|
||||||
/* Use iconv() for conversion. */
|
/* Use iconv() for conversion. */
|
||||||
vcp->vc_fd = (iconv_t)my_iconv_open(
|
vcp->vc_fd = (iconv_t)my_iconv_open(
|
||||||
(to_prop & ENC_UNICODE) ? (char_u *)"utf-8" : to,
|
to_is_utf8 ? (char_u *)"utf-8" : to,
|
||||||
(from_prop & ENC_UNICODE) ? (char_u *)"utf-8" : from);
|
from_is_utf8 ? (char_u *)"utf-8" : from);
|
||||||
if (vcp->vc_fd != (iconv_t)-1)
|
if (vcp->vc_fd != (iconv_t)-1)
|
||||||
{
|
{
|
||||||
vcp->vc_type = CONV_ICONV;
|
vcp->vc_type = CONV_ICONV;
|
||||||
@ -6170,9 +6201,7 @@ string_convert_ext(vcp, ptr, lenp, unconvlenp)
|
|||||||
|
|
||||||
# ifdef USE_ICONV
|
# ifdef USE_ICONV
|
||||||
case CONV_ICONV: /* conversion with output_conv.vc_fd */
|
case CONV_ICONV: /* conversion with output_conv.vc_fd */
|
||||||
retval = iconv_string(vcp, ptr, len, unconvlenp);
|
retval = iconv_string(vcp, ptr, len, unconvlenp, lenp);
|
||||||
if (retval != NULL && lenp != NULL)
|
|
||||||
*lenp = (int)STRLEN(retval);
|
|
||||||
break;
|
break;
|
||||||
# endif
|
# endif
|
||||||
# ifdef WIN3264
|
# ifdef WIN3264
|
||||||
|
@ -7024,6 +7024,7 @@ check_clipboard_option()
|
|||||||
int new_unnamed = FALSE;
|
int new_unnamed = FALSE;
|
||||||
int new_autoselect = FALSE;
|
int new_autoselect = FALSE;
|
||||||
int new_autoselectml = FALSE;
|
int new_autoselectml = FALSE;
|
||||||
|
int new_html = FALSE;
|
||||||
regprog_T *new_exclude_prog = NULL;
|
regprog_T *new_exclude_prog = NULL;
|
||||||
char_u *errmsg = NULL;
|
char_u *errmsg = NULL;
|
||||||
char_u *p;
|
char_u *p;
|
||||||
@ -7047,6 +7048,11 @@ check_clipboard_option()
|
|||||||
new_autoselectml = TRUE;
|
new_autoselectml = TRUE;
|
||||||
p += 12;
|
p += 12;
|
||||||
}
|
}
|
||||||
|
else if (STRNCMP(p, "html", 4) == 0 && (p[4] == ',' || p[4] == NUL))
|
||||||
|
{
|
||||||
|
new_html = TRUE;
|
||||||
|
p += 4;
|
||||||
|
}
|
||||||
else if (STRNCMP(p, "exclude:", 8) == 0 && new_exclude_prog == NULL)
|
else if (STRNCMP(p, "exclude:", 8) == 0 && new_exclude_prog == NULL)
|
||||||
{
|
{
|
||||||
p += 8;
|
p += 8;
|
||||||
@ -7068,6 +7074,7 @@ check_clipboard_option()
|
|||||||
clip_unnamed = new_unnamed;
|
clip_unnamed = new_unnamed;
|
||||||
clip_autoselect = new_autoselect;
|
clip_autoselect = new_autoselect;
|
||||||
clip_autoselectml = new_autoselectml;
|
clip_autoselectml = new_autoselectml;
|
||||||
|
clip_html = new_html;
|
||||||
vim_free(clip_exclude_prog);
|
vim_free(clip_exclude_prog);
|
||||||
clip_exclude_prog = new_exclude_prog;
|
clip_exclude_prog = new_exclude_prog;
|
||||||
}
|
}
|
||||||
|
@ -676,6 +676,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
201,
|
||||||
/**/
|
/**/
|
||||||
200,
|
200,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user