From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.bugs Subject: bug#23821: Misleading error for optargs Date: Wed, 22 Jun 2016 05:03:59 +0000 (UTC) Message-ID: <738648054.2214015.1466571839142.JavaMail.yahoo@mail.yahoo.com> References: <738648054.2214015.1466571839142.JavaMail.yahoo.ref@mail.yahoo.com> Reply-To: Mike Gran NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1466571929 28590 80.91.229.3 (22 Jun 2016 05:05:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 22 Jun 2016 05:05:29 +0000 (UTC) To: 23821@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Jun 22 07:05:16 2016 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bFaLi-0001pp-3i for guile-bugs@m.gmane.org; Wed, 22 Jun 2016 07:05:14 +0200 Original-Received: from localhost ([::1]:55697 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLh-00011t-BS for guile-bugs@m.gmane.org; Wed, 22 Jun 2016 01:05:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57789) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLb-00010I-Hb for bug-guile@gnu.org; Wed, 22 Jun 2016 01:05:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFaLW-0000BF-DO for bug-guile@gnu.org; Wed, 22 Jun 2016 01:05:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:37933) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFaLW-0000BB-9b for bug-guile@gnu.org; Wed, 22 Jun 2016 01:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bFaLW-0002Xj-2H for bug-guile@gnu.org; Wed, 22 Jun 2016 01:05:02 -0400 X-Loop: help-debbugs@gnu.org 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: X-Debbugs-Original-To: Bug Guile Original-Received: via spool by submit@debbugs.gnu.org id=B.14665718979756 (code B ref -1); Wed, 22 Jun 2016 05:05:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Jun 2016 05:04:57 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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== Original-Received: from [98.138.101.132] by nm24.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Original-Received: from [98.138.226.160] by tm20.bullet.mail.ne1.yahoo.com with NNFMP; 22 Jun 2016 05:04:38 -0000 Original-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- Original-Received: from jws10097.mail.ne1.yahoo.com by sendmailws148.mail.ne1.yahoo.com; Wed, 22 Jun 2016 05:04:38 +0000; 1466571878.368 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8118 Archived-At: 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))))