]> git.eshelyaron.com Git - emacs.git/commitdiff
Refactor process mark setting
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 24 Sep 2020 15:08:30 +0000 (17:08 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 24 Sep 2020 15:08:30 +0000 (17:08 +0200)
* src/process.c (update_process_mark): Make into its own function.
(Fmake_process, Fmake_pipe_process, Fmake_serial_process)
(connect_network_socket): Use it.

src/process.c

index 53f4a1d8530a6a923fb055f27d431a5e6aa8ec04..948d13364687d5d80dde3cd4ce9d96c1e7ca7be4 100644 (file)
@@ -1637,6 +1637,16 @@ DEFUN ("process-list", Fprocess_list, Sprocess_list, 0, 0, 0,
   return Fmapcar (Qcdr, Vprocess_alist);
 }
 \f
+static void
+update_process_mark (struct Lisp_Process *p)
+{
+  Lisp_Object buffer = p->buffer;
+  if (BUFFERP (buffer))
+    set_marker_both (p->mark, buffer,
+                    BUF_ZV (XBUFFER (buffer)),
+                    BUF_ZV_BYTE (XBUFFER (buffer)));
+}
+
 /* Starting asynchronous inferior processes.  */
 
 DEFUN ("make-process", Fmake_process, Smake_process, 0, MANY, 0,
@@ -1805,10 +1815,7 @@ usage: (make-process &rest ARGS)  */)
        : EQ (Vprocess_adaptive_read_buffering, Qt) ? 1 : 2);
 
   /* Make the process marker point into the process buffer (if any).  */
-  if (BUFFERP (buffer))
-    set_marker_both (XPROCESS (proc)->mark, buffer,
-                    BUF_ZV (XBUFFER (buffer)),
-                    BUF_ZV_BYTE (XBUFFER (buffer)));
+  update_process_mark (XPROCESS (proc));
 
   USE_SAFE_ALLOCA;
 
@@ -2453,10 +2460,7 @@ usage:  (make-pipe-process &rest ARGS)  */)
        : EQ (Vprocess_adaptive_read_buffering, Qt) ? 1 : 2);
 
   /* Make the process marker point into the process buffer (if any).  */
-  if (BUFFERP (buffer))
-    set_marker_both (p->mark, buffer,
-                    BUF_ZV (XBUFFER (buffer)),
-                    BUF_ZV_BYTE (XBUFFER (buffer)));
+  update_process_mark (p);
 
   {
     /* Setup coding systems for communicating with the network stream.  */
@@ -3182,12 +3186,7 @@ usage:  (make-serial-process &rest ARGS)  */)
   if (!EQ (p->command, Qt))
     add_process_read_fd (fd);
 
-  if (BUFFERP (buffer))
-    {
-      set_marker_both (p->mark, buffer,
-                      BUF_ZV (XBUFFER (buffer)),
-                      BUF_ZV_BYTE (XBUFFER (buffer)));
-    }
+  update_process_mark (p);
 
   tem = Fplist_get (contact, QCcoding);
 
@@ -3664,10 +3663,7 @@ connect_network_socket (Lisp_Object proc, Lisp_Object addrinfos,
     pset_status (p, Qlisten);
 
   /* Make the process marker point into the process buffer (if any).  */
-  if (BUFFERP (p->buffer))
-    set_marker_both (p->mark, p->buffer,
-                    BUF_ZV (XBUFFER (p->buffer)),
-                    BUF_ZV_BYTE (XBUFFER (p->buffer)));
+  update_process_mark (p);
 
   if (p->is_non_blocking_client)
     {