default  Access: edit PLT Bugs
Main PageCreateQuick QueryStandard QueryAdvanced QueryHelp
Edit

View Problem Report: 7212

or send email to interested parties or send email followup to audit-trail
Reporter's email: neil@neilvandyke.org
Number: 7212
Category: misc
Synopsis: ssax collection uppercase symbols folded to lowercase and therefore invalid
Class: sw-bug
Responsible: eli
Notify-List:
Severity: serious
Priority: medium
State: closed
Confidential: no
Arrival-Date: Thu Jan 27 17:00:02 -0500 2005
Closed-Date:
Last-Modified: Thu Feb 03 19:05:01 -0500 2005
Originator: Neil W. Van Dyke
Organization: titan
Submitter-Id: unknown
Release: 209
Environment: unix "Linux claire 2.4.26.7 #1 Sat Nov 13 00:18:23 EST 2004 i686 GNU/Linux" (i386-linux) (get-display-depth) = 24
Docs Installed:
("/usr/lib/plt/collects/doc/teachpack" "/usr/lib/plt/collects/doc/web-server" "/usr/lib/plt/collects/doc/tour" "/usr/lib/plt/collects/doc/tools" "/usr/lib/plt/collects/doc/tex2page" "/usr/lib/plt/collects/doc/drscheme" "/usr/lib/plt/collects/doc/help" "/usr/lib/plt/collects/doc/swindle" "/usr/lib/plt/collects/doc/srfi" "/usr/lib/plt/collects/doc/r5rs" "/usr/lib/plt/collects/doc/t-y-scheme" "/usr/lib/plt/collects/doc/profj-beginner" "/usr/lib/plt/collects/doc/profj-intermediate" "/usr/lib/plt/collects/doc/plot" "/usr/lib/plt/collects/doc/profj-advanced" "/usr/lib/plt/collects/doc/mzlib" "/usr/lib/plt/collects/doc/mzc" "/usr/lib/plt/collects/doc/misclib" "/usr/lib/plt/collects/doc/intermediate-lambda" "/usr/lib/plt/collects/doc/mred" "/usr/lib/plt/collects/doc/mzscheme" "/usr/lib/plt/collects/doc/insidemz" "/usr/lib/plt/collects/doc/framework" "/usr/lib/plt/collects/doc/intermediate" "/usr/lib/plt/collects/doc/beginning" "/usr/lib/plt/collects/doc/advanced" "/usr/lib/plt/collects/doc/beginning-abbr")
Collections:


Human Language: english

