Mercurial > vim
comparison src/os_win32.c @ 14063:f39150ec146e v8.1.0049
patch 8.1.0049: shell cannot tell running in a terminal window
commit https://github.com/vim/vim/commit/d7a137fb0d980545dd567bee9c24cf7b9c3a2eae
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 12 18:05:24 2018 +0200
patch 8.1.0049: shell cannot tell running in a terminal window
Problem: Shell cannot tell running in a terminal window.
Solution: Add the VIM_TERMINAL environment variable. (Christian Brabandt)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 12 Jun 2018 18:15:05 +0200 |
parents | 1ea18443d569 |
children | e271ca6f32f9 |
comparison
equal
deleted
inserted
replaced
14062:bc0f80e06d2f | 14063:f39150ec146e |
---|---|
5273 if (wval != NULL) vim_free(wval); | 5273 if (wval != NULL) vim_free(wval); |
5274 } | 5274 } |
5275 } | 5275 } |
5276 } | 5276 } |
5277 | 5277 |
5278 if (is_terminal) | |
5279 { | |
5278 # ifdef FEAT_CLIENTSERVER | 5280 # ifdef FEAT_CLIENTSERVER |
5279 if (is_terminal) | |
5280 { | |
5281 char_u *servername = get_vim_var_str(VV_SEND_SERVER); | 5281 char_u *servername = get_vim_var_str(VV_SEND_SERVER); |
5282 size_t lval = STRLEN(servername); | 5282 size_t servername_len = STRLEN(servername); |
5283 size_t n; | 5283 # endif |
5284 | 5284 char_u *version = get_vim_var_str(VV_VERSION); |
5285 if (ga_grow(gap, (int)(14 + lval + 2)) == OK) | 5285 size_t version_len = STRLEN(version); |
5286 { | 5286 // size of "VIM_SERVERNAME=" and value, |
5287 // plus "VIM_TERMINAL=" and value, | |
5288 // plus two terminating NULs | |
5289 size_t n = 0 | |
5290 # ifdef FEAT_CLIENTSERVER | |
5291 + 15 + servername_len | |
5292 # endif | |
5293 + 13 + version_len + 2; | |
5294 | |
5295 if (ga_grow(gap, (int)n) == OK) | |
5296 { | |
5297 # ifdef FEAT_CLIENTSERVER | |
5287 for (n = 0; n < 15; n++) | 5298 for (n = 0; n < 15; n++) |
5288 *((WCHAR*)gap->ga_data + gap->ga_len++) = | 5299 *((WCHAR*)gap->ga_data + gap->ga_len++) = |
5289 (WCHAR)"VIM_SERVERNAME="[n]; | 5300 (WCHAR)"VIM_SERVERNAME="[n]; |
5290 for (n = 0; n < lval; n++) | 5301 for (n = 0; n < servername_len; n++) |
5291 *((WCHAR*)gap->ga_data + gap->ga_len++) = | 5302 *((WCHAR*)gap->ga_data + gap->ga_len++) = |
5292 (WCHAR)servername[n]; | 5303 (WCHAR)servername[n]; |
5293 *((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0'; | 5304 *((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0'; |
5294 } | |
5295 } | |
5296 # endif | 5305 # endif |
5306 for (n = 0; n < 13; n++) | |
5307 *((WCHAR*)gap->ga_data + gap->ga_len++) = | |
5308 (WCHAR)"VIM_TERMINAL="[n]; | |
5309 for (n = 0; n < version_len; n++) | |
5310 *((WCHAR*)gap->ga_data + gap->ga_len++) = | |
5311 (WCHAR)version[n]; | |
5312 *((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0'; | |
5313 } | |
5314 } | |
5297 } | 5315 } |
5298 | 5316 |
5299 void | 5317 void |
5300 mch_job_start(char *cmd, job_T *job, jobopt_T *options) | 5318 mch_job_start(char *cmd, job_T *job, jobopt_T *options) |
5301 { | 5319 { |