[squeak-dev] The Trunk: System-dtl.1233.mcz

commits at source.squeak.org commits at source.squeak.org
Sat May 15 17:25:40 UTC 2021


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