From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Camm Maguire <camm@debian.org>
Date: Mar, 04 2026 12:09:08 +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_cmpfun.lsp
+++ gcl27-2.7.1/cmpnew/gcl_cmpfun.lsp
@@ -112,7 +112,11 @@
 ;;       (list 'call-global info 'terpri (list stream))))
 
 (defun gcst (n &optional e)
-  (ms "(object(*)(" (cdr (mapcan (lambda (x) (declare (ignore x)) (list "," "object")) (make-list n))) (when e ",...") "))"))
+  (let* ((m (min n (- call-arguments-limit 2)))
+	 (l1 (make-list m :initial-element ",object"))
+	 (l1 (when l1 (cons "object" (cdr l1))))
+	 (l2 (when (> n m) (make-list (- n m) :initial-element ",object"))))
+    (ms "(object(*)(" l1 l2 (when e ",...") "))")))
 
 (defun c2apply (funob args)
   (unless (eq 'ordinary (car funob)) (baboon))
--- gcl27-2.7.1.orig/git.tag
+++ gcl27-2.7.1/git.tag
@@ -1 +1 @@
-"Version_2_7_2pre11"
+"Version_2_7_2pre12"
--- gcl27-2.7.1.orig/h/error.h
+++ gcl27-2.7.1/h/error.h
@@ -99,7 +99,7 @@ object ihs_top_function_name(ihs_ptr h);
                                                  sKformat_control,make_simple_string(a_),sKformat_arguments,list(1,(b_)))
 #define FEtoo_few_arguments(a_,b_) \
   Icall_error_handler(sLprogram_error,null_string,4,\
-                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
+                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
 #define FEwrong_no_args(a_,b_) \
   Icall_error_handler(sLprogram_error,null_string,4,\
@@ -112,7 +112,7 @@ object ihs_top_function_name(ihs_ptr h);
 
 #define FEtoo_many_arguments(a_,b_) \
   Icall_error_handler(sLprogram_error,null_string,4,\
-                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
+                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
 #define FEtoo_many_argumentsF(a_) \
   Icall_error_handler(sLprogram_error,null_string,4,\
