|Anonymous | Login||01-22-2022 03:24 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Advanced Details [ Jump to Notes ]||[ View Simple ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0006353||[Squeak] Collections||minor||always||03-21-07 12:01||03-21-07 14:42|
|Reporter||Damien Cassou||View Status||public|
|ETA||none||Fixed in Version||Product Version||3.9|
|Summary||0006353: PositionnableStream>>skip: not standard|
In the standard, #skip: should explicetly not raise an error if #skip:
would go after the end. It is said that "A number of objects equal to
the lesser of amount and the size of the receiver's future sequence
values are removed..."
The current implementation raises an error. Do we choose the current implementation our the standard ? If you have other Smalltalk implementations at hand, what did they choose ?
Attached file is a test for the ANSI behavior.
|Steps To Reproduce||
(ReadStream on: 'test') skip: 6
|Attached Files||ReadStreamTest-testSkip.1.cs [^] (531 bytes) 03-21-07 12:01|
(0010458 - 672 - 768 - 768 - 768 - 768 - 768)
STX 5.2.8 error
vast 6.0.3 error
gst 2.2 position: => error; skip: => ANSI
strongtalk 1.1: no error, but position pointer is out of bound and stream is not usable
NOTE: Dolphin6 is aware of non-ANSI-ness (written in comments)
- keep current behaviour
- switch to ANSI behaviour
- raise a notification rather than an error : while this still give a chance to trap, default handler for unhandled would be to implement ANSI...
- dual selectors skip: skipANSI:, or skip:, skipNonANSI:
- add an ANSI-compatibility package off the kernel image
- make a programmable preference and handle the error according to it
(0010459 - 551 - 644 - 644 - 644 - 644 - 644)
> - keep current behaviour
> - switch to ANSI behaviour
I like both solutions. We just need to choose and explain in the comment.
> - dual selectors skip: skipANSI:, or skip:, skipNonANSI:
>- add an ANSI-compatibility package off the kernel image
Don't like that because the aim is not to follow ANSI but be coherent and intelligent. I would prefer a #skip:ifFail:
> - make a programmable preference and handle the error according to it
This is your worst choice :-) I don't want code that behaves differently based on a preference.
|03-21-07 12:01||Damien Cassou||New Issue|
|03-21-07 12:01||Damien Cassou||File Added: ReadStreamTest-testSkip.1.cs|
|03-21-07 14:31||nicolas cellier||Note Added: 0010458|
|03-21-07 14:42||Damien Cassou||Note Added: 0010459|
|03-21-07 14:43||Damien Cassou||Issue Monitored: Damien Cassou|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
40 total queries executed.|
29 unique queries executed.