From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Camm Maguire <camm@debian.org>
Date: Mar, 19 2026 21:14:51 +0000
Subject: [PATCH] <short summary of the patch>

TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.

---
The information above should follow the Patch Tagging Guidelines, please
checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
Bug: <upstream-bugtracker-url>
Bug-<Vendor>: <vendor-bugtracker-url>
Forwarded: (no|not-needed|<patch-forwarded-url>)
Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
Reviewed-By: <name and email of someone who approved/reviewed the patch>

--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
+++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
@@ -276,12 +276,18 @@
 (defun commasep (x)
   (mapcon (lambda (x) (if (cdr x) (list (car x) ",") (list (car x)))) x))
 
-(defun ms (&rest r) 
-  (apply 'concatenate 'string 
-	 (mapcar (lambda (x) 
-		   (cond ((listp x) (apply 'ms x))
-			 ((stringp x) x)
-			 ((write-to-string x)))) r)))
+(defun ms (&rest r)
+  (labels ((msh (x)
+	     (cond ((< (length x) (1- call-arguments-limit))
+		    (apply 'concatenate 'string
+			   (mapcar (lambda (x)
+				     (cond ((listp x) (msh x))
+					   ((stringp x) x)
+					   ((write-to-string x))))
+				   x)))
+		   ((let ((y (nthcdr (- call-arguments-limit 2) x)))
+		      (concatenate 'string (msh (ldiff x y)) (msh y)))))))
+    (msh r)))
 
 (defun nords (n &aux (i -1))
   (mapl (lambda (x) (setf (car x) (incf i))) (make-list n)))
--- gcl27-2.7.1.orig/git.tag
+++ gcl27-2.7.1/git.tag
@@ -1 +1 @@
-"Version_2_7_2pre13"
+"Version_2_7_2pre14"
--- gcl27-2.7.1.orig/mod/gcl_defpackage.lsp
+++ gcl27-2.7.1/mod/gcl_defpackage.lsp
@@ -67,13 +67,11 @@
 ;;; -----------------------------------------------------------------
 
 (unless (find-package :defpackage)
-  (make-package :defpackage :use '(:cl)))
+  (make-package :defpackage :use '(:cl :sloop)))
 (in-package :defpackage)
 
 (export '(defpackage))
 
-(use-package :SLOOP)
-
 (defmacro DEFPACKAGE (name &rest options)
   (declare (optimize (safety 1)))
   "DEFPACKAGE - DEFINED-PACKAGE-NAME {OPTION}*			[Macro]
--- gcl27-2.7.1.orig/unixport/init_raw.lsp.in
+++ gcl27-2.7.1/unixport/init_raw.lsp.in
@@ -6,7 +6,7 @@
 (make-package :compiler :use '(:cl :si :cstruct))
 (make-package :sloop :use '(:cl))
 (make-package :ansi-loop :use'(:cl))
-(make-package :defpackage :use '(:cl))
+(make-package :defpackage :use '(:cl :sloop))
 (make-package :tk :use '(:cl :sloop))
 (make-package :fpe :use '(:cl))
 (make-package :cltl1-compat)
