From unknown Sat Aug 16 16:57:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23821: Misleading error for optargs Resent-From: Mike Gran Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 22 Jun 2016 05:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 23821 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 23821@debbugs.gnu.org X-Debbugs-Original-To: Bug Guile Reply-To: Mike Gran Received: via spool by submit@debbugs.gnu.org id=B.14665718979756 (code B ref -1); Wed, 22 Jun 2016 05:05:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jun 2016 05:04:57 +0000 Received: from localhost ([127.0.0.1]:50270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFaLR-0002XI-2e for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:57 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFaLP-0002X5-Mu for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFaLJ-00009F-JW for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.9 required=5.0 tests=BAYES_50,FORGED_YAHOO_RCVD, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLJ-000091-GD for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLH-0000zu-31 for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFaLC-000085-UX for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:47 -0400 Received: from nm24-vm0.bullet.mail.ne1.yahoo.com ([98.138.90.34]:59917) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLC-00007i-Ms for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1466571878; bh=jZ4bUKSKNOpl0RluRy4NJ6dfb4RvurAUauubSu/I39A=; h=Date:From:Reply-To:To:Subject:References:From:Subject; b=BvLz8gRAknGFgsp5fcWEtZmiXofljOCxx66phSeU38WQ0zW+hDHxYNg/hZ6GtHzusYl8kZ7VpPJI7qT4mTYthi+tqWHeEOY+EcqcoGcK2Ft6eu1vZ8azHnMLkUhaTuyJ4Z6syjpSAhc2jDhB/Ie3ZGgnZGxE/GFE/h9o7Gty93U3hNEeSXp81tI10xdqX20gVi3OVFw410OWWAUTJn/lkoclM6n4qeIDBQveSKY0K/qKzCuqn0prVq7qZfUaKbm/OxsdI4Qw+Yizb0FHCGNGpzGyOD1cZ3CdB9NXD1T2npbtK2fig/fgdpBpRu5UnB/ocUwQOcRYYngcJgxfstz8Mw== Received: from [98.138.101.132] by nm24.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Received: from [98.138.226.160] by tm20.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Received: from [127.0.0.1] by omp1061.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 893922.27498.bm@omp1061.mail.ne1.yahoo.com X-YMail-OSG: hkx_LXUVM1n6eLYhXMR44zWWEDe_FA1Vxu9lmDFqgOCYgTGE15RlIoW9biK6Mz7 BXPJe9aOR4Ci8wdyoAH3dzLtD1ifBkbSLWMG_RproWNcKHUFcsTQBmBV83cPW.Jr8bY4.mzCSErW Q6ldecJESUxN0GeIleUhy3Hgi7_cNhWuwgo5mvz_EMG9dNfUjIo15Aw53643kfs.QqEiKdVEP.2O juqu5mFIdqVjfb3JUcYKEBfRlBUPizd9tzR9tfrXSyNhAOhCwp5pXGSkhU1eCJFewLUKPBTkrQqq GANGz_e5igdOmgbunBgMNlxIsq9G3F1l9VAiwPKWNU3o8RhKESF7234GEJEM_jHJhsi..JLq5ptv Htthyhq5QSqS.8Q8zsClAWUtEAyAh3JTvBVEZHW54GOCVSldarhoxka14Au_eeDhqQ3fCRdkQipx ZHj9faOx7ednTYobSZQXEzF_kSG7YElJWOV4zW.7NIhFCaymREFkAQSqNDah.wqA36xs7cFnIiCU JR1FgOoIXFllhGRCec3.WCGkKbMaLBAyq0DkL8wE- Received: from jws10097.mail.ne1.yahoo.com by sendmailws148.mail.ne1.yahoo.com; Wed, 22 Jun 2016 05:04:38 +0000; 1466571878.368 Date: Wed, 22 Jun 2016 05:03:59 +0000 (UTC) From: Mike Gran Message-ID: <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit References: <738648054.2214015.1466571839142.JavaMail.yahoo.ref@mail.yahoo.com> Content-Length: 2972 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.8 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) The following program returns a confusing error with guile 2.0.11 (use-modules (ice-9 optargs)) (define* (func A #:key B) #t) (func 1 2) When run with auto-compilation on, it gives a valid warning during the compilation step but returns a confusing warning at runtime. ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/mike/Projects/pip-tui/pip-tui/bug.scm ;;; /home/mike/Projects/pip-tui/pip-tui/bug.scm:6:0: warning: wrong number of arguments to `func' ;;; compiled /home/mike/.cache/guile/ccache/2.0-LE-8-2.0/home/mike/Projects/pip-tui/pip-tui/bug.scm.go Backtrace: In ice-9/boot-9.scm: 157: 7 [catch #t # ...] In unknown file: ?: 6 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 5 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 4 [eval # #] In ice-9/boot-9.scm: 2401: 3 [save-module-excursion #] 4052: 2 [#] In unknown file: ?: 1 [load-compiled/vm "/home/mike/.cache/guile/ccache/2.0-LE-8-2.0/home/mike/Projects/pip-tui/pip-tui/bug.scm.go"] In /home/mike/Projects/pip-tui/pip-tui/bug.scm: 3: 0 [func 1 # 2] /home/mike/Projects/pip-tui/pip-tui/bug.scm:3:0: In procedure func: /home/mike/Projects/pip-tui/pip-tui/bug.scm:3:0: Error while printing exception When run with GUILE_AUTO_COMPILE=0 it returns an intelligible warning: Backtrace: In ice-9/boot-9.scm: 157: 9 [catch #t # ...] In unknown file: ?: 8 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 7 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 6 [eval # #] In ice-9/boot-9.scm: 2401: 5 [save-module-excursion #] 4052: 4 [#] 1724: 3 [%start-stack load-stack ...] 1729: 2 [#] In unknown file: ?: 1 [primitive-load "/home/mike/Projects/pip-tui/pip-tui/bug.scm"] ?: 0 [scm-error keyword-argument-error "eval" "Invalid keyword" () (2)] ERROR: In procedure scm-error: ERROR: Invalid keyword: 2 I can create some improvement by replacing the 'keyword-error-printer' procedure in ice-9/boot-9.scm with the following but I don't think that is the correct answer. --- ice-9/boot-9.scm.0 2016-06-22 00:37:38.929112125 -0400 +++ ice-9/boot-9.scm 2016-06-22 01:02:11.032206795 -0400 @@ -1020,8 +1020,10 @@ (define (keyword-error-printer port key args default-printer) (let ((message (cadr args)) - (faulty (car (cadddr args)))) ; I won't do it again, I promise. - (format port "~a: ~s" message faulty))) + (faulty (cadddr args))) + (if (pair? faulty) + (format port "~a: ~s" message (car faulty)) + (format port "~a" message)))) From unknown Sat Aug 16 16:57:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Mike Gran Subject: bug#23821: closed (Re: bug#23821: Misleading error for optargs) Message-ID: References: <878toqkoz5.fsf@pobox.com> <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> X-Gnu-PR-Message: they-closed 23821 X-Gnu-PR-Package: guile Reply-To: 23821@debbugs.gnu.org Date: Tue, 28 Feb 2017 21:04:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1488315842-18332-1" This is a multi-part message in MIME format... ------------=_1488315842-18332-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #23821: Misleading error for optargs which was filed against the guile package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 23821@debbugs.gnu.org. --=20 23821: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D23821 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1488315842-18332-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 23821-done) by debbugs.gnu.org; 28 Feb 2017 21:03:25 +0000 Received: from localhost ([127.0.0.1]:60609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ciovc-0004ku-9U for submit@debbugs.gnu.org; Tue, 28 Feb 2017 16:03:25 -0500 Received: from pb-sasl2.pobox.com ([64.147.108.67]:56999 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ciova-0004kl-Md for 23821-done@debbugs.gnu.org; Tue, 28 Feb 2017 16:03:23 -0500 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl2.pobox.com (Postfix) with ESMTP id 4CEDB605E1; Tue, 28 Feb 2017 16:03:21 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=98rQG5zoH2Hi THugAGTcJve5bww=; b=t8WsEf7Qt8u2za+hMnoM2fcPGdcDivBexF7nHeUp9WQf 2CWoxFG72vjhWS6VXvJ1BdNo50Q/KYzPXpi/99lZ7gF1SSfSnyVaQQOfi+Y3qZln Bj/MaE0SV9S/0dNqpqUcFVNqZAhWhZvDKdmu0h++lWoiSscaEj2D1DPlu4HoV80= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=Su7zcd O7xQJpfgA9zb0M21HXdudi6CxcTlathNqOtec8IN53UhPPM7coT6FyCcT/YWVYwO QKbFNzU7bUVzL1KsUciPmIMGuSTNg9zl3AtGpvrpNKtQPN37KqkiWFFbYnZ5M3P0 WWA4lrnUTilVPD1knwn7v01CeVE9aSXP76cCw= Received: from pb-sasl2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl2.pobox.com (Postfix) with ESMTP id 2CD32605DF; Tue, 28 Feb 2017 16:03:21 -0500 (EST) Received: from clucks (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl2.pobox.com (Postfix) with ESMTPSA id 98912605D9; Tue, 28 Feb 2017 16:03:19 -0500 (EST) From: Andy Wingo To: Mike Gran Subject: Re: bug#23821: Misleading error for optargs References: <738648054.2214015.1466571839142.JavaMail.yahoo.ref@mail.yahoo.com> <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> Date: Tue, 28 Feb 2017 22:03:10 +0100 In-Reply-To: <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> (Mike Gran's message of "Wed, 22 Jun 2016 05:03:59 +0000 (UTC)") Message-ID: <878toqkoz5.fsf@pobox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Pobox-Relay-ID: 553CDF7C-FDF9-11E6-B615-6141F2301B6D-02397024!pb-sasl2.pobox.com X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 23821-done Cc: 23821-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On Wed 22 Jun 2016 07:03, Mike Gran writes: > The following program returns a confusing error with guile 2.0.11 > > (use-modules (ice-9 optargs))=20 > (define* (func A #:key B)=20 > #t)=20 > (func 1 2) I have now fixed this in 2.0 and master. In master it led me to discover a pretty serious bug. Now what you get at run-time is: wingo@clucks:~/src/guile$ meta/guile /tmp/foo.scm ;;; note: source file /tmp/foo.scm ;;; newer than compiled /home/wingo/src/guile/cache/guile/ccache/2.= 2-LE-8-3.9/tmp/foo.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=3D0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /tmp/foo.scm ;;; /tmp/foo.scm:4:4: warning: wrong number of arguments to `func' ;;; compiled /home/wingo/src/guile/cache/guile/ccache/2.2-LE-8-3.9/tmp/fo= o.scm.go Backtrace: 6 (apply-smob/1 #) In ice-9/boot-9.scm: 713:2 5 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 4 (_ #(#(#))) In ice-9/boot-9.scm: 2346:4 3 (save-module-excursion _) 3843:12 2 (_) In /tmp/foo.scm: 4:4 1 (_) 2:0 0 (func _ #:B _) /tmp/foo.scm:2:0: In procedure func: /tmp/foo.scm:2:0: Invalid keyword: 2 Which seems OK. Andy ------------=_1488315842-18332-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 Jun 2016 05:04:57 +0000 Received: from localhost ([127.0.0.1]:50270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFaLR-0002XI-2e for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:57 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFaLP-0002X5-Mu for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFaLJ-00009F-JW for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.9 required=5.0 tests=BAYES_50,FORGED_YAHOO_RCVD, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLJ-000091-GD for submit@debbugs.gnu.org; Wed, 22 Jun 2016 01:04:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLH-0000zu-31 for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFaLC-000085-UX for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:47 -0400 Received: from nm24-vm0.bullet.mail.ne1.yahoo.com ([98.138.90.34]:59917) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLC-00007i-Ms for bug-guile@gnu.org; Wed, 22 Jun 2016 01:04:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1466571878; bh=jZ4bUKSKNOpl0RluRy4NJ6dfb4RvurAUauubSu/I39A=; h=Date:From:Reply-To:To:Subject:References:From:Subject; b=BvLz8gRAknGFgsp5fcWEtZmiXofljOCxx66phSeU38WQ0zW+hDHxYNg/hZ6GtHzusYl8kZ7VpPJI7qT4mTYthi+tqWHeEOY+EcqcoGcK2Ft6eu1vZ8azHnMLkUhaTuyJ4Z6syjpSAhc2jDhB/Ie3ZGgnZGxE/GFE/h9o7Gty93U3hNEeSXp81tI10xdqX20gVi3OVFw410OWWAUTJn/lkoclM6n4qeIDBQveSKY0K/qKzCuqn0prVq7qZfUaKbm/OxsdI4Qw+Yizb0FHCGNGpzGyOD1cZ3CdB9NXD1T2npbtK2fig/fgdpBpRu5UnB/ocUwQOcRYYngcJgxfstz8Mw== Received: from [98.138.101.132] by nm24.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Received: from [98.138.226.160] by tm20.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Received: from [127.0.0.1] by omp1061.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 893922.27498.bm@omp1061.mail.ne1.yahoo.com X-YMail-OSG: hkx_LXUVM1n6eLYhXMR44zWWEDe_FA1Vxu9lmDFqgOCYgTGE15RlIoW9biK6Mz7 BXPJe9aOR4Ci8wdyoAH3dzLtD1ifBkbSLWMG_RproWNcKHUFcsTQBmBV83cPW.Jr8bY4.mzCSErW Q6ldecJESUxN0GeIleUhy3Hgi7_cNhWuwgo5mvz_EMG9dNfUjIo15Aw53643kfs.QqEiKdVEP.2O juqu5mFIdqVjfb3JUcYKEBfRlBUPizd9tzR9tfrXSyNhAOhCwp5pXGSkhU1eCJFewLUKPBTkrQqq GANGz_e5igdOmgbunBgMNlxIsq9G3F1l9VAiwPKWNU3o8RhKESF7234GEJEM_jHJhsi..JLq5ptv Htthyhq5QSqS.8Q8zsClAWUtEAyAh3JTvBVEZHW54GOCVSldarhoxka14Au_eeDhqQ3fCRdkQipx ZHj9faOx7ednTYobSZQXEzF_kSG7YElJWOV4zW.7NIhFCaymREFkAQSqNDah.wqA36xs7cFnIiCU JR1FgOoIXFllhGRCec3.WCGkKbMaLBAyq0DkL8wE- Received: from jws10097.mail.ne1.yahoo.com by sendmailws148.mail.ne1.yahoo.com; Wed, 22 Jun 2016 05:04:38 +0000; 1466571878.368 Date: Wed, 22 Jun 2016 05:03:59 +0000 (UTC) From: Mike Gran To: Bug Guile Message-ID: <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> Subject: Misleading error for optargs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit References: <738648054.2214015.1466571839142.JavaMail.yahoo.ref@mail.yahoo.com> Content-Length: 2972 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Mike Gran Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) The following program returns a confusing error with guile 2.0.11 (use-modules (ice-9 optargs)) (define* (func A #:key B) #t) (func 1 2) When run with auto-compilation on, it gives a valid warning during the compilation step but returns a confusing warning at runtime. ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/mike/Projects/pip-tui/pip-tui/bug.scm ;;; /home/mike/Projects/pip-tui/pip-tui/bug.scm:6:0: warning: wrong number of arguments to `func' ;;; compiled /home/mike/.cache/guile/ccache/2.0-LE-8-2.0/home/mike/Projects/pip-tui/pip-tui/bug.scm.go Backtrace: In ice-9/boot-9.scm: 157: 7 [catch #t # ...] In unknown file: ?: 6 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 5 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 4 [eval # #] In ice-9/boot-9.scm: 2401: 3 [save-module-excursion #] 4052: 2 [#] In unknown file: ?: 1 [load-compiled/vm "/home/mike/.cache/guile/ccache/2.0-LE-8-2.0/home/mike/Projects/pip-tui/pip-tui/bug.scm.go"] In /home/mike/Projects/pip-tui/pip-tui/bug.scm: 3: 0 [func 1 # 2] /home/mike/Projects/pip-tui/pip-tui/bug.scm:3:0: In procedure func: /home/mike/Projects/pip-tui/pip-tui/bug.scm:3:0: Error while printing exception When run with GUILE_AUTO_COMPILE=0 it returns an intelligible warning: Backtrace: In ice-9/boot-9.scm: 157: 9 [catch #t # ...] In unknown file: ?: 8 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 7 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 6 [eval # #] In ice-9/boot-9.scm: 2401: 5 [save-module-excursion #] 4052: 4 [#] 1724: 3 [%start-stack load-stack ...] 1729: 2 [#] In unknown file: ?: 1 [primitive-load "/home/mike/Projects/pip-tui/pip-tui/bug.scm"] ?: 0 [scm-error keyword-argument-error "eval" "Invalid keyword" () (2)] ERROR: In procedure scm-error: ERROR: Invalid keyword: 2 I can create some improvement by replacing the 'keyword-error-printer' procedure in ice-9/boot-9.scm with the following but I don't think that is the correct answer. --- ice-9/boot-9.scm.0 2016-06-22 00:37:38.929112125 -0400 +++ ice-9/boot-9.scm 2016-06-22 01:02:11.032206795 -0400 @@ -1020,8 +1020,10 @@ (define (keyword-error-printer port key args default-printer) (let ((message (cadr args)) - (faulty (car (cadddr args)))) ; I won't do it again, I promise. - (format port "~a: ~s" message faulty))) + (faulty (cadddr args))) + (if (pair? faulty) + (format port "~a: ~s" message (car faulty)) + (format port "~a" message)))) ------------=_1488315842-18332-1--