~ chicken-core (chicken-5) f9a6dd4472bf137bdebd1613e302f1638305b1b9


commit f9a6dd4472bf137bdebd1613e302f1638305b1b9
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Thu May 20 09:57:17 2021 +0200
Commit:     Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Thu May 20 20:56:47 2021 +0200

    Partial fix for #1685 - quote shell variables on UNIX platforms
    
    This allows having shell metacharacters (like spaces) in path names.
    This does not yet fix the situation for Windows - there, quotation
    is context-dependent, so quite a bit harder to fix properly.
    
    Signed-off-by: Peter Bex <peter@more-magic.net>
    Signed-off-by: Mario Domenech Goulart <mario@parenteses.org>

diff --git a/NEWS b/NEWS
index c5eb0f03..7f9faecd 100644
--- a/NEWS
+++ b/NEWS
@@ -65,6 +65,8 @@
     `Error: (string->number) bad argument type: #!eof` in some cases.
   - If chicken-install has a program prefix/suffix, it now writes to a
     cache directory matching its program name (#1713, thanks to Alice Maz)
+  - Fixed bug in chicken-install regarding variable quotation on UNIX-like
+    systems which prevented installation into paths with spaces (#1685).
 
 5.2.0
 
diff --git a/egg-compile.scm b/egg-compile.scm
index a4c4bf0c..186a7227 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -1239,7 +1239,7 @@ EOF
 
 (define (shell-variable var platform)
   (case platform
-    ((unix) (string-append "${" var "}"))
+    ((unix) (string-append "\"${" var "}\""))
     ((windows) (string-append "%" var "%"))))
 
 ;; NOTE `cmd' must already be quoted for shell
Trap