changed #appendChange:toFile: Make error proceedable
authorStefan Vogel <sv@exept.de>
Mon, 05 Feb 2007 14:06:06 +0100
changeset 7618 92c7128604a4
parent 7617 1105232cb05b
child 7619 95943c1bc289
changed #appendChange:toFile: Make error proceedable
ChangesBrowser.st
--- a/ChangesBrowser.st	Mon Feb 05 10:59:15 2007 +0100
+++ b/ChangesBrowser.st	Mon Feb 05 14:06:06 2007 +0100
@@ -2629,58 +2629,59 @@
 
     changeInStream := self streamForChange:changeNr.
     changeInStream isNil ifTrue:[
-	self warn:'Cannot read change'.
-	^ false
+        self warn:'Cannot read change'.
+        ^ false
     ].
     changeInStream skipSeparators.
 
     separator := changeInStream class chunkSeparator.
 
     (self changeIsFollowupMethodChange:changeNr) ifTrue:[
-	sawExcla := true.
-	chunk := changeChunks at:changeNr.
+        sawExcla := true.
+        chunk := changeChunks at:changeNr.
     ] ifFalse:[
-	sawExcla := changeInStream peekFor:separator.
-	chunk := changeInStream nextChunk.
+        sawExcla := changeInStream peekFor:separator.
+        chunk := changeInStream nextChunk.
     ].
     chunk withoutSeparators isEmpty ifTrue:[
-	self error:'Empty chunk - should not happen'.
+        self error:'Empty chunk - should not happen' mayProceed:true.
+        ^ false.
     ].
 
     fileName := aFileNameOrFileNameString asFilename.
     fileName exists ifTrue:[
-	encoding := CharacterEncoder guessEncodingOfFile:fileName.
+        encoding := CharacterEncoder guessEncodingOfFile:fileName.
     ] ifFalse:[
-	encoding := #utf8.
+        encoding := #utf8.
     ].
 
     [
-	outStream := fileName readWriteStream.
+        outStream := fileName readWriteStream.
     ] on:FileStream openErrorSignal do:[:ex|
-	self warn:'Cannot update file: ''%1''' with:fileName.
-	^ false
+        self warn:'Cannot update file: ''%1''' with:fileName.
+        ^ false
     ].
 
     encoding notNil ifTrue:[
-	outStream := EncodedStream stream:outStream encoder:(CharacterEncoder encoderFor:encoding).
-	outStream nextPutLine:'"{ Encoding: utf8 }" !!'.
+        outStream := EncodedStream stream:outStream encoder:(CharacterEncoder encoderFor:encoding).
+        outStream nextPutLine:'"{ Encoding: utf8 }" !!'.
     ].
 
     outStream setToEnd.
 
     sawExcla ifTrue:[
-	outStream nextPut:separator
+        outStream nextPut:separator
     ].
     outStream nextChunkPut:chunk; cr.
     sawExcla ifTrue:[
-	chunk2 := changeInStream nextChunk.
-	chunk2 withoutSeparators isEmpty ifTrue:[
-	    self error:'Empty chunk - should not happen'.
-	].
-	outStream nextChunkPut:chunk2; space
+        chunk2 := changeInStream nextChunk.
+        chunk2 withoutSeparators isEmpty ifTrue:[
+            self error:'Empty chunk - should not happen'.
+        ].
+        outStream nextChunkPut:chunk2; space
     ].
     sawExcla ifTrue:[
-	outStream nextPut:separator
+        outStream nextPut:separator
     ].
     outStream cr.
 
@@ -5920,5 +5921,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.362 2006-11-20 21:29:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.363 2007-02-05 13:06:06 stefan Exp $'
 ! !