671 String primitiveDefinitionsString |
681 String primitiveDefinitionsString |
672 " |
682 " |
673 ! |
683 ! |
674 |
684 |
675 primitiveFunctions:aString |
685 primitiveFunctions:aString |
|
686 "{ Pragma: +optSpace }" |
|
687 |
676 "set the primitiveFunction string" |
688 "set the primitiveFunction string" |
677 |
689 |
678 self setPrimitiveSpecsAt:3 to:aString. |
690 self setPrimitiveSpecsAt:3 to:aString. |
679 self addChangeRecordForPrimitiveFunctions:self. |
691 self addChangeRecordForPrimitiveFunctions:self. |
680 |
692 |
681 "Created: 29.10.1995 / 19:41:48 / cg" |
693 "Created: 29.10.1995 / 19:41:48 / cg" |
682 ! |
694 ! |
683 |
695 |
684 primitiveFunctionsString |
696 primitiveFunctionsString |
|
697 "{ Pragma: +optSpace }" |
|
698 |
685 "return the primitiveFunctions string or nil" |
699 "return the primitiveFunctions string or nil" |
686 |
700 |
687 ^ self getPrimitiveSpecsAt:3 |
701 ^ self getPrimitiveSpecsAt:3 |
688 ! |
702 ! |
689 |
703 |
690 primitiveSpec |
704 primitiveSpec |
|
705 "{ Pragma: +optSpace }" |
|
706 |
691 "return the primitiveSpec or nil" |
707 "return the primitiveSpec or nil" |
692 |
708 |
693 ^ primitiveSpec |
709 ^ primitiveSpec |
694 ! |
710 ! |
695 |
711 |
696 primitiveSpec:anArrayOf3ElementsOrNil |
712 primitiveSpec:anArrayOf3ElementsOrNil |
|
713 "{ Pragma: +optSpace }" |
|
714 |
697 "set the primitiveSpec or nil" |
715 "set the primitiveSpec or nil" |
698 |
716 |
699 primitiveSpec := anArrayOf3ElementsOrNil |
717 primitiveSpec := anArrayOf3ElementsOrNil |
700 ! |
718 ! |
701 |
719 |
702 primitiveVariables:aString |
720 primitiveVariables:aString |
|
721 "{ Pragma: +optSpace }" |
|
722 |
703 "set the primitiveVariable string" |
723 "set the primitiveVariable string" |
704 |
724 |
705 self setPrimitiveSpecsAt:2 to:aString. |
725 self setPrimitiveSpecsAt:2 to:aString. |
706 self addChangeRecordForPrimitiveVariables:self. |
726 self addChangeRecordForPrimitiveVariables:self. |
707 |
727 |
708 "Created: 29.10.1995 / 19:41:58 / cg" |
728 "Created: 29.10.1995 / 19:41:58 / cg" |
709 ! |
729 ! |
710 |
730 |
711 primitiveVariablesString |
731 primitiveVariablesString |
|
732 "{ Pragma: +optSpace }" |
|
733 |
712 "return the primitiveVariables string or nil" |
734 "return the primitiveVariables string or nil" |
713 |
735 |
714 ^ self getPrimitiveSpecsAt:2 |
736 ^ self getPrimitiveSpecsAt:2 |
715 ! |
737 ! |
716 |
738 |
717 privateClasses |
739 privateClasses |
|
740 "{ Pragma: +optSpace }" |
|
741 |
718 "return a collection of my private classes (if any); nil otherwise" |
742 "return a collection of my private classes (if any); nil otherwise" |
719 |
743 |
720 |classes myName| |
744 |classes myName| |
721 |
745 |
722 classes := IdentitySet new. |
746 classes := IdentitySet new. |
752 "Created: 11.10.1996 / 19:05:39 / cg" |
778 "Created: 11.10.1996 / 19:05:39 / cg" |
753 "Modified: 14.10.1996 / 17:23:30 / cg" |
779 "Modified: 14.10.1996 / 17:23:30 / cg" |
754 ! |
780 ! |
755 |
781 |
756 privateClassesAt:aClassNameSymbol put:aClass |
782 privateClassesAt:aClassNameSymbol put:aClass |
|
783 "{ Pragma: +optSpace }" |
|
784 |
757 "return a private class if present" |
785 "return a private class if present" |
758 |
786 |
759 self classVarAt:(':' , aClassNameSymbol) asSymbol put:aClass |
787 self classVarAt:(':' , aClassNameSymbol) asSymbol put:aClass |
760 |
788 |
761 "Created: 11.10.1996 / 17:53:06 / cg" |
789 "Created: 11.10.1996 / 17:53:06 / cg" |
762 "Modified: 14.10.1996 / 17:23:36 / cg" |
790 "Modified: 14.10.1996 / 17:23:36 / cg" |
763 ! |
791 ! |
764 |
792 |
765 removeClassVarName:aString |
793 removeClassVarName:aString |
|
794 "{ Pragma: +optSpace }" |
|
795 |
766 "remove a class variable if not already there. |
796 "remove a class variable if not already there. |
767 Also writes a change record and notifies dependents. |
797 Also writes a change record and notifies dependents. |
768 BUG: Currently, no recompilation is done - this will change." |
798 BUG: Currently, no recompilation is done - this will change." |
769 |
799 |
770 |names newNames| |
800 |names newNames| |
1422 ! ! |
1456 ! ! |
1423 |
1457 |
1424 !Class methodsFor:'changes management'! |
1458 !Class methodsFor:'changes management'! |
1425 |
1459 |
1426 addChangeRecordForChangeCategory |
1460 addChangeRecordForChangeCategory |
|
1461 "{ Pragma: +optSpace }" |
|
1462 |
1427 "add a category change record to the changes file" |
1463 "add a category change record to the changes file" |
1428 |
1464 |
1429 self writingChangePerform:#addChangeRecordForChangeCategory:to: with:category. |
1465 self writingChangePerform:#addChangeRecordForChangeCategory:to: with:category. |
1430 ! |
1466 ! |
1431 |
1467 |
1432 addChangeRecordForClass:aClass |
1468 addChangeRecordForClass:aClass |
|
1469 "{ Pragma: +optSpace }" |
|
1470 |
1433 "add a class-definition-record to the changes file" |
1471 "add a class-definition-record to the changes file" |
1434 |
1472 |
1435 self writingChangePerform:#addChangeRecordForClass:to: with:aClass. |
1473 self writingChangePerform:#addChangeRecordForClass:to: with:aClass. |
1436 ! |
1474 ! |
1437 |
1475 |
1438 addChangeRecordForClassCheckIn:aClass |
1476 addChangeRecordForClassCheckIn:aClass |
|
1477 "{ Pragma: +optSpace }" |
|
1478 |
1439 "append a class-was-checkedIn-record to the changes file" |
1479 "append a class-was-checkedIn-record to the changes file" |
1440 |
1480 |
1441 self addInfoRecord:('checkin ' , aClass name , ' (' , aClass revision , ')') |
1481 self addInfoRecord:('checkin ' , aClass name , ' (' , aClass revision , ')') |
1442 |
1482 |
1443 "Created: 18.11.1995 / 17:04:58 / cg" |
1483 "Created: 18.11.1995 / 17:04:58 / cg" |
1444 "Modified: 7.12.1995 / 23:45:01 / cg" |
1484 "Modified: 7.12.1995 / 23:45:01 / cg" |
1445 ! |
1485 ! |
1446 |
1486 |
1447 addChangeRecordForClassComment:aClass |
1487 addChangeRecordForClassComment:aClass |
|
1488 "{ Pragma: +optSpace }" |
|
1489 |
1448 "add a class-comment-record to the changes file" |
1490 "add a class-comment-record to the changes file" |
1449 |
1491 |
1450 self writingChangePerform:#addChangeRecordForClassComment:to: with:aClass. |
1492 self writingChangePerform:#addChangeRecordForClassComment:to: with:aClass. |
1451 ! |
1493 ! |
1452 |
1494 |
1453 addChangeRecordForClassContainerRemove:aClass |
1495 addChangeRecordForClassContainerRemove:aClass |
|
1496 "{ Pragma: +optSpace }" |
|
1497 |
1454 "append a container-was-removed-record to the changes file" |
1498 "append a container-was-removed-record to the changes file" |
1455 |
1499 |
1456 self addInfoRecord:('removed source container of ' , aClass name) |
1500 self addInfoRecord:('removed source container of ' , aClass name) |
1457 |
1501 |
1458 "Modified: 7.12.1995 / 23:45:01 / cg" |
1502 "Modified: 7.12.1995 / 23:45:01 / cg" |
1459 "Created: 11.9.1996 / 15:37:19 / cg" |
1503 "Created: 11.9.1996 / 15:37:19 / cg" |
1460 ! |
1504 ! |
1461 |
1505 |
1462 addChangeRecordForClassFileOut:aClass |
1506 addChangeRecordForClassFileOut:aClass |
|
1507 "{ Pragma: +optSpace }" |
|
1508 |
1463 "append a class-was-filedOut-record to the changes file" |
1509 "append a class-was-filedOut-record to the changes file" |
1464 |
1510 |
1465 self addInfoRecord:('fileOut ' , aClass name) |
1511 self addInfoRecord:('fileOut ' , aClass name) |
1466 ! |
1512 ! |
1467 |
1513 |
1468 addChangeRecordForClassInstvars:aClass |
1514 addChangeRecordForClassInstvars:aClass |
|
1515 "{ Pragma: +optSpace }" |
|
1516 |
1469 "add a class-instvars-record to the changes file" |
1517 "add a class-instvars-record to the changes file" |
1470 |
1518 |
1471 self writingChangePerform:#addChangeRecordForClassInstvars:to: with:aClass. |
1519 self writingChangePerform:#addChangeRecordForClassInstvars:to: with:aClass. |
1472 ! |
1520 ! |
1473 |
1521 |
1474 addChangeRecordForClassRemove:oldName |
1522 addChangeRecordForClassRemove:oldName |
|
1523 "{ Pragma: +optSpace }" |
|
1524 |
1475 "add a class-remove-record to the changes file" |
1525 "add a class-remove-record to the changes file" |
1476 |
1526 |
1477 self writingChangePerform:#addChangeRecordForClassRemove:to: with:oldName. |
1527 self writingChangePerform:#addChangeRecordForClassRemove:to: with:oldName. |
1478 ! |
1528 ! |
1479 |
1529 |
1480 addChangeRecordForClassRename:oldName to:newName |
1530 addChangeRecordForClassRename:oldName to:newName |
|
1531 "{ Pragma: +optSpace }" |
|
1532 |
1481 "add a class-rename-record to the changes file" |
1533 "add a class-rename-record to the changes file" |
1482 |
1534 |
1483 self writingChangeDo:[:aStream | |
1535 self writingChangeDo:[:aStream | |
1484 self addChangeRecordForClassRename:oldName to:newName to:aStream |
1536 self addChangeRecordForClassRename:oldName to:newName to:aStream |
1485 ] |
1537 ] |
1486 ! |
1538 ! |
1487 |
1539 |
1488 addChangeRecordForMethod:aMethod |
1540 addChangeRecordForMethod:aMethod |
|
1541 "{ Pragma: +optSpace }" |
|
1542 |
1489 "add a method-change-record to the changes file" |
1543 "add a method-change-record to the changes file" |
1490 |
1544 |
1491 self askIfUpdatingChanges ifTrue:[ |
1545 self askIfUpdatingChanges ifTrue:[ |
1492 self writingChangePerform:#addChangeRecordForMethod:to: with:aMethod. |
1546 self writingChangePerform:#addChangeRecordForMethod:to: with:aMethod. |
1493 "this test allows a smalltalk without Projects/ChangeSets" |
1547 "this test allows a smalltalk without Projects/ChangeSets" |
1558 ] |
1622 ] |
1559 ] |
1623 ] |
1560 ! |
1624 ! |
1561 |
1625 |
1562 addChangeRecordForRemoveSelector:aSelector |
1626 addChangeRecordForRemoveSelector:aSelector |
|
1627 "{ Pragma: +optSpace }" |
|
1628 |
1563 "add a method-remove-record to the changes file" |
1629 "add a method-remove-record to the changes file" |
1564 |
1630 |
1565 self writingChangePerform:#addChangeRecordForRemoveSelector:to: with:aSelector. |
1631 self writingChangePerform:#addChangeRecordForRemoveSelector:to: with:aSelector. |
1566 ! |
1632 ! |
1567 |
1633 |
1568 addChangeRecordForRenameCategory:oldCategory to:newCategory |
1634 addChangeRecordForRenameCategory:oldCategory to:newCategory |
|
1635 "{ Pragma: +optSpace }" |
|
1636 |
1569 "add a category-rename record to the changes file" |
1637 "add a category-rename record to the changes file" |
1570 |
1638 |
1571 self writingChangeDo:[:aStream | |
1639 self writingChangeDo:[:aStream | |
1572 self addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream. |
1640 self addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream. |
1573 ] |
1641 ] |
1574 ! |
1642 ! |
1575 |
1643 |
1576 addChangeRecordForSnapshot:aFileName |
1644 addChangeRecordForSnapshot:aFileName |
|
1645 "{ Pragma: +optSpace }" |
|
1646 |
1577 "add a snapshot-record to the changes file" |
1647 "add a snapshot-record to the changes file" |
1578 |
1648 |
1579 self addInfoRecord:('snapshot ' , aFileName) |
1649 self addInfoRecord:('snapshot ' , aFileName) |
1580 ! |
1650 ! |
1581 |
1651 |
1582 addChangeRecordForSnapshot:aFileName to:aStream |
1652 addChangeRecordForSnapshot:aFileName to:aStream |
|
1653 "{ Pragma: +optSpace }" |
|
1654 |
1583 "add a snapshot-record to aStream" |
1655 "add a snapshot-record to aStream" |
1584 |
1656 |
1585 self addInfoRecord:('snapshot ' , aFileName) to:aStream |
1657 self addInfoRecord:('snapshot ' , aFileName) to:aStream |
1586 ! |
1658 ! |
1587 |
1659 |
1588 addChangeTimeStampTo:aStream |
1660 addChangeTimeStampTo:aStream |
|
1661 "{ Pragma: +optSpace }" |
|
1662 |
1589 "a timestamp - prepended to any change, except infoRecords" |
1663 "a timestamp - prepended to any change, except infoRecords" |
1590 |
1664 |
1591 |info| |
1665 |info| |
1592 |
1666 |
1593 info := 'timestamp ' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName. |
1667 info := 'timestamp ' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName. |
3077 "Created: 3.12.1995 / 13:57:44 / cg" |
3155 "Created: 3.12.1995 / 13:57:44 / cg" |
3078 "Modified: 3.12.1995 / 14:11:26 / cg" |
3156 "Modified: 3.12.1995 / 14:11:26 / cg" |
3079 ! |
3157 ! |
3080 |
3158 |
3081 addChangeRecordForClassComment:aClass to:aStream |
3159 addChangeRecordForClassComment:aClass to:aStream |
|
3160 "{ Pragma: +optSpace }" |
|
3161 |
3082 "append a class-comment-record to aStream" |
3162 "append a class-comment-record to aStream" |
3083 |
3163 |
3084 aClass fileOutCommentOn:aStream. |
3164 aClass fileOutCommentOn:aStream. |
3085 |
3165 |
3086 "Modified: 4.3.1996 / 16:49:08 / cg" |
3166 "Modified: 4.3.1996 / 16:49:08 / cg" |
3087 ! |
3167 ! |
3088 |
3168 |
3089 addChangeRecordForClassInstvars:aClass to:aStream |
3169 addChangeRecordForClassInstvars:aClass to:aStream |
|
3170 "{ Pragma: +optSpace }" |
|
3171 |
3090 "append a class-instvars-record to aStream" |
3172 "append a class-instvars-record to aStream" |
3091 |
3173 |
3092 aClass fileOutClassInstVarDefinitionOn:aStream. |
3174 aClass fileOutClassInstVarDefinitionOn:aStream. |
3093 aStream nextPutChunkSeparator. |
3175 aStream nextPutChunkSeparator. |
3094 ! |
3176 ! |
3095 |
3177 |
3096 addChangeRecordForClassRemove:oldName to:aStream |
3178 addChangeRecordForClassRemove:oldName to:aStream |
|
3179 "{ Pragma: +optSpace }" |
|
3180 |
3097 "append a class-remove-record to aStream" |
3181 "append a class-remove-record to aStream" |
3098 |
3182 |
3099 aStream nextPutAll:('Smalltalk removeClass:' , oldName). |
3183 aStream nextPutAll:('Smalltalk removeClass:' , oldName). |
3100 aStream nextPutChunkSeparator. |
3184 aStream nextPutChunkSeparator. |
3101 ! |
3185 ! |
3102 |
3186 |
3103 addChangeRecordForClassRename:oldName to:newName to:aStream |
3187 addChangeRecordForClassRename:oldName to:newName to:aStream |
|
3188 "{ Pragma: +optSpace }" |
|
3189 |
3104 "append a class-rename-record to aStream" |
3190 "append a class-rename-record to aStream" |
3105 |
3191 |
3106 aStream nextPutAll:('Smalltalk renameClass:' , oldName , ' to:''' , newName , ''''). |
3192 aStream nextPutAll:('Smalltalk renameClass:' , oldName , ' to:''' , newName , ''''). |
3107 aStream nextPutChunkSeparator. |
3193 aStream nextPutChunkSeparator. |
3108 ! |
3194 ! |
3109 |
3195 |
3110 addChangeRecordForMethod:aMethod to:aStream |
3196 addChangeRecordForMethod:aMethod to:aStream |
|
3197 "{ Pragma: +optSpace }" |
|
3198 |
3111 "append a method-change-record to aStream" |
3199 "append a method-change-record to aStream" |
3112 |
3200 |
3113 self fileOutMethod:aMethod on:aStream. |
3201 self fileOutMethod:aMethod on:aStream. |
3114 ! |
3202 ! |
3115 |
3203 |
3116 addChangeRecordForMethodCategory:aMethod category:newCategory to:aStream |
3204 addChangeRecordForMethodCategory:aMethod category:newCategory to:aStream |
|
3205 "{ Pragma: +optSpace }" |
|
3206 |
3117 "append a methodCategory-change-record to aStream" |
3207 "append a methodCategory-change-record to aStream" |
3118 |
3208 |
3119 |selector| |
3209 |selector| |
3120 |
3210 |
3121 selector := aMethod selector. |
3211 selector := aMethod selector. |
3144 |
3236 |
3145 "Modified: 27.8.1995 / 22:59:56 / claus" |
3237 "Modified: 27.8.1995 / 22:59:56 / claus" |
3146 ! |
3238 ! |
3147 |
3239 |
3148 addChangeRecordForPrimitiveDefinitions:aClass to:aStream |
3240 addChangeRecordForPrimitiveDefinitions:aClass to:aStream |
|
3241 "{ Pragma: +optSpace }" |
|
3242 |
3149 "append a primitiveDefinitions-record to aStream" |
3243 "append a primitiveDefinitions-record to aStream" |
3150 |
3244 |
3151 aStream nextPutAll:aClass name; nextPutAll:' primitiveDefinitions:'''; cr; |
3245 aStream nextPutAll:aClass name; nextPutAll:' primitiveDefinitions:'''; cr; |
3152 nextPutAll:(aClass primitiveDefinitionsString storeString copyFrom:2). |
3246 nextPutAll:(aClass primitiveDefinitionsString storeString copyFrom:2). |
3153 aStream nextPutChunkSeparator. |
3247 aStream nextPutChunkSeparator. |
3154 ! |
3248 ! |
3155 |
3249 |
3156 addChangeRecordForPrimitiveFunctions:aClass to:aStream |
3250 addChangeRecordForPrimitiveFunctions:aClass to:aStream |
|
3251 "{ Pragma: +optSpace }" |
|
3252 |
3157 "append a primitiveFunctions-record to aStream" |
3253 "append a primitiveFunctions-record to aStream" |
3158 |
3254 |
3159 aStream nextPutAll:aClass name; nextPutAll:' primitiveFunctions:'''; cr; |
3255 aStream nextPutAll:aClass name; nextPutAll:' primitiveFunctions:'''; cr; |
3160 nextPutAll:(aClass primitiveFunctionsString storeString copyFrom:2). |
3256 nextPutAll:(aClass primitiveFunctionsString storeString copyFrom:2). |
3161 aStream nextPutChunkSeparator. |
3257 aStream nextPutChunkSeparator. |
3162 ! |
3258 ! |
3163 |
3259 |
3164 addChangeRecordForPrimitiveVariables:aClass to:aStream |
3260 addChangeRecordForPrimitiveVariables:aClass to:aStream |
|
3261 "{ Pragma: +optSpace }" |
|
3262 |
3165 "append a primitiveVariables-record to aStream" |
3263 "append a primitiveVariables-record to aStream" |
3166 |
3264 |
3167 aStream nextPutAll:aClass name; nextPutAll:' primitiveVariables:'''; cr; |
3265 aStream nextPutAll:aClass name; nextPutAll:' primitiveVariables:'''; cr; |
3168 nextPutAll:(aClass primitiveVariablesString storeString copyFrom:2). |
3266 nextPutAll:(aClass primitiveVariablesString storeString copyFrom:2). |
3169 aStream nextPutChunkSeparator. |
3267 aStream nextPutChunkSeparator. |
3170 ! |
3268 ! |
3171 |
3269 |
3172 addChangeRecordForRemoveSelector:aSelector to:aStream |
3270 addChangeRecordForRemoveSelector:aSelector to:aStream |
|
3271 "{ Pragma: +optSpace }" |
|
3272 |
3173 "append a method-remove-record to aStream" |
3273 "append a method-remove-record to aStream" |
3174 |
3274 |
3175 self printClassNameOn:aStream. |
3275 self printClassNameOn:aStream. |
3176 aStream nextPutAll:(' removeSelector:' , aSelector asSymbol storeString). |
3276 aStream nextPutAll:(' removeSelector:' , aSelector asSymbol storeString). |
3177 aStream nextPutChunkSeparator. |
3277 aStream nextPutChunkSeparator. |
3178 |
3278 |
3179 "Modified: 1.7.1996 / 21:27:55 / cg" |
3279 "Modified: 1.7.1996 / 21:27:55 / cg" |
3180 ! |
3280 ! |
3181 |
3281 |
3182 addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream |
3282 addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream |
|
3283 "{ Pragma: +optSpace }" |
|
3284 |
3183 "append a category-rename record to aStream" |
3285 "append a category-rename record to aStream" |
3184 |
3286 |
3185 self printClassNameOn:aStream. |
3287 self printClassNameOn:aStream. |
3186 aStream nextPutAll:(' renameCategory:' , oldCategory storeString). |
3288 aStream nextPutAll:(' renameCategory:' , oldCategory storeString). |
3187 aStream nextPutAll:(' to:' , newCategory storeString). |
3289 aStream nextPutAll:(' to:' , newCategory storeString). |
3188 aStream nextPutChunkSeparator. |
3290 aStream nextPutChunkSeparator. |
3189 ! |
3291 ! |
3190 |
3292 |
3191 addInfoRecord:aMessage to:aStream |
3293 addInfoRecord:aMessage to:aStream |
|
3294 "{ Pragma: +optSpace }" |
|
3295 |
3192 "append an info-record (snapshot, class fileOut etc.) to aStream" |
3296 "append an info-record (snapshot, class fileOut etc.) to aStream" |
3193 |
3297 |
3194 aStream nextPutAll:('''---- ' , aMessage , ' ', |
3298 aStream nextPutAll:('''---- ' , aMessage , ' ', |
3195 Date today printString , ' ' , |
3299 Date today printString , ' ' , |
3196 Time now printString , |
3300 Time now printString , |
3197 ' ----'''). |
3301 ' ----'''). |
3198 aStream nextPutChunkSeparator. |
3302 aStream nextPutChunkSeparator. |
3199 ! |
3303 ! |
3200 |
3304 |
3201 writingChangeDo:aBlock |
3305 writingChangeDo:aBlock |
|
3306 "{ Pragma: +optSpace }" |
|
3307 |
3202 "common helper to write a change record. |
3308 "common helper to write a change record. |
3203 Opens the changefile and executes aBlock passing the stream |
3309 Opens the changefile and executes aBlock passing the stream |
3204 as argument. WriteErrors are cought and will lead to a warning. |
3310 as argument. WriteErrors are cought and will lead to a warning. |
3205 The changefile is not kept open, to force the change to go to disk |
3311 The changefile is not kept open, to force the change to go to disk |
3206 as soon as possible - thus, in case of a crash, no changes should |
3312 as soon as possible - thus, in case of a crash, no changes should |
3210 |
3316 |
3211 "Modified: 18.11.1995 / 15:43:36 / cg" |
3317 "Modified: 18.11.1995 / 15:43:36 / cg" |
3212 ! |
3318 ! |
3213 |
3319 |
3214 writingChangePerform:aSelector with:anArgument |
3320 writingChangePerform:aSelector with:anArgument |
|
3321 "{ Pragma: +optSpace }" |
|
3322 |
3215 self writingChangeWithTimeStamp:true perform:aSelector with:anArgument |
3323 self writingChangeWithTimeStamp:true perform:aSelector with:anArgument |
3216 |
3324 |
3217 "Created: 28.10.1995 / 16:50:48 / cg" |
3325 "Created: 28.10.1995 / 16:50:48 / cg" |
3218 "Modified: 18.11.1995 / 15:44:53 / cg" |
3326 "Modified: 18.11.1995 / 15:44:53 / cg" |
3219 ! |
3327 ! |
3220 |
3328 |
3221 writingChangeWithTimeStamp:doStampIt do:aBlock |
3329 writingChangeWithTimeStamp:doStampIt do:aBlock |
|
3330 "{ Pragma: +optSpace }" |
|
3331 |
3222 "common helper to write a change record. |
3332 "common helper to write a change record. |
3223 Opens the changefile and executes aBlock passing the stream |
3333 Opens the changefile and executes aBlock passing the stream |
3224 as argument. WriteErrors are cought and will lead to a warning. |
3334 as argument. WriteErrors are cought and will lead to a warning. |
3225 The changefile is not kept open, to force the change to go to disk |
3335 The changefile is not kept open, to force the change to go to disk |
3226 as soon as possible - thus, in case of a crash, no changes should |
3336 as soon as possible - thus, in case of a crash, no changes should |