This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Source for ticket #92

cc


    

changetime

2012-10-05 06:42:20

component

WG1 - Core

description

I propose adopting the R6RS flags #!case-fold and #!no-case-fold to specify the case-sensitivity of files of Scheme code, even though most R5RS Schemes that support flags use #ci and #cs.  In Chicken, at least, the latter two refer to the next datum only, which is one argument for using the unambiguous R6RS forms.

For case-sensitivity control in files read by the program, I suggest the method of PortsCowan, which is selective per-file rather than pervasive.

id

92

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

fixed

severity


    

status

closed

summary

Case-folding flags

time

2010-11-15 05:28:44

type

defect

Changes

Change at time 2012-10-05 06:42:20

author

cowan

field

comment

newvalue


    

oldvalue

7

raw-time

1349394140125905

ticket

92

time

2012-10-05 06:42:20

Change at time 2012-10-05 06:42:20

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349394140125905

ticket

92

time

2012-10-05 06:42:20

Change at time 2012-10-05 06:42:20

author

cowan

field

status

newvalue

closed

oldvalue

writing

raw-time

1349394140125905

ticket

92

time

2012-10-05 06:42:20

Change at time 2011-02-20 13:47:49

author

alexshinn

field

comment

newvalue


    

oldvalue

6

raw-time

1298180869000000

ticket

92

time

2011-02-20 13:47:49

Change at time 2011-02-20 13:47:49

author

alexshinn

field

owner

newvalue

alexshinn

oldvalue


    

raw-time

1298180869000000

ticket

92

time

2011-02-20 13:47:49

Change at time 2011-02-20 13:47:49

author

alexshinn

field

status

newvalue

writing

oldvalue

decided

raw-time

1298180869000000

ticket

92

time

2011-02-20 13:47:49

Change at time 2011-01-29 12:01:24

author

alexshinn

field

comment

newvalue


    

oldvalue

5

raw-time

1296273684000000

ticket

92

time

2011-01-29 12:01:24

Change at time 2011-01-29 12:01:24

author

alexshinn

field

status

newvalue

decided

oldvalue

assigned

raw-time

1296273684000000

ticket

92

time

2011-01-29 12:01:24

Change at time 2011-01-29 12:01:14

author

alexshinn

field

comment

newvalue


    

oldvalue

4

raw-time

1296273674000000

ticket

92

time

2011-01-29 12:01:14

Change at time 2011-01-29 12:01:14

author

alexshinn

field

owner

newvalue


    

oldvalue

alexshinn

raw-time

1296273674000000

ticket

92

time

2011-01-29 12:01:14

Change at time 2011-01-29 12:01:14

author

alexshinn

field

status

newvalue

assigned

oldvalue

reopened

raw-time

1296273674000000

ticket

92

time

2011-01-29 12:01:14

Change at time 2011-01-29 12:01:00

author

alexshinn

field

comment

newvalue


    

oldvalue

3

raw-time

1296273660000000

ticket

92

time

2011-01-29 12:01:00

Change at time 2011-01-29 12:01:00

author

alexshinn

field

resolution

newvalue


    

oldvalue

fixed

raw-time

1296273660000000

ticket

92

time

2011-01-29 12:01:00

Change at time 2011-01-29 12:01:00

author

alexshinn

field

status

newvalue

reopened

oldvalue

closed

raw-time

1296273660000000

ticket

92

time

2011-01-29 12:01:00

Change at time 2011-01-24 06:50:07

author

cowan

field

comment

newvalue

WG1 voted to go with R6RS.

oldvalue

2

raw-time

1295823007000000

ticket

92

time

2011-01-24 06:50:07

Change at time 2011-01-24 06:50:07

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1295823007000000

ticket

92

time

2011-01-24 06:50:07

Change at time 2011-01-24 06:50:07

author

cowan

field

status

newvalue

closed

oldvalue

new

raw-time

1295823007000000

ticket

92

time

2011-01-24 06:50:07

Change at time 2010-11-15 05:29:57

author

cowan

field

comment

newvalue

What happens when a case-preserving module imports names from a case-folded module?  Since Unicode case folding is downcasing, the obvious answer is that all such names are implicitly exported in lower case.  Thus a case-preserving module must refer to them in lower case only, and an attempt to reference them in upper case will fail.

The reverse situation is more difficult.  A case-preserving module may export foo, Foo, and FOO as three separate names; how can they be written in a case-folding module that imports them?  The answer is that case-folding affects only reading and printing; small Scheme identifiers may contain both lowercase and uppercase letters, thanks to the presence of escaping mechanisms in identifier syntax.  Consequently, the case-folding module can refer to these identifiers as foo (or FOO), |Foo|, and |FOO| respectively.

oldvalue

1

raw-time

1289770197000000

ticket

92

time

2010-11-15 05:29:57