Commit: patch 9.2.0251: Link error when building without channel feature

1 view
Skip to first unread message

Christian Brabandt

unread,
Mar 26, 2026, 3:47:11 PM (14 hours ago) Mar 26
to vim...@googlegroups.com
patch 9.2.0251: Link error when building without channel feature

Commit: https://github.com/vim/vim/commit/68b3585e1db3a9e930b77cbce783b3507be4a3c0
Author: Yasuhiro Matsumoto <matt...@gmail.com>
Date: Thu Mar 26 19:32:49 2026 +0000

patch 9.2.0251: Link error when building without channel feature

Problem: Compile error when building without channel feature
(John Marriott, after v9.2.0250)
Solution: Update ifdefs and move implementation out of FEAT_JOB_CHANNEL
(Yasuhiro Matsumoto)

Move build_argv_from_list() and mch_get_cmd_output_direct() out of
FEAT_JOB_CHANNEL guards so that system() with a List argument works
in builds that have FEAT_EVAL but not FEAT_JOB_CHANNEL (e.g.
FEAT_NORMAL without GUI).

related: #19791
closes: #19826

Signed-off-by: Yasuhiro Matsumoto <matt...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/misc2.c b/src/misc2.c
index 2056700e4..a7f52e55e 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -3095,7 +3095,9 @@ build_argv_from_string(char_u *cmd, char ***argv, int *argc)
return OK;
}

-# if defined(FEAT_JOB_CHANNEL)
+#endif
+
+#if defined(FEAT_EVAL)
/*
* Build "argv[argc]" from the list "l".
* "argv[argc]" is set to NULL;
@@ -3130,7 +3132,6 @@ build_argv_from_list(list_T *l, char ***argv, int *argc)
(*argv)[*argc] = NULL;
return OK;
}
-# endif
#endif

/*
diff --git a/src/os_win32.c b/src/os_win32.c
index 3d5b095c3..431d3b548 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -5960,7 +5960,9 @@ create_pipe_pair(HANDLE handles[2])
return TRUE;
}

-# if defined(FEAT_EVAL)
+#endif // FEAT_JOB_CHANNEL
+
+#if defined(FEAT_EVAL)
/*
* Execute "argv" directly without the shell and return the output.
* Used by system() and systemlist() when the command is a List.
@@ -6171,8 +6173,9 @@ done:
CloseHandle(hChildStdinRd);
return buffer;
}
-# endif
+#endif // FEAT_EVAL

+#if defined(FEAT_JOB_CHANNEL)
void
mch_job_start(char *cmd, job_T *job, jobopt_T *options)
{
diff --git a/src/version.c b/src/version.c
index f761cbd30..862b5b12a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 251,
/**/
250,
/**/
Reply all
Reply to author
Forward
0 new messages