Teachpack filenames: ()
Computer Language: (("Professional Languages" "PLT" "Textual (MzScheme, includes R5RS)") #6(#f write mixed-fraction-e #f #t debug))
Description: The code of the "ssax" collection is being read case-insensitive,
which is causing symbols that *must* be in all-uppercase to be
folded to lowercase ones.

For example, in the attached code, the symbol must be "*TOP*"
(not the all-lowercase "*top*") for the SXML to be valid.

There might be other problems with case-folded symbols in the
"ssax" collection, so the best fix might be to ensure that every
Scheme source file in that collection is read case-sensitive.

I'm using the Debian packaging of PLT, "Version: 1:209-3".

File Attachments:
How-To-Repeat: mzscheme -q
Welcome to MzScheme version 209, Copyright (c) 2004 PLT Scheme, Inc.
> (require (lib "ssax.ss" "ssax"))
> (ssax:xml->sxml (open-input-string "<Hi/>") '())
(*top* (|Hi|))

Fix:
Release-Note:
Unformatted:

or send email to interested parties or send email followup to audit-trail

Audit Trail:

Responsible changed from "nobody" to "eli" by eli at Fri, 28 Jan 2005 14:46:53 -0500
Reason>>> .

State changed from "open" to "closed" by eli at Fri, 28 Jan 2005 14:46:53 -0500
Reason>>> see reply.

From: Eli Barzilay <eli@barzilay.org>
To: "Neil W. Van Dyke" <neil@neilvandyke.org>,
        Michael Sperber <sperber@informatik.uni-tuebingen.de>
Cc: bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase and therefore invalid
Date: Fri, 28 Jan 2005 14:46:18 -0500

 On Jan 28, Michael Sperber wrote:
 > >>>>> "Eli" == Eli Barzilay <eli@barzilay.org> writes:
 > 
 > Eli> Reported by Neil W. Van Dyke for release: 209
 > 
 > Eli> *** Description:
 > Eli> The code of the "ssax" collection is being read case-insensitive,
 > Eli> which is causing symbols that *must* be in all-uppercase to be
 > Eli> folded to lowercase ones.
 > 
 > Eli> For example, in the attached code, the symbol must be "*TOP*"
 > Eli> (not the all-lowercase "*top*") for the SXML to be valid.
 > 
 > I'm not sure I should do anything about it: The supposed problem
 > goes away in 300, at least for PLT Scheme.
 
 Maybe it'll be better to add a #cs before the source files in our cvs?
 (That is, if they are generated from some other source that you're
 using.)
 
 
 > The other side of the problem is really in the SSAX source code, and
 > I'll take it up with Oleg.
 
 OK, so I'll close this report now.
 
 -- 
           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                   http://www.barzilay.org/                 Maze is Life!
From: "Neil W. Van Dyke" <neil@neilvandyke.org>
To: Eli Barzilay <eli@barzilay.org>,
        Michael Sperber <sperber@informatik.uni-tuebingen.de>
Cc: bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase and therefore invalid
Date: Fri, 28 Jan 2005 15:31:18 -0500

 I wouldn't call it a "supposed" problem.  Just in case some additional
 info would be helpful...
 
 Regardless of how one feels about case-sensitivity in Scheme, I think
 that the SSAX packaging in 209 results in a broken SSAX that emits
 invalid SXML.
 
 Some of the SSAX code has been case-sensitive for years.  There are
 obvious changes that could be made to the SSAX code to make it
 impervious to case-insensitive readers (my portable SXML-related
 libraries do this for their own code).  But unless a packager of SSAX
 wants to implement those changes, s/he needs to make sure that the
 Scheme implementation for which SSAX is being packaged is using a
 case-sensitive reader at the necessary times.
 
 Currently, the bundling of a broken "ssax" collection in 209 prevents
 the use of the "ssax" collection from "ssax20040221.plt" (which I'd been
 using successfully with 208).  I'd much prefer that SSAX *not* be
 bundled at all, than be bundled broken.
 
 If a speedy PLT 2xx release with a fixed "ssax" collection is not
 planned, then I will probably have to package my own "ssax-working"
 collection as ".plt" for 209, which would be silly.
From: Eli Barzilay <eli@barzilay.org>
To: "Neil W. Van Dyke" <neil@neilvandyke.org>
Cc: Michael Sperber <sperber@informatik.uni-tuebingen.de>, bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase and therefore invalid
Date: Fri, 28 Jan 2005 15:55:51 -0500

 On Jan 28, Neil W. Van Dyke wrote:
 > Currently, the bundling of a broken "ssax" collection in 209
 > prevents the use of the "ssax" collection from "ssax20040221.plt"
 > (which I'd been using successfully with 208).  I'd much prefer that
 > SSAX *not* be bundled at all, than be bundled broken.
 > 
 > If a speedy PLT 2xx release with a fixed "ssax" collection is not
 > planned, then I will probably have to package my own "ssax-working"
 > collection as ".plt" for 209, which would be silly.
 
 The 2xx line is supposed to be dead.  The next release will be a 300
 alpha version (which will have proper numbers now, so it'll be
 299.100).  In the mean time, I can repackage a corrected SSAX
 collection and put it in the patches directory
 (download.plt-scheme.org/patches/209).
 
 Will it be fine to just prefix all scheme sources with a #cs?
 
 -- 
           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                   http://www.barzilay.org/                 Maze is Life!
From: "Neil W. Van Dyke" <neil@neilvandyke.org>
To: Eli Barzilay <eli@barzilay.org>
Cc: "Neil W. Van Dyke" <neil@neilvandyke.org>,
        Michael Sperber <sperber@informatik.uni-tuebingen.de>,
        bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase and therefore invalid
Date: Fri, 28 Jan 2005 16:25:20 -0500

 Eli Barzilay <eli@barzilay.org> writes at 15:55 28-Jan-2005 -0500:
 > The 2xx line is supposed to be dead.  The next release will be a 300
 > alpha version (which will have proper numbers now, so it'll be
 > 299.100).
 
 I am at 2xx right now in part because "alpha" doesn't sound like
 something that production servers should be using.
 
 > In the mean time, I can repackage a corrected SSAX
 > collection and put it in the patches directory
 > (download.plt-scheme.org/patches/209).
 
 Sounds good.  I'll ask the Debian maintainer to incorporate the patch.
 
 (For production/support reasons on my end, it's good practice for me
 both: (1) to be able to tell someone that "PLT version 209.patch1" or
 "PLT version 209 with the official ssax1 patch" is required; and (2) to
 make sure that the patch is incorporated into a Debian version, rather
 than patching a Debian version outside of Debian control.)
 
 > Will it be fine to just prefix all scheme sources with a #cs?
 
 I think so, unless there is trickiness I don't understand with PLT
 features like "include".
 
 Thanks!
From: Eli Barzilay <eli@barzilay.org>
To: "Neil W. Van Dyke" <neil@neilvandyke.org>
Cc: Michael Sperber <sperber@informatik.uni-tuebingen.de>, bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase and therefore invalid
Date: Fri, 28 Jan 2005 16:45:15 -0500

 On Jan 28, Neil W. Van Dyke wrote:
 > 
 > Eli Barzilay <eli@barzilay.org> writes at 15:55 28-Jan-2005 -0500:
 > > The 2xx line is supposed to be dead.  The next release will be a
 > > 300 alpha version (which will have proper numbers now, so it'll be
 > > 299.100).
 > 
 > I am at 2xx right now in part because "alpha" doesn't sound like
 > something that production servers should be using.
 
 The "alpha" label would therefore be successful...  It really will
 need some work, although if you use only mzscheme then things are much
 more stable.
 
 
 > > In the mean time, I can repackage a corrected SSAX collection and
 > > put it in the patches directory
 > > (download.plt-scheme.org/patches/209).
 > 
 > Sounds good.  I'll ask the Debian maintainer to incorporate the
 > patch.
 
 AFAIK, Brent quit doing that, and at some point after I finish with
 some local pressures I'll sit around with Steavie here who volunteered
 to take over.  (I don't know whether there's anyone else that will be
 able to do that.)
 
 
 > (For production/support reasons on my end, it's good practice for me
 > both: (1) to be able to tell someone that "PLT version 209.patch1"
 > or "PLT version 209 with the official ssax1 patch" is required; and
 > (2) to make sure that the patch is incorporated into a Debian
 > version, rather than patching a Debian version outside of Debian
 > control.)
 
 Well, the version number that you'll see will not be bumped, it'll
 basically be a .plt that will overwrite files in the plt/collects/ssax
 directory.  (Making it modify the version number is possible but will
 mean much more work like announcements etc.)
 
 
 > > Will it be fine to just prefix all scheme sources with a #cs?
 > 
 > I think so, unless there is trickiness I don't understand with PLT
 > features like "include".
 
 Mike?  (I will do this in CVS so the exp tagged version will stay the
 same.)
 
 -- 
           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                   http://www.barzilay.org/                 Maze is Life!
From: Michael Sperber <sperber@informatik.uni-tuebingen.de>
To: "Neil W. Van Dyke" <neil@neilvandyke.org>
Cc: Eli Barzilay <eli@barzilay.org>, bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase
 and therefore invalid
Date: Sat, 29 Jan 2005 14:27:11 +0100

 >>>>> "Neil" == Neil W Van Dyke <neil@neilvandyke.org> writes:
 
 Neil> I wouldn't call it a "supposed" problem.  Just in case some additional
 Neil> info would be helpful...
 
 Neil> Regardless of how one feels about case-sensitivity in Scheme, I think
 Neil> that the SSAX packaging in 209 results in a broken SSAX that emits
 Neil> invalid SXML.
 
 That depends on how you read the spec.
 
 Neil> Some of the SSAX code has been case-sensitive for years.
 
 In fact, the SSAX code has always been case-insensitive for me.
 
 I see that having it behave one way or the other potentially causes
 problems for the other half of the users, but that fault lies with the
 people assuming case-sensitivity when R5RS in fact prescribes
 case-insensitivity.  (You know my position on this issue, but that
 doesn't really any bearing here.)
 
 So, I'd really recommend against changing things for the 2xx series,
 especially against making local modifications in the Debian distro,
 which is right along the road to hell.  ("Why does my PLT behave
 differently from Fritz's?")
 
 -- 
 Cheers =8-} Mike
 Friede, Völkerverständigung und überhaupt blabla
 
From: "Neil W. Van Dyke" <neil@neilvandyke.org>
To: Michael Sperber <sperber@informatik.uni-tuebingen.de>
Cc: "Neil W. Van Dyke" <neil@neilvandyke.org>, Eli Barzilay <eli@barzilay.org>,
        bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase
 and therefore invalid
Date: Sat, 29 Jan 2005 19:43:44 -0500

 I've posted today (Saturday) to the "ssax-sxml" email list, asking
 whether the non-XML-name symbols, such as "*TOP*", in SXML should be
 case-sensitive.
 
 Hopefully, Oleg or Kirill will respond within the next couple days.
From: Eli Barzilay <eli@barzilay.org>
To: "Neil W. Van Dyke" <neil@neilvandyke.org>
Cc: Michael Sperber <sperber@informatik.uni-tuebingen.de>, bugs@plt-scheme.org
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase
 and therefore invalid
Date: Sat, 29 Jan 2005 22:58:30 -0500

 On Jan 29, Neil W. Van Dyke wrote:
 > 
 > I've posted today (Saturday) to the "ssax-sxml" email list, asking
 > whether the non-XML-name symbols, such as "*TOP*", in SXML should be
 > case-sensitive.
 > 
 > Hopefully, Oleg or Kirill will respond within the next couple days.
 
 Please keep me in the loop for a solution, so I know if a fix & a
 repackage is needed.  (I'm not going to do anything unless Mike
 approves, given that its his corner...)
 -- 
           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                   http://www.barzilay.org/                 Maze is Life!
From: "Neil W. Van Dyke" <neil@neilvandyke.org>
To: Michael Sperber <sperber@informatik.uni-tuebingen.de>,
        Eli Barzilay <eli@barzilay.org>, bugs@plt-scheme.org
Cc: 
Subject: Re: all/7212: ssax collection uppercase symbols folded to lowercase
 and therefore invalid
Date: Thu, 3 Feb 2005 19:00:05 -0500

 Oleg doesn't seem to have taken a strong stance on this so far,
 so I'm just going to make and distribute my own SSAX packaging for PLT
 til everyone is moved to PLT 300.