summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-08 05:05:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-08 05:05:34 +0000
commitcbedd7c5597b906e5de95debeced81743a21a9f1 (patch)
tree23004fa91a33d235aa7c06049d3420a238f24eb7 /debian/patches/upstream
parentReleasing debian version 2:8.1.0875-5+deb10u2progress5u1. (diff)
downloadvim-cbedd7c5597b906e5de95debeced81743a21a9f1.tar.xz
vim-cbedd7c5597b906e5de95debeced81743a21a9f1.zip
Merging debian version 2:8.1.0875-5+deb10u3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch8
-rw-r--r--debian/patches/upstream/deb-release-names.patch4
-rw-r--r--debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch49
-rw-r--r--debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch12
-rw-r--r--debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch14
-rw-r--r--debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch8
-rw-r--r--debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch6
-rw-r--r--debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch8
-rw-r--r--debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch6
9 files changed, 26 insertions, 89 deletions
diff --git a/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch b/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
index f26c02a..2615e36 100644
--- a/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
+++ b/debian/patches/upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
@@ -22,8 +22,6 @@ preprocessor's __DATE__/__TIME__ symbols will be used.
src/version.c | 8 ++++++++
3 files changed, 21 insertions(+)
-diff --git a/src/config.h.in b/src/config.h.in
-index d1aaf70..78cf319 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -30,6 +30,9 @@
@@ -36,11 +34,9 @@ index d1aaf70..78cf319 100644
/* Define when __attribute__((unused)) can be used */
#undef HAVE_ATTRIBUTE_UNUSED
-diff --git a/src/configure.ac b/src/configure.ac
-index 2b7725b..21ca7a1 100644
--- a/src/configure.ac
+++ b/src/configure.ac
-@@ -62,6 +62,16 @@ if test x"$ac_cv_prog_cc_c99" != xno; then
+@@ -62,6 +62,16 @@ if test x"$ac_cv_prog_cc_c99" != xno; th
fi
fi
@@ -57,8 +53,6 @@ index 2b7725b..21ca7a1 100644
dnl Check for the flag that fails if stuff are missing.
AC_MSG_CHECKING(--enable-fail-if-missing argument)
-diff --git a/src/version.c b/src/version.c
-index 9b2e7c9..0b86826 100644
--- a/src/version.c
+++ b/src/version.c
@@ -44,9 +44,13 @@ init_longVersion(void)
diff --git a/debian/patches/upstream/deb-release-names.patch b/debian/patches/upstream/deb-release-names.patch
index 42b72dd..22dcad3 100644
--- a/debian/patches/upstream/deb-release-names.patch
+++ b/debian/patches/upstream/deb-release-names.patch
@@ -8,8 +8,6 @@ Signed-off-by: James McCoy <jamessan@debian.org>
runtime/syntax/debsources.vim | 7 ++++---
2 files changed, 6 insertions(+), 5 deletions(-)
-diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
-index 4ca4c29..9d6dfe9 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
@@ -30,8 +28,6 @@ index 4ca4c29..9d6dfe9 100644
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
-diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
-index 4b21941..f90476f 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
diff --git a/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
index 01e9ad7..ce97d77 100644
--- a/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
+++ b/debian/patches/upstream/patch-8.1.0881-can-execute-shell-commands-in-rvim-through.patch
@@ -19,11 +19,9 @@ Solution: Disable using interfaces in restricted mode. Allow for writing
8 files changed, 151 insertions(+), 18 deletions(-)
create mode 100644 src/testdir/test_restricted.vim
-diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
-index 711a487..6289e9c 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
-@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
+@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "
changes and writing.
{not in Vi}
@@ -46,11 +44,9 @@ index 711a487..6289e9c 100644
{not in Vi}
*-g*
-diff --git a/src/evalfunc.c b/src/evalfunc.c
-index fa7ed9b..eb082b7 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
-@@ -6817,7 +6817,7 @@ f_histadd(typval_T *argvars UNUSED, typval_T *rettv)
+@@ -6817,7 +6817,7 @@ f_histadd(typval_T *argvars UNUSED, typv
#endif
rettv->vval.v_number = FALSE;
@@ -59,7 +55,7 @@ index fa7ed9b..eb082b7 100644
return;
#ifdef FEAT_CMDHIST
str = tv_get_string_chk(&argvars[0]); /* NULL on type error */
-@@ -7898,6 +7898,9 @@ f_luaeval(typval_T *argvars, typval_T *rettv)
+@@ -7898,6 +7898,9 @@ f_luaeval(typval_T *argvars, typval_T *r
char_u *str;
char_u buf[NUMBUFLEN];
@@ -69,7 +65,7 @@ index fa7ed9b..eb082b7 100644
str = tv_get_string_buf(&argvars[0], buf);
do_luaeval(str, argvars + 1, rettv);
}
-@@ -8644,6 +8647,8 @@ f_mzeval(typval_T *argvars, typval_T *rettv)
+@@ -8644,6 +8647,8 @@ f_mzeval(typval_T *argvars, typval_T *re
char_u *str;
char_u buf[NUMBUFLEN];
@@ -78,7 +74,7 @@ index fa7ed9b..eb082b7 100644
str = tv_get_string_buf(&argvars[0], buf);
do_mzeval(str, rettv);
}
-@@ -8932,6 +8937,9 @@ f_py3eval(typval_T *argvars, typval_T *rettv)
+@@ -8932,6 +8937,9 @@ f_py3eval(typval_T *argvars, typval_T *r
char_u *str;
char_u buf[NUMBUFLEN];
@@ -88,7 +84,7 @@ index fa7ed9b..eb082b7 100644
if (p_pyx == 0)
p_pyx = 3;
-@@ -8950,6 +8958,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
+@@ -8950,6 +8958,9 @@ f_pyeval(typval_T *argvars, typval_T *re
char_u *str;
char_u buf[NUMBUFLEN];
@@ -98,7 +94,7 @@ index fa7ed9b..eb082b7 100644
if (p_pyx == 0)
p_pyx = 2;
-@@ -8965,6 +8976,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
+@@ -8965,6 +8976,9 @@ f_pyeval(typval_T *argvars, typval_T *re
static void
f_pyxeval(typval_T *argvars, typval_T *rettv)
{
@@ -108,7 +104,7 @@ index fa7ed9b..eb082b7 100644
# if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
init_pyxversion();
if (p_pyx == 2)
-@@ -10819,7 +10833,7 @@ f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED)
+@@ -10819,7 +10833,7 @@ f_setbufvar(typval_T *argvars, typval_T
typval_T *varp;
char_u nbuf[NUMBUFLEN];
@@ -117,7 +113,7 @@ index fa7ed9b..eb082b7 100644
return;
(void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
varname = tv_get_string_chk(&argvars[1]);
-@@ -11341,7 +11355,7 @@ f_settabvar(typval_T *argvars, typval_T *rettv)
+@@ -11341,7 +11355,7 @@ f_settabvar(typval_T *argvars, typval_T
rettv->vval.v_number = 0;
@@ -126,7 +122,7 @@ index fa7ed9b..eb082b7 100644
return;
tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
-@@ -14714,7 +14728,7 @@ f_writefile(typval_T *argvars, typval_T *rettv)
+@@ -14714,7 +14728,7 @@ f_writefile(typval_T *argvars, typval_T
blob_T *blob = NULL;
rettv->vval.v_number = -1;
@@ -135,8 +131,6 @@ index fa7ed9b..eb082b7 100644
return;
if (argvars[0].v_type == VAR_LIST)
-diff --git a/src/ex_cmds.c b/src/ex_cmds.c
-index a3974c1..681ef42 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4775,7 +4775,7 @@ check_restricted(void)
@@ -148,8 +142,6 @@ index a3974c1..681ef42 100644
return TRUE;
}
return FALSE;
-diff --git a/src/ex_docmd.c b/src/ex_docmd.c
-index b90ea7b..ccca2f9 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2007,11 +2007,16 @@ do_one_cmd(
@@ -170,8 +162,6 @@ index b90ea7b..ccca2f9 100644
if (!curbuf->b_p_ma && (ea.argt & MODIFY))
{
/* Command not allowed in non-'modifiable' buffer */
-diff --git a/src/if_perl.xs b/src/if_perl.xs
-index 203bb6a..67d0b94 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -971,6 +971,7 @@ VIM_init(void)
@@ -206,7 +196,7 @@ index 203bb6a..67d0b94 100644
perl_eval_sv(sv, G_DISCARD | G_NOARGS);
SvREFCNT_dec(sv);
-@@ -1298,13 +1297,12 @@ do_perleval(char_u *str, typval_T *rettv)
+@@ -1298,13 +1297,12 @@ do_perleval(char_u *str, typval_T *rettv
ENTER;
SAVETMPS;
@@ -222,7 +212,7 @@ index 203bb6a..67d0b94 100644
else
# endif
{
-@@ -1320,7 +1318,6 @@ do_perleval(char_u *str, typval_T *rettv)
+@@ -1320,7 +1318,6 @@ do_perleval(char_u *str, typval_T *rettv
}
}
else
@@ -230,8 +220,6 @@ index 203bb6a..67d0b94 100644
sv = eval_pv((char *)str, 0);
if (sv) {
-diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
-index 5857a22..2ca5f2b 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -213,6 +213,7 @@ NEW_TESTS = \
@@ -250,9 +238,6 @@ index 5857a22..2ca5f2b 100644
test_retab.res \
test_ruby.res \
test_scriptnames.res \
-diff --git a/src/testdir/test_restricted.vim b/src/testdir/test_restricted.vim
-new file mode 100644
-index 0000000..9dd937c
--- /dev/null
+++ b/src/testdir/test_restricted.vim
@@ -0,0 +1,107 @@
@@ -363,16 +348,14 @@ index 0000000..9dd937c
+ call Run_restricted_test('tcldo puts "Hello"', 'E981:')
+ call Run_restricted_test('tclfile somefile', 'E981:')
+endfunc
-diff --git a/src/version.c b/src/version.c
-index 1b5d863..adb3441 100644
--- a/src/version.c
+++ b/src/version.c
-@@ -809,6 +809,8 @@ static int included_patches[] =
- 948,
+@@ -810,6 +810,8 @@ static int included_patches[] =
/**/
884,
-+/**/
-+ 881,
/**/
++ 881,
++/**/
878,
/**/
+ 875,
diff --git a/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch b/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
index 6f2d6eb..cbfbb19 100644
--- a/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
+++ b/debian/patches/upstream/patch-8.1.0883-missing-some-changes-for-Ex-commands.patch
@@ -10,8 +10,6 @@ Solution: Add mising changes in header file.
src/version.c | 2 ++
2 files changed, 25 insertions(+), 22 deletions(-)
-diff --git a/src/ex_cmds.h b/src/ex_cmds.h
-index 07afb00..eed4ce2 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -57,6 +57,7 @@
@@ -135,16 +133,14 @@ index 07afb00..eed4ce2 100644
ADDR_LINES),
EX(CMD_tearoff, "tearoff", ex_tearoff,
NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
-diff --git a/src/version.c b/src/version.c
-index adb3441..6d29f39 100644
--- a/src/version.c
+++ b/src/version.c
-@@ -809,6 +809,8 @@ static int included_patches[] =
- 948,
+@@ -810,6 +810,8 @@ static int included_patches[] =
/**/
884,
-+/**/
-+ 883,
/**/
++ 883,
++/**/
881,
/**/
+ 878,
diff --git a/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch b/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
index 8d1eebc..22d3f2d 100644
--- a/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
+++ b/debian/patches/upstream/patch-8.1.0936-may-leak-memory-when-using-vartabstop.patch
@@ -11,8 +11,6 @@ Solution: Fix handling allocated memory for 'vartabstop'. (closes #3976)
src/version.c | 2 ++
3 files changed, 12 insertions(+), 7 deletions(-)
-diff --git a/src/buffer.c b/src/buffer.c
-index 2c5c282..590a63c 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2170,9 +2170,7 @@ free_buf_options(
@@ -26,8 +24,6 @@ index 2c5c282..590a63c 100644
#endif
#ifdef FEAT_KEYMAP
clear_string_option(&buf->b_p_keymap);
-diff --git a/src/option.c b/src/option.c
-index e3f5f5d..4d067c0 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5611,7 +5611,9 @@ didset_options2(void)
@@ -80,16 +76,14 @@ index e3f5f5d..4d067c0 100644
(*array)[0] = valcount;
t = 1;
-diff --git a/src/version.c b/src/version.c
-index 6d29f39..6bac28e 100644
--- a/src/version.c
+++ b/src/version.c
-@@ -807,6 +807,8 @@ static int included_patches[] =
- 1046,
+@@ -808,6 +808,8 @@ static int included_patches[] =
/**/
948,
-+/**/
-+ 936,
/**/
++ 936,
++/**/
884,
/**/
+ 883,
diff --git a/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch b/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
index ca826e0..787f781 100644
--- a/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
+++ b/debian/patches/upstream/patch-8.2.3402-invalid-memory-access-when-using-retab-wit.patch
@@ -13,8 +13,6 @@ Solution: Check the number is positive.
src/version.c | 1 +
4 files changed, 32 insertions(+), 20 deletions(-)
-diff --git a/src/ex_cmds.c b/src/ex_cmds.c
-index 681ef42..08d71e4 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -698,7 +698,7 @@ ex_retab(exarg_T *eap)
@@ -26,8 +24,6 @@ index 681ef42..08d71e4 100644
return;
while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',')
++(eap->arg);
-diff --git a/src/option.c b/src/option.c
-index 4d067c0..3ebd443 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5612,9 +5612,9 @@ didset_options2(void)
@@ -170,8 +166,6 @@ index 4d067c0..3ebd443 100644
}
/*
-diff --git a/src/testdir/test_retab.vim b/src/testdir/test_retab.vim
-index f11a32b..e7b8946 100644
--- a/src/testdir/test_retab.vim
+++ b/src/testdir/test_retab.vim
@@ -74,4 +74,7 @@ endfunc
@@ -182,8 +176,6 @@ index f11a32b..e7b8946 100644
+ call assert_fails('ret 10000', 'E475:')
+ call assert_fails('ret 80000000000000000000', 'E475:')
endfunc
-diff --git a/src/version.c b/src/version.c
-index 6bac28e..bd19aac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -2580,6 +2580,7 @@ static int included_patches[] =
diff --git a/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch b/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
index 18f205c..ceec31f 100644
--- a/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
+++ b/debian/patches/upstream/patch-8.2.3403-memory-leak-for-retab-with-invalid-argumen.patch
@@ -11,8 +11,6 @@ Solution: Free the memory. Make error messages consistent.
src/version.c | 1 +
3 files changed, 12 insertions(+), 2 deletions(-)
-diff --git a/src/ex_cmds.c b/src/ex_cmds.c
-index 08d71e4..3200173 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -714,12 +714,18 @@ ex_retab(exarg_T *eap)
@@ -36,8 +34,6 @@ index 08d71e4..3200173 100644
if (new_ts == 0)
new_ts = curbuf->b_p_ts;
#endif
-diff --git a/src/option.c b/src/option.c
-index 3ebd443..12d903f 100644
--- a/src/option.c
+++ b/src/option.c
@@ -12859,9 +12859,12 @@ tabstop_set(char_u *var, int **array)
@@ -53,8 +49,6 @@ index 3ebd443..12d903f 100644
return FAIL;
}
(*array)[t++] = n;
-diff --git a/src/version.c b/src/version.c
-index bd19aac..cfe1486 100644
--- a/src/version.c
+++ b/src/version.c
@@ -2581,6 +2581,7 @@ static int included_patches[] =
diff --git a/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch b/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
index 0ad00be..3a2acff 100644
--- a/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
+++ b/debian/patches/upstream/patch-8.2.3409-reading-beyond-end-of-line-with-invalid-ut.patch
@@ -12,11 +12,9 @@ Solution: Check for NUL when advancing.
src/version.c | 1 +
3 files changed, 13 insertions(+), 1 deletion(-)
-diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
-index 031a6cf..b9562c6 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
-@@ -5414,7 +5414,8 @@ find_match_text(colnr_T startcol, int regstart, char_u *match_text)
+@@ -5414,7 +5414,8 @@ find_match_text(colnr_T startcol, int re
match = FALSE;
break;
}
@@ -26,8 +24,6 @@ index 031a6cf..b9562c6 100644
}
if (match
/* check that no composing char follows */
-diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim
-index 98b9e73..75485dc 100644
--- a/src/testdir/test_regexp_utf8.vim
+++ b/src/testdir/test_regexp_utf8.vim
@@ -206,3 +206,13 @@ func Test_large_class()
@@ -44,8 +40,6 @@ index 98b9e73..75485dc 100644
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
-diff --git a/src/version.c b/src/version.c
-index cfe1486..a3eca1e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -2582,6 +2582,7 @@ static char *(extra_patches[]) =
diff --git a/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch b/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
index 16832ad..cdd37a0 100644
--- a/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
+++ b/debian/patches/upstream/patch-8.2.3428-using-freed-memory-when-replacing.patch
@@ -11,8 +11,6 @@ Solution: Get the line pointer after calling ins_copychar().
src/version.c | 1 +
3 files changed, 22 insertions(+), 3 deletions(-)
-diff --git a/src/normal.c b/src/normal.c
-index 41af966..2c36c15 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7056,19 +7056,23 @@ nv_replace(cmdarg_T *cap)
@@ -42,8 +40,6 @@ index 41af966..2c36c15 100644
if (p_sm && msg_silent == 0)
showmatch(cap->nchar);
++curwin->w_cursor.col;
-diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
-index 9a60d01..2e050c2 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -1436,3 +1436,17 @@ func Test_leave_insert_autocmd()
@@ -64,8 +60,6 @@ index 9a60d01..2e050c2 100644
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
-diff --git a/src/version.c b/src/version.c
-index a3eca1e..c4a502f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -2583,6 +2583,7 @@ static char *(extra_patches[]) =