gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: run-process


From: Camm Maguire
Subject: [Gcl-devel] Re: run-process
Date: 07 Mar 2005 18:31:08 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

root <address@hidden> writes:

> Camm,
> 
> It appears that run-process is commented out in the linux version.
> Any idea why? I need this function because I'm using run-process
> to start the new lisp-based browser.
> 

There is no good reason apart from history.  Here is a patch, just
applied against CVS, reenabling and cleaning a few things up:

=============================================================================
Index: h/linux.h
===================================================================
RCS file: /cvsroot/gcl/gcl/h/linux.h,v
retrieving revision 1.11
diff -u -r1.11 linux.h
--- h/linux.h   3 May 2004 21:36:44 -0000       1.11
+++ h/linux.h   7 Mar 2005 23:24:18 -0000
@@ -93,7 +93,7 @@
     result = (current_mask & sigmask(m) ? signal_mask(m) : 0) \
       | (current_mask & sigmask(n) ? signal_mask(n) : 0);
 
-#undef RUN_PROCESS
+#define RUN_PROCESS
 
 #define        IEEEFLOAT
        
Index: h/protoize.h
===================================================================
RCS file: /cvsroot/gcl/gcl/h/protoize.h,v
retrieving revision 1.47
diff -u -r1.47 protoize.h
--- h/protoize.h        27 Nov 2004 22:19:35 -0000      1.47
+++ h/protoize.h        7 Mar 2005 23:24:18 -0000
@@ -600,6 +600,9 @@
 gcl_init_symbol_function(void);
 
 void
+gcl_init_socket_function(void);
+
+void
 gcl_init_hash(void);
 
 void
Index: o/run_process.c
===================================================================
RCS file: /cvsroot/gcl/gcl/o/run_process.c,v
retrieving revision 1.9
diff -u -r1.9 run_process.c
--- o/run_process.c     14 Sep 2003 02:43:08 -0000      1.9
+++ o/run_process.c     7 Mar 2005 23:24:21 -0000
@@ -16,12 +16,15 @@
 
 */
 
-
+#include <string.h>
 
 #define IN_RUN_PROCESS
 #include "include.h"
 #ifdef RUN_PROCESS
 
+void setup_stream_buffer(object);
+object make_two_way_stream(object, object);
+
 #ifdef __MINGW32__
 
 #include<windows.h>
@@ -29,7 +32,6 @@
 #define PIPE_BUFFER_SIZE 2048
 
 void DisplayError ( char *pszAPI );
-void setup_stream_buffer ( object x );
 void PrepAndLaunchRedirectedChild ( HANDLE hChildStdOut,
     HANDLE hChildStdIn,
     HANDLE hChildStdErr,
@@ -462,7 +464,6 @@
   int sockets_in[2];
   int sockets_out[2];
   FILE *fp1, *fp2;
-  int pid;
   object stream_in, stream_out, stream;
 
   if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockets_in) < 0)
@@ -473,11 +474,12 @@
   fp2 = fdopen(sockets_out[0], "w");
 
 #ifdef OVM_IO
+  {int pid;
   pid = getpid();
   ioctl(sockets_in[0], SIOCSPGRP, (char *)&pid);
   if( fcntl(sockets_in[0], F_SETFL, FASYNC | FNDELAY) == -1)
     perror("Couldn't control socket");
-
+  }
 #endif
 
 
@@ -502,7 +504,7 @@
  * with "C" type streams.
  */
 
-
+void
 spawn_process_with_streams(istream, ostream, pname, argv)
 object istream;
 object ostream;
@@ -531,12 +533,10 @@
        }
     }
 
-
-
-  
 }
     
       
+void
 run_process(filename, argv)
 char *filename;
 char **argv;
@@ -550,6 +550,7 @@
   vs_top = vs_base + 2;
 }
     
+void
 siLrun_process()
 {
   int i;
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ dch "Reenable run-process"
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ cvs -z9 -q ci -m "Reenable 
run-process" debian/changelog h/linux.h h/protoize.h o/run_process.c
cvs commit: Up-to-date check failed for `h/protoize.h'
cvs [commit aborted]: correct above errors first!
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ mv h/protoize.h 
h/protoize.h.try
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ cvs -z9 -q update  
h/protoize.h
cvs update: warning: h/protoize.h was lost
U h/protoize.h
address@hidden:/fix/t1/camm/debian/gcl/gclcvs-2.7.0$ diff -u h/protoize.h.try 
h/protoize.h
--- h/protoize.h.try    2005-03-07 23:16:59.000000000 +0000
+++ h/protoize.h        2005-03-07 23:28:24.000000000 +0000
@@ -20,7 +20,7 @@
 /* alloc.c:1000:OF */ extern void gcl_init_alloc_function (void); /* () */
 /* alloc.c:1126:OF */ extern void free (void *ptr); /* (ptr) void *ptr; */
 /* array.c:57:OF */ extern void Laref (void); /* () */
-/* array.c:126:OF */ extern object fLsvref (object x, ufixnum i); /* (x, i) 
object x; unsigned int i; */
+/* array.c:126:OF */ extern object fLsvref (object x, fixnum i); /* (x, i) 
object x; unsigned int i; */
 /* array.c:142:OF */ extern object fLrow_major_aref (object x,fixnum i); /* 
(x, i) object x; int i; */
 /* array.c:190:OF */ extern object fSaset1 (object x,fixnum i, object val); /* 
(x, i, val) object x; int i; object val; */
 /* array.c:262:OF */ extern void siLaset (void); /* () */
@@ -543,6 +543,7 @@
 
 
 /*  readline.d */
+extern int readline_on;
 void
 gcl_init_readline_function(void);
 
@@ -600,9 +601,6 @@
 gcl_init_symbol_function(void);
 
 void
-gcl_init_socket_function(void);
-
-void
 gcl_init_hash(void);
 
 void
=============================================================================

Please let me know if you want me to errata this, or if it is
important enough for another point release on 2.6.

Take care,

> Tim
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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