[squeak-dev] The Trunk: System-dtl.1233.mcz
Chris Muller
asqueaker at gmail.com
Mon May 17 21:13:09 UTC 2021
Does this mean that installation of software can now fail silently in
the 100% normal case, e.g., with no Error signaled? (sorry, a line
that scrolled out of the Transcript after 100ms is not an adequate
warning at all).
Installing Cuis code is typically a "one time thing" for a port of
some app, here or there, and someone would simply hack your change in
temporarily. I don't understand why you feel this should be a regular
part of trunk. Making things less-strict willy-nilly invites future
issues...
On Sat, May 15, 2021 at 12:25 PM <commits at source.squeak.org> wrote:
>
> David T. Lewis uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-dtl.1233.mcz
>
> ==================== Summary ====================
>
> Name: System-dtl.1233
> Author: dtl
> Time: 15 May 2021, 1:25:37.809444 pm
> UUID: 660215fe-f151-4184-8a31-8775202baa81
> Ancestors: System-nice.1232
>
> Be permissive when filing in Cuis packages. Skip chunks that begin with known extensions that are not meaningful for Squeak, logging to Transcript to show chunks that have been ignored.
>
> =============== Diff against System-nice.1232 ===============
>
> Item was changed:
> ----- Method: PositionableStream>>fileInAnnouncing: (in category '*System-Changes-fileIn/Out') -----
> fileInAnnouncing: announcement
> "This is special for reading expressions from text that has been formatted
> with exclamation delimitors. The expressions are read and passed to the
> Compiler. Answer the result of compilation. Put up a progress report with
> the given announcement as the title."
>
> | val |
> announcement
> displayProgressFrom: 0
> to: self size
> during:
> [:bar |
> [self atEnd] whileFalse:
> [bar value: self position.
> self skipSeparators.
>
> [ | chunk |
> val := (self peekFor: $!!)
> + ifTrue: [ | ch |
> + ch := self nextChunk.
> + (self shouldIgnore: ch)
> + ifTrue: [Transcript showln: 'Ignoring chunk: ', ch]
> + ifFalse: [(Compiler evaluate: ch logged: true) scanFrom: self]]
> - ifTrue: [(Compiler evaluate: self nextChunk logged: true) scanFrom: self]
> ifFalse:
> [chunk := self nextChunk.
> self checkForPreamble: chunk.
> Compiler evaluate: chunk logged: true]]
> on: InMidstOfFileinNotification
> do: [:ex | ex resume: true].
> self skipStyleChunk].
> self close].
> "Note: The main purpose of this banner is to flush the changes file."
> Smalltalk logChange: '----End fileIn of ' , self name , '----'.
> self flag: #ThisMethodShouldNotBeThere. "sd"
> ^val!
>
> Item was added:
> + ----- Method: PositionableStream>>shouldIgnore: (in category '*System-Changes-fileIn/Out') -----
> + shouldIgnore: chunk
> + "Fileouts created on another Smalltalk may contain chunks that are
> + not meaningful for Squeak. Answer true if chunk should be ignored."
> +
> + ^ ((chunk beginsWith: 'provides:') "Cuis Smalltalk extensions"
> + or: [chunk beginsWith: 'requires:'])
> + or: [chunk beginsWith: 'classDefinition:']
> + !
>
>
More information about the Squeak-dev
mailing list
|