'From Squeak3.8beta of ''22 October 2004'' [latest update: #6375] on 16 November 2004 at 6:44:36 pm'! "Change Set: macRomanFileOut Date: 16 November 2004 Author: Michael Rueger Adds the capability to force fileOuts in MacRoman encoding and a preference to turn it on and off."! !FileStream class methodsFor: 'file reader services' stamp: 'mir 11/16/2004 18:43'! writeSourceCodeFrom: aStream baseName: baseName isSt: stOrCsFlag useHtml: useHtml | extension converter f fileName | (Preferences defaultFileOutFormatMacRoman or: [aStream contents isAsciiString]) ifTrue: [ stOrCsFlag ifTrue: [extension _ (FileDirectory dot, FileStream st)] ifFalse: [extension _ (FileDirectory dot, FileStream cs)]. converter _ MacRomanTextConverter new] ifFalse: [ stOrCsFlag ifTrue: [extension _ (FileDirectory dot, FileStream st "multiSt")] ifFalse: [extension _ (FileDirectory dot, FileStream cs "multiCs")]. converter _ UTF8TextConverter new]. fileName _ useHtml ifTrue: [baseName, '.html'] ifFalse: [baseName, extension]. f _ FileStream newFileNamed: fileName. f ifNil: [^ self error: 'Cannot open file']. (converter isMemberOf: UTF8TextConverter) ifTrue: [self writeUTF8PreambleOn: f]. f converter: converter. f nextPutAll: aStream contents. f close. ! ! !Preferences class methodsFor: 'standard queries'! defaultFileOutFormatMacRoman ^ self valueOfFlag: #defaultFileOutFormatMacRoman ifAbsent: [true]! ! "Postscript: " Preferences addPreference: #defaultFileOutFormatMacRoman category: #fileout default: false balloonHelp: 'If set the file out format will default to MacRoman even if the source includes non-ascii characters. Should only be used to allow back porting of code to pre-3.8 versions of Squeak.'!