Argh, yes, I am sorry. I can no longer reproduce it either, must have occurred
in a hacking image.
I tested with the latest 7 and all was OK, even with a full Unicode comment like
foo
"élève Français - 100 €"
^ foo
> On 20 Mar 2018, at 17:12, Martin Dias <[email protected]> wrote:
>
> Couldn't reproduce in latest Pharo 7 32 bits.
>
> From stack trace: it's strange that ZnUTF8Encoder>>nextCodePointFromStream:
> got that nil when parsing the stream.
>
> Martin
>
> On Wed, Mar 14, 2018 at 8:32 AM, Guillermo Polito <[email protected]>
> wrote:
> I cannot reproduce it from here... does your file have non-ascii characters?
>
> On Wed, Mar 14, 2018 at 10:55 AM, Sven Van Caekenberghe <[email protected]> wrote:
> World Menu > Tools > Code Changes
>
> click on any change, boom.
>
> [ :error |
> (OmFileStoreReadingError
> readingError: error
> on: self fileReference
> position: readStream position) signal ] in [ :readStream |
> [ ^ aBlockClosure value: readStream ]
> on: Error
> do: [ :error |
> (OmFileStoreReadingError
> readingError: error
> on: self fileReference
> position: readStream position) signal ] ] in
> OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ :error | ...
> BlockClosure>>cull:
> Context>>evaluateSignal:
> Context>>handleSignal:
> Context>>handleSignal:
> MessageNotUnderstood(Exception)>>signal
> UndefinedObject(Object)>>doesNotUnderstand: #<
> ZnUTF8Encoder>>nextCodePointFromStream:
> ZnUTF8Encoder(ZnCharacterEncoder)>>nextFromStream:
> ZnCharacterReadStream>>nextElement
> [ :out |
> | partialMatch pattern matched |
> partialMatch := (self collectionSpecies new: aCollection size)
> writeStream.
> pattern := aCollection readStream.
> matched := false.
> [ matched or: [ self atEnd or: [ pattern atEnd ] ] ]
> whileFalse: [ | ch |
> (ch := self nextElement) = pattern next
> ifTrue: [ pattern atEnd
> ifTrue: [ matched := true ]
> ifFalse: [ partialMatch nextPut: ch ]
> ]
> ifFalse: [ pattern reset.
> out nextPutAll: partialMatch contents.
> partialMatch reset.
> out nextPut: ch ] ].
> matched
> ifFalse: [ out nextPutAll: partialMatch contents ] ] in
> ZnCharacterReadStream>>upToAll: in Block: [ :out | ...
> String class(SequenceableCollection class)>>new:streamContents:
> String class(SequenceableCollection class)>>streamContents:
> ZnCharacterReadStream>>upToAll:
> [ stream upToAll: token ] in
> OmSTONEntryReader>>nextEntryPositionIfFound:ifNone: in Block: [ stream
> upToAll: token ]
> BlockClosure>>on:do:
> OmSTONEntryReader>>nextEntryPositionIfFound:ifNone:
> OmSTONEntryReader>>entryPositionsDo:
> OmSTONEntryReader>>entryPositionsUpTo:
> [ :readStream |
> readStream position: startPosition.
> ^ self newEntryReader
> stream: readStream;
> entryPositionsUpTo: endPosition ] in
> OmBlockFileStore>>entryPositionsStartingAt:upTo: in Block: [ :readStream | ...
> [ ^ aBlockClosure value: readStream ] in [ :readStream |
> [ ^ aBlockClosure value: readStream ]
> on: Error
> do: [ :error |
> (OmFileStoreReadingError
> readingError: error
> on: self fileReference
> position: readStream position) signal ] ] in
> OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ ^ aBlockClosure
> value: readStream ]
> BlockClosure>>on:do:
> [ :readStream |
> [ ^ aBlockClosure value: readStream ]
> on: Error
> do: [ :error |
> (OmFileStoreReadingError
> readingError: error
> on: self fileReference
> position: readStream position) signal ] ] in
> OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ :readStream | ...
> [ aBlock value: stream ] in
> FileReference(AbstractFileReference)>>readStreamDo: in Block: [ aBlock value:
> stream ]
> BlockClosure>>ensure:
> FileReference(AbstractFileReference)>>readStreamDo:
> OmBlockFileStore(OmFileStore)>>readEntriesWith:
> OmBlockFileStore>>entryPositionsStartingAt:upTo:
> OmBlock>>refresh
> OmBlock>>checkIfMustRefreshBlock
>
>
>
>
>
> --
>
> Guille Polito
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr
>
> Web: http://guillep.github.io
> Phone: +33 06 52 70 66 13
>