mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.0.0935: cannot recognize a terminal buffer in :ls output
Problem: Cannot recognize a terminal buffer in :ls output. Solution: Use R for a running job and F for a finished job.
This commit is contained in:
parent
6b93b0e838
commit
304b64c9e6
22
src/buffer.c
22
src/buffer.c
@ -3034,6 +3034,8 @@ buflist_list(exarg_T *eap)
|
|||||||
buf_T *buf;
|
buf_T *buf;
|
||||||
int len;
|
int len;
|
||||||
int i;
|
int i;
|
||||||
|
int ro_char;
|
||||||
|
int changed_char;
|
||||||
|
|
||||||
for (buf = firstbuf; buf != NULL && !got_int; buf = buf->b_next)
|
for (buf = firstbuf; buf != NULL && !got_int; buf = buf->b_next)
|
||||||
{
|
{
|
||||||
@ -3060,6 +3062,21 @@ buflist_list(exarg_T *eap)
|
|||||||
if (message_filtered(NameBuff))
|
if (message_filtered(NameBuff))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
changed_char = (buf->b_flags & BF_READERR) ? 'x'
|
||||||
|
: (bufIsChanged(buf) ? '+' : ' ');
|
||||||
|
#ifdef FEAT_TERMINAL
|
||||||
|
if (term_job_running(buf->b_term))
|
||||||
|
{
|
||||||
|
ro_char = 'R';
|
||||||
|
changed_char = ' '; /* bufIsChanged() returns TRUE to avoid
|
||||||
|
* closing, but it's not actually changed. */
|
||||||
|
}
|
||||||
|
else if (buf->b_term != NULL)
|
||||||
|
ro_char = 'F';
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
ro_char = !buf->b_p_ma ? '-' : (buf->b_p_ro ? '=' : ' ');
|
||||||
|
|
||||||
msg_putchar('\n');
|
msg_putchar('\n');
|
||||||
len = vim_snprintf((char *)IObuff, IOSIZE - 20, "%3d%c%c%c%c%c \"%s\"",
|
len = vim_snprintf((char *)IObuff, IOSIZE - 20, "%3d%c%c%c%c%c \"%s\"",
|
||||||
buf->b_fnum,
|
buf->b_fnum,
|
||||||
@ -3068,9 +3085,8 @@ buflist_list(exarg_T *eap)
|
|||||||
(curwin->w_alt_fnum == buf->b_fnum ? '#' : ' '),
|
(curwin->w_alt_fnum == buf->b_fnum ? '#' : ' '),
|
||||||
buf->b_ml.ml_mfp == NULL ? ' ' :
|
buf->b_ml.ml_mfp == NULL ? ' ' :
|
||||||
(buf->b_nwindows == 0 ? 'h' : 'a'),
|
(buf->b_nwindows == 0 ? 'h' : 'a'),
|
||||||
!buf->b_p_ma ? '-' : (buf->b_p_ro ? '=' : ' '),
|
ro_char,
|
||||||
(buf->b_flags & BF_READERR) ? 'x'
|
changed_char,
|
||||||
: (bufIsChanged(buf) ? '+' : ' '),
|
|
||||||
NameBuff);
|
NameBuff);
|
||||||
if (len > IOSIZE - 20)
|
if (len > IOSIZE - 20)
|
||||||
len = IOSIZE - 20;
|
len = IOSIZE - 20;
|
||||||
|
@ -769,6 +769,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 */
|
||||||
|
/**/
|
||||||
|
935,
|
||||||
/**/
|
/**/
|
||||||
934,
|
934,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user