GNU bug report logs - #9672
bug in SRFI-30 comment parser

Previous Next

Package: guile;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Tue, 4 Oct 2011 21:48:01 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Bruno Haible <bruno <at> clisp.org>
Subject: bug#9672: closed (Re: bug#9672: bug in SRFI-30 comment parser)
Date: Wed, 05 Oct 2011 18:51:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#9672: bug in SRFI-30 comment parser

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 9672 <at> debbugs.gnu.org.

-- 
9672: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9672
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 9672-done <at> debbugs.gnu.org
Subject: Re: bug#9672: bug in SRFI-30 comment parser
Date: Wed, 05 Oct 2011 20:49:53 +0200
Thanks for the note, Bruno.  I have fixed the bug in stable-2.0.

Cheers,

Andy
-- 
http://wingolog.org/

[Message part 3 (message/rfc822, inline)]
From: Bruno Haible <bruno <at> clisp.org>
To: bug-guile <at> gnu.org
Subject: bug in SRFI-30 comment parser
Date: Tue, 4 Oct 2011 23:45:19 +0200
Hi,

Block comments whose contents end with an odd number of vertical bars are not
parsed correctly by guile-2.0.2.

The guile manual [1] says:
  "Guile (starting from version 2.0) supports nested block comments
   as specified by R6RS and SRFI-30"

R6RS [2] says:
  "Block comments may be indicated with properly nested #|and |# pairs."

More formally, SRFI-30 [3] implies that in particular

  #| <comment-text> |#

is a comment, where

  <comment-text> ---> <character sequence not containing #| or |#>

Now look at this guile session: When I use a <comment-text> that ends in
1 or 3 or 5 ... trailing vertical bars, guile misses the end of the
block comment and hangs.

scheme@(guile-user)> '(a #|foo|# b)
$1 = (a b)
scheme@(guile-user)> '(a #|foo|||# b)
$2 = (a b)
scheme@(guile-user)> '(a #|foo|||||# b)
$3 = (a b)
scheme@(guile-user)> '(a #|foo||# b)
[hangs]

scheme@(guile-user)> '(a #|foo||||# b)
[hangs]

The bug is most likely located in libguile/read.c,
function scm_read_r6rs_block_comment, line 1204.

Bruno

[1] http://www.gnu.org/software/guile/manual/html_node/Block-Comments.html
[2] http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-7.html#node_sec_4.2.3
[3] http://srfi.schemers.org/srfi-30/srfi-30.html
--
In memoriam Irena Iłłakowicz <http://en.wikipedia.org/wiki/Irena_Iłłakowicz>



This bug report was last modified 13 years and 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.