From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nigel Warner Newsgroups: gmane.lisp.guile.bugs Subject: bug#16726: Possible bug? Date: Wed, 12 Feb 2014 00:51:29 +0000 Message-ID: <52FAC591.2060607@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1392167299 30937 80.91.229.3 (12 Feb 2014 01:08:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 12 Feb 2014 01:08:19 +0000 (UTC) To: 16726@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Feb 12 02:08:25 2014 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 1WDOJK-0006kz-Sf for guile-bugs@m.gmane.org; Wed, 12 Feb 2014 02:08:23 +0100 Original-Received: from localhost ([::1]:36735 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDOJK-0000R4-Cp for guile-bugs@m.gmane.org; Tue, 11 Feb 2014 20:08:22 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDOJ8-0000Qv-Uc for bug-guile@gnu.org; Tue, 11 Feb 2014 20:08:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WDOJ0-0000un-FX for bug-guile@gnu.org; Tue, 11 Feb 2014 20:08:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46845) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDOJ0-0000ui-Bs for bug-guile@gnu.org; Tue, 11 Feb 2014 20:08:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WDOJ0-0000Le-7Y for bug-guile@gnu.org; Tue, 11 Feb 2014 20:08:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Nigel Warner Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 12 Feb 2014 01:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 16726 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13921672451281 (code B ref -1); Wed, 12 Feb 2014 01:08:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Feb 2014 01:07:25 +0000 Original-Received: from localhost ([127.0.0.1]:48027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WDOIP-0000KY-3B for submit@debbugs.gnu.org; Tue, 11 Feb 2014 20:07:25 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53892) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WDO3k-0008Jz-Qy for submit@debbugs.gnu.org; Tue, 11 Feb 2014 19:52:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WDO3X-0003zf-5d for submit@debbugs.gnu.org; Tue, 11 Feb 2014 19:52:11 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:42029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDO3W-0003zZ-VL for submit@debbugs.gnu.org; Tue, 11 Feb 2014 19:52:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55441) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDO3O-0004VD-2d for bug-guile@gnu.org; Tue, 11 Feb 2014 19:52:02 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WDO3F-0003rs-LO for bug-guile@gnu.org; Tue, 11 Feb 2014 19:51:54 -0500 Original-Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:55981) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDO3F-0003r0-Do for bug-guile@gnu.org; Tue, 11 Feb 2014 19:51:45 -0500 Original-Received: by mail-wi0-f175.google.com with SMTP id hm4so5786911wib.8 for ; Tue, 11 Feb 2014 16:51:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=NogJBSrnqkeExE9l9H/GCAa1zH1OVLnmNkXHwCoRMQo=; b=dC1qlWzRwSLLcU+nmpl5+wfNzAU/YWYMIOaMNHqubPdyXY1UErAK1DJsgh/m2p5XLC iNjYHTaNOdH0/kZJutKnI3L6PuZx+QM+ezSVz6UUF7gX3D9F6uHMxO5Y3XAbfuBNP9j7 Q578RqeOXqw9Sn1hcunKbC52Zu5kFon8DFF/TNb6lfdbSi9eh0hGFcRuKrkSZM0Pl0TM BJ235Kqlq9Liuoys9jofcWXic+k+L0ev7BDDY1ZZBZlpEO2EM0BM7r6AIFmLAUleJxQP qeg6eiu7WPQvLQbNXUrgD+D8rxvDfN5ruDELzBguyybam6A3r3Je2vt9ivM3ZbyV2WfF Bhlw== X-Received: by 10.194.62.243 with SMTP id b19mr23015wjs.63.1392166303839; Tue, 11 Feb 2014 16:51:43 -0800 (PST) Original-Received: from [192.168.1.100] (genkt-049-102.t-mobile.co.uk. [149.254.49.102]) by mx.google.com with ESMTPSA id ea4sm1833689wib.7.2014.02.11.16.51.42 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 11 Feb 2014 16:51:43 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Tue, 11 Feb 2014 20:07:23 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7403 Archived-At: #| This file is an extract of a documentation and code assembly process which works from a list of elements and attributes. Perhaps I'm being particularly stupid but I can't see why the function emit-groff-bug? does not work as expected. Version is 2.09 GCC is 4.7.3 on 64 bit Ubuntu self compiled. BTW, thanks to all the developers for a wonderful program. I am greatly enjoying programming in Guile. |# (define-syntax say (syntax-rules () ((say format-string ...) (format #t format-string ...)) ((say format-string) (format #t format-string)))) (define-syntax emit (syntax-rules () ((emit a-string) (say (string-append a-string "\n"))) ((emit a-string ...) (say (string-append (format #f a-string ...) "\n"))))) (define canvas-description "A canvas object specifies the two dimensional area on which graphics objects are painted. The function `canvas' requires at least one parameter, the name by which the canvas will be known. If there is already a canvas by that name in the canvas-table then it will be used as the current canvas. If not then a new canvas will be created using the default values unless overridden by keyword value pairs passed to the function.") (define thoth-canvas `((#:object-name . canvas) (#:description . ,canvas-description) (#:attributes (viewbox none "Creates user coordinate space") (background none "Creates a background rectangle") (transform none "Transformation object")))) (define (process-attributes-for-groff lst) (for-each (lambda (element) (emit ".attribute ~a ~a" (list-ref element 0) (list-ref element 1)) (emit ".start-hint") (emit "~a" (list-ref element 2)) (emit ".end-hint")) lst)) (define (emit-groff lst) (for-each (lambda (element) (cond ((and (pair? element) (eq? #:object-name (car element))) (emit ".object-name ~a" (cdr element))) ((and (pair? element) (eq? #:description (car element))) (emit ".start-description") (emit "~a" (cdr element)) (emit ".end-description")) ((and (list? element) (eq? #:attributes (car element))) (process-attributes-for-groff (cdr element))) (else (emit "emit-groff | unknown list type") (throw 'snafu)))) lst)) (define (emit-groff-bug? lst) (for-each (lambda (element) (cond ((pair? element) (cond ((eq? #:object-name (car element)) (emit ".object-name ~a" (cdr element))) ((eq? #:description (car element)) (emit ".start-description") (emit "~a" (cdr element)) (emit ".end-description")))) ((list? element) (cond ((eq? #:attributes (car element))) (process-attributes-for-groff (cdr element))) (else (emit "emit-groff | unknown list type") (throw 'snafu))))) lst)) (emit "------------- working") (emit-groff thoth-canvas) (emit "------------- not working") (emit-groff-bug? thoth-canvas)