Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version trunk Product Version
  Product Build
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.
Steps To Reproduce
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