Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006367 [Squeak] Collections minor always 03-23-07 00:30 09-15-09 19:16
Reporter nicolas cellier View Status public  
Assigned To nicolas cellier
Priority normal Resolution fixed  
Status closed   Product Version
Summary 0006367: [BUG] WideString substrings broken
Description | w |
w := WideString with: 401 asCharacter with: $a with: 402 asCharacter with: $b.
self assert: w substrings first = w.
Additional Information CharacterSet complement does not take WideCharacter into account...
Thus CSNonSeparators String classVar is incomplete...

Possible cure: create a CharacterSetComplement class that handles includes: test as a negation of its characterSet instVar includes:
Attached Files  WideString-substrings-Test.1.cs [^] (661 bytes) 03-23-07 00:46
 WideString-substrings-Patch.1.cs [^] (4,694 bytes) 03-23-07 01:30
 CharacterSetComplement-M6367-nice-hashPatch.1.cs [^] (519 bytes) 11-15-07 20:40
 CharacterSetComplement-M6367-nice-printing.1.cs [^] (1,170 bytes) 11-19-07 22:49
 CharacterSetComplement-M6367-nice-patchCopy.1.cs [^] (979 bytes) 11-19-07 23:37
 CharacterSetComplement-postCopy-M6367-nice.1.cs [^] (703 bytes) 11-19-07 23:59

- Relationships
related to 0007175closed andreas CharacterSetComplement cannot printString 
related to 0005331closed andreas 'abc' beginsWith: 'ab' asWideString (returns wrong result) 

- Notes
(0010463 - 52 - 58 - 58 - 58 - 58 - 58)
nicolas cellier
03-23-07 01:31

Test and patch added.
Any volunteer to cross check?
 
(0011439 - 141 - 159 - 369 - 369 - 369 - 369)
nicolas cellier
11-15-07 20:42

Following http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-November/122283.html [^]

find a patch for CharacterSetComplement>>#hash.
 
(0011447 - 142 - 148 - 148 - 148 - 148 - 148)
nicolas cellier
11-19-07 22:51

CharacterSetComplement cannot be printed, because they refuse to #do:
CharacterSetComplement-M6367-nice-printing.1.cs patches this behaviour.
 
(0011448 - 441 - 622 - 750 - 750 - 750 - 750)
nicolas cellier
11-19-07 23:35

CharacterSetComplement when created omit to do a copy.
If complement is futher changed, it will change the original changeSet.
Example:
    | cs1 cs2 |
    cs1 := CharacterSet separators.
    cs2 := cs1 complement.
    cs2 add: Character tab.
    ^cs1 includes: Character tab.

CharacterSetComplement-M6367-nice-patchCopy.1.cs patches this behaviour.
IF AND ONLY IF CharacterSet copy is patched itself
See http://bugs.squeak.org/view.php?id=6777 [^]
 
(0011450 - 106 - 112 - 112 - 112 - 112 - 112)
nicolas cellier
11-20-07 00:00

And of course, #postCopy has to be defined too...
This is CharacterSetComplement-postCopy-M6367-nice.1.cs
 
(0011569 - 503 - 581 - 581 - 581 - 581 - 581)
Keith_Hodges
12-17-07 17:39

"fix begin"
Installer mantis bug: 6367 fix:'WideString-substrings-Patch.1.cs'.
Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-hashPatch.1.cs'.
Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-printing.1.cs'.
Installer mantis bug: 6367 fix:'CharacterSetComplement-M6367-nice-patchCopy.1.cs'.
Installer mantis bug: 6367 fix:'CharacterSetComplement-postCopy-M6367-nice.1.cs'.
"fix test"
Installer mantis bug: 6367 fix:'WideString-substrings-Test.1.cs'.
"fix end"
 
(0012334 - 14 - 14 - 14 - 14 - 14 - 14)
noha
07-04-08 06:23

in pharo 10049
 
(0012566 - 375 - 411 - 589 - 589 - 589 - 589)
KenCausey
09-01-08 18:04

http://ftp.squeak.org/updates/7073CollectionAndCollectionTest.cs [^] (for 3.10)

harvests WideString-substrings-Test.1.cs, WideString-substrings-Patch.1.cs, CharacterSetComplement-M6367-nice-hashPatch.1.cs, CharacterSetComplement-M6367-nice-patchCopy.1.cs, and CharacterSetComplement-postCopy-M6367-nice.1.cs

but NOT CharacterSetComplement-M6367-nice-printing.1.cs

*sigh*
 
(0012570 - 118 - 118 - 118 - 210 - 210 - 210)
nicolas cellier
09-02-08 07:40

Since CharacterSetComplement-M6367-nice-printing.1.cs has not been harvested, printString bug is now reported at 0007175
 
(0012604 - 106 - 106 - 106 - 198 - 198 - 198)
KenCausey
09-09-08 15:06

Thank you Nicolas. Most patches harvested with update 7073 and released in 3.10. See 0007175 for followup.
 
(0013308 - 260 - 296 - 456 - 456 - 456 - 456)
nicolas cellier
09-15-09 19:14

Strange, 3 changes were missing in trunk.

CharacterSetComplement-M6367-nice-hashPatch.1.cs
CharacterSetComplement-M6367-nice-patchCopy.1.cs
CharacterSetComplement-postCopy-M6367-nice.1.cs

Fixed in http://source.squeak.org/trunk/Collections-nice.133.mcz [^]
 

- Issue History
Date Modified Username Field Change
03-23-07 00:30 nicolas cellier New Issue
03-23-07 00:46 nicolas cellier File Added: WideString-substrings-Test.1.cs
03-23-07 01:30 nicolas cellier File Added: WideString-substrings-Patch.1.cs
03-23-07 01:31 nicolas cellier Note Added: 0010463
03-23-07 02:49 andreas Category Kernel => Collections
07-28-07 19:51 nicolas cellier Issue Monitored: nicolas cellier
07-28-07 19:52 nicolas cellier Issue End Monitor: nicolas cellier
11-15-07 20:40 nicolas cellier File Added: CharacterSetComplement-M6367-nice-hashPatch.1.cs
11-15-07 20:42 nicolas cellier Note Added: 0011439
11-19-07 22:49 nicolas cellier File Added: CharacterSetComplement-M6367-nice-printing.1.cs
11-19-07 22:51 nicolas cellier Note Added: 0011447
11-19-07 23:35 nicolas cellier Note Added: 0011448
11-19-07 23:37 nicolas cellier File Added: CharacterSetComplement-M6367-nice-patchCopy.1.cs
11-19-07 23:59 nicolas cellier File Added: CharacterSetComplement-postCopy-M6367-nice.1.cs
11-20-07 00:01 nicolas cellier Note Added: 0011450
12-17-07 17:39 Keith_Hodges Note Added: 0011569
07-04-08 06:23 noha Note Added: 0012334
09-01-08 18:04 KenCausey Note Added: 0012566
09-02-08 07:40 nicolas cellier Note Added: 0012570
09-09-08 15:06 KenCausey Status new => closed
09-09-08 15:06 KenCausey Note Added: 0012604
09-09-08 15:06 KenCausey Resolution open => fixed
09-09-08 15:06 KenCausey Fixed in Version  => 3.10
09-09-08 15:07 KenCausey Relationship added related to 0007175
09-15-09 19:14 nicolas cellier Assigned To  => nicolas cellier
09-15-09 19:14 nicolas cellier Status closed => feedback
09-15-09 19:14 nicolas cellier Resolution fixed => reopened
09-15-09 19:14 nicolas cellier Note Added: 0013308
09-15-09 19:14 nicolas cellier Status feedback => resolved
09-15-09 19:14 nicolas cellier Fixed in Version 3.10 => trunk
09-15-09 19:14 nicolas cellier Resolution reopened => fixed
09-15-09 19:16 nicolas cellier Status resolved => closed
10-03-09 19:46 nicolas cellier Relationship added related to 0005331


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
111 total queries executed.
59 unique queries executed.
Powered by Mantis Bugtracker