emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 645c859: * src/process.c (status_notify): Avoid glo


From: Stefan Monnier
Subject: [Emacs-diffs] master 645c859: * src/process.c (status_notify): Avoid global redisplay (bug#11822)
Date: Tue, 08 Sep 2015 13:06:55 +0000

branch: master
commit 645c8597e7f9fbc90ffe227d2be8ce383b0777ae
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * 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.
---
 src/process.c |    4 +++-
 src/process.h |   20 ++++++++++----------
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/process.c b/src/process.c
index f4613be..26f26c3 100644
--- a/src/process.c
+++ b/src/process.c
@@ -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;
 }
 
diff --git a/src/process.h b/src/process.h
index e889055..24bad45 100644
--- a/src/process.h
+++ b/src/process.h
@@ -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.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]