Commit 645c8597 authored by Stefan Monnier's avatar Stefan Monnier

* src/process.c (status_notify): Avoid global redisplay (bug#11822)

* src/process.c (status_notify): Only set the update_mode_line on the
relevant buffers rather than setting it globally.
parent 10e7f7de
......@@ -6694,10 +6694,12 @@ status_notify (struct Lisp_Process *deleting_process,
p->update_tick = p->tick;
/* Now output the message suitably. */
exec_sentinel (proc, msg);
if (BUFFERP (p->buffer))
/* In case it uses %s in mode-line-format. */
bset_update_mode_line (XBUFFER (p->buffer));
}
} /* end for */
update_mode_lines = 24; /* In case buffers use %s in mode-line-format. */
return got_some_output;
}
......
......@@ -43,25 +43,25 @@ struct Lisp_Process
/* Name of subprocess terminal. */
Lisp_Object tty_name;
/* Name of this process */
/* Name of this process. */
Lisp_Object name;
/* List of command arguments that this process was run with.
Is set to t for a stopped network process; nil otherwise. */
Is set to t for a stopped network process; nil otherwise. */
Lisp_Object command;
/* (funcall FILTER PROC STRING) (if FILTER is non-nil)
to dispose of a bunch of chars from the process all at once */
to dispose of a bunch of chars from the process all at once. */
Lisp_Object filter;
/* (funcall SENTINEL PROCESS) when process state changes */
/* (funcall SENTINEL PROCESS) when process state changes. */
Lisp_Object sentinel;
/* (funcall LOG SERVER CLIENT MESSAGE) when a server process
accepts a connection from a client. */
Lisp_Object log;
/* Buffer that output is going to */
/* Buffer that output is going to. */
Lisp_Object buffer;
/* t if this is a real child process. For a network or serial
......@@ -73,10 +73,10 @@ struct Lisp_Process
/* Plist for programs to keep per-process state information, parameters, etc. */
Lisp_Object plist;
/* Symbol indicating the type of process: real, network, serial */
/* Symbol indicating the type of process: real, network, serial. */
Lisp_Object type;
/* Marker set to end of last buffer-inserted output from this process */
/* Marker set to end of last buffer-inserted output from this process. */
Lisp_Object mark;
/* Symbol indicating status of process.
......@@ -98,7 +98,7 @@ struct Lisp_Process
/* Working buffer for encoding. */
Lisp_Object encoding_buf;
/* Queue for storing waiting writes */
/* Queue for storing waiting writes. */
Lisp_Object write_queue;
#ifdef HAVE_GNUTLS
......@@ -116,9 +116,9 @@ struct Lisp_Process
A value 0 is used for pseudo-processes such as network or serial
connections. */
pid_t pid;
/* Descriptor by which we read from this process */
/* Descriptor by which we read from this process. */
int infd;
/* Descriptor by which we write to this process */
/* Descriptor by which we write to this process. */
int outfd;
/* Descriptors that were created for this process and that need
closing. Unused entries are negative. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment