[squeak-dev] The Trunk: System-nice.168.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 18 11:27:52 UTC 2009


Nicolas Cellier uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-nice.168.mcz

==================== Summary ====================

Name: System-nice.168
Author: nice
Time: 18 November 2009, 12:28:13 pm
UUID: d98d8bf5-1d94-b54b-9358-a7534a5c698f
Ancestors: System-mha.167

Incorrect use of StandardFileStream in #condenseChanges
identified in http://code.google.com/p/pharo/issues/detail?id=830

condensing changes and doing modifications before saving the image will mess some non ASCII characters.
a user will generally save as soon as condensed, but above mess can likely happen with scripts.

=============== Diff against System-mha.167 ===============

Item was changed:
  ----- Method: SystemDictionary>>condenseChanges (in category 'housekeeping') -----
  condenseChanges
  	"Move all the changes onto a compacted sources file."
  	"Smalltalk condenseChanges"
  	| f oldChanges count |
  	f := FileStream fileNamed: 'ST80.temp'.
  	f header; timeStamp.
  	'Condensing Changes File...'
  		displayProgressAt: Sensor cursorPoint
  		from: 0
  		to: self classNames size + self traitNames size
  		during: [:bar | 
  			count := 0.
  			self
  				allClassesAndTraitsDo: [:classOrTrait | 
  					bar value: (count := count + 1).
  					classOrTrait moveChangesTo: f.
  					classOrTrait putClassCommentToCondensedChangesFile: f.
  					classOrTrait classSide moveChangesTo: f]].
  	SmalltalkImage current lastQuitLogPosition: f position.
  	f trailer; close.
  	oldChanges := SourceFiles at: 2.
  	oldChanges close.
  	FileDirectory default deleteFileNamed: oldChanges name , '.old';
  		 rename: oldChanges name toBe: oldChanges name , '.old';
  		 rename: f name toBe: oldChanges name.
  	self setMacFileInfoOn: oldChanges name.
  	SourceFiles
  		at: 2
+ 		put: (FileStream oldFileNamed: oldChanges name)!
- 		put: (StandardFileStream oldFileNamed: oldChanges name)!

Item was changed:
  ----- Method: SystemDictionary>>writeRecentCharacters:toFileNamed: (in category 'sources, change log') -----
  writeRecentCharacters: nCharacters toFileNamed: aFilename
  	"Schedule an editable text view on the last n characters of changes."
  	| changes |
  	changes := SourceFiles at: 2.
  	changes setToEnd; skip: nCharacters negated.
+ 	(FileStream newFileNamed: aFilename) nextPutAll: (changes next: nCharacters); close; open; edit!
- 	(StandardFileStream newFileNamed: aFilename) nextPutAll: (changes next: nCharacters); close; open; edit!




More information about the Squeak-dev mailing list