From b8841170de7eba2e6fe2419eea02e708a21a9411 Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Sat, 27 Jan 2018 13:04:52 -0800
Subject: [PATCH] Fix #49: CLM crashes

When invoking motifd, the program name is #p:'library:motifd".  This
is passed directly to spawn (a C routine), which only accepts strings.
So, before calling spawn, convert the program path to a unix
namestring.

This allows the example from the bug to run without crashing.
---
 src/code/run-program.lisp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp
index 938276372..cc7d50657 100644
--- a/src/code/run-program.lisp
+++ b/src/code/run-program.lisp
@@ -567,7 +567,8 @@
 					env))
 			(let ((child-pid
 			       (without-gcing
-				(spawn program argv envp pty-name
+				(spawn (unix::unix-namestring program)
+				       argv envp pty-name
 				       stdin stdout stderr))))
 			  (when (< child-pid 0)
 			    (error (intl:gettext "Could not fork child process: ~A")
-- 
GitLab