ObjFW  Artifact [3d0a1604ae]

Artifact 3d0a1604aea19fe83d86b73c9c47977f6e48cdb88eef14d08ebd7bf9d68d1641:

Manifest of check-in [3d0a1604ae] - Increase blocks compatibility by replacing NSAutoreleasePool.

NSAutoreleasePool is replaced by OFAutoreleasePool now so that there is
no conflict because OFBlocks are used (blocks are OFBlocks as soon as
ObjFW is linked). An application expecting an NSBlock, but getting an
OFBlock because ObjFW is linked, would fail to autorelease the block
otherwise, as the block would be in an OFAutoreleasePool. By replacing
NSAutoreleasePool with OFAutoreleasePool, the application will still
properly free the autoreleased block.

This will also make it easier to write applications using both,
Foundation and ObjFW, since the developer does not need to take care
about two different autorelease pools, but they are united instead. by js on 2011-02-02 22:26:45.


C Increase\sblocks\scompatibility\sby\sreplacing\sNSAutoreleasePool.\n\nNSAutoreleasePool\sis\sreplaced\sby\sOFAutoreleasePool\snow\sso\sthat\sthere\sis\nno\sconflict\sbecause\sOFBlocks\sare\sused\s(blocks\sare\sOFBlocks\sas\ssoon\sas\nObjFW\sis\slinked).\sAn\sapplication\sexpecting\san\sNSBlock,\sbut\sgetting\san\nOFBlock\sbecause\sObjFW\sis\slinked,\swould\sfail\sto\sautorelease\sthe\sblock\notherwise,\sas\sthe\sblock\swould\sbe\sin\san\sOFAutoreleasePool.\sBy\sreplacing\nNSAutoreleasePool\swith\sOFAutoreleasePool,\sthe\sapplication\swill\sstill\nproperly\sfree\sthe\sautoreleased\sblock.\n\nThis\swill\salso\smake\sit\seasier\sto\swrite\sapplications\susing\sboth,\nFoundation\sand\sObjFW,\ssince\sthe\sdeveloper\sdoes\snot\sneed\sto\stake\scare\nabout\stwo\sdifferent\sautorelease\spools,\sbut\sthey\sare\sunited\sinstead.
D 2011-02-02T22:26:45
F .hgignore fb4ec2287f395c1c189a4fd9ead4e3bdec058cc1db34e0f619a2a9c03e367fb5
F ChangeLog f70c6798b5feb3be4b617ca6e1a7088549559e3c993b1fbfd2ad34dc347125aa
F Doxyfile 6d9538cc8de3d283df62887c2328d06ed30e4a4202dfbae5058d338db0b1df55
F Info.plist 2784921274380d5dd279c24e90229541b530596eb3e1540c17db533720c92d18
F LICENSE.GPLv2 32fac3e90cdea91b37289b9ca09d781a364bf22864e52d5c5d6a6fa40080be17
F LICENSE.GPLv3 040444d59237d8142345043e4aec153ef10c8291c8932e5f9e1eba6e791e71e7
F LICENSE.QPL 714e65c9ba0706c46a7f4b93299427dcdc1cc76d1a2e41ffd72646406e95f247
F Makefile 8a97a82e1908b5fed9fc00232f19b8c912599a497f9e31ab28128131f04bd281
F ObjFW.xcodeproj/project.pbxproj bef0db7e103dee8df5319639c337b8e02cdceeea91af6e91eb43dffb256477d5
F PLATFORMS c02742fa3be1a699c670d08322789a7b8aee467aa5c067a617b6d449fbfeb96d
F README c99d17394dc8e6a616c4e2cfbf66d3f717d1c3fc863aa386087e1240ffa0af71
F autogen.sh 3936c3cbbf251d27d7c117d251754fdc5f701c87e682108b6eb123dffefc3a2e x
F buildsys.mk.in 4eb32fd7f27ea73953cfe921bddb80eb0f0bf9ac92940336ab83c5a6b1569b93
F config.guess 71dba7f4a49e7e625cafdab04e8fdec3af7a59bc3e93e16ac88a96a5cfef8250
F config.sub 4960851b86110a06bb99eaf8227d9a4ace6a28724ceeffff3472fc2e49d5b59e
F configure.ac 18c25283afd55b3feeda78cd44fb4d2d0832bfbd136e4d49e48fd8bdde773e3c
F extra.mk.in abea8b5d754f5f2e40b497c8780d680305ab30307a299f06665527deee72f05b
F generators/Makefile 4431feb510f191cb8f3edf00ad8d9f09c0e37a1ae1748fb45251e6a7f52ba381
F generators/TableGenerator.h a726909762abfff8b20898e7e16069e0684ae892e2381f20f803dabb7829f7df
F generators/TableGenerator.m da9654e58ecd9aa3c0b2eeb06b2ce7b3d093904ad39e4b451362e3b6ce82a50f
F generators/copyright.h 5ab7ea0ffbaf8209f4c0d32d8d84fffd1f658a47d51ffb24c0aa5c902652eb1e
F install-sh f9c6aba00db453e84155727197a3cb01fc13b12f1df7cb810cb23a2df83f2f68
F m4/acx_pthread.m4 404ea9b78f5598fe5d0e927316fc1983161e06db9dd817d8be53e20d48793057
F m4/ax_check_compiler_flags.m4 eb1353b82e355b5d0bc59d3913e3398fedd37a5fea27e44acbc25584576e42d6
F m4/buildsys.m4 96981d90bcf033bb7ecf5cc236302b06ee1b18ced2ed4fcbb3186c583a58e506
F src/Makefile f7798a36a9bd36e67be61972fa98ceac504a967fb0671a4f64548b2aa7897b1b
F src/OFApplication.h f1e2ce141122738d1e78944443047ab7b8736885e4991bec2f79cdadbd576064
F src/OFApplication.m b6ae30499e24a99f820806cee5381f5935bd457a23f00ed39e78600b6705c721
F src/OFArray.h db12216b45374cadad0279da97309973a510fa4b68e4bbd6fcdd613a2656c7f7
F src/OFArray.m 7a4da4f986068cc0b5ac6be117fe92ce0fc03b77ce199521367d9e440b562116
F src/OFAutoreleasePool.h a9ab0a42bf0b2beedff1ea968dac589c5d6e9aa7ccbd347831ff673587e44c9c
F src/OFAutoreleasePool.m ed50e7f16ac82d59077a31ea41cf64690dd9b2ff86785210165a7a3920ce0a83
F src/OFBlock.h bf216ad41d0fabdc25ed4ffd6321338e17aafc0f4f867866d86e0bdcbb359139
F src/OFBlock.m 1de0172b5474aa2d83e5fa9090aff9bd0aefa1ab3e68571ae995b03719341c0f
F src/OFCollection.h 52cb53f930123a91a3ba098e6aa04e0bcb353212727a0e8e4392a09e7f843233
F src/OFConstantString.h 90fda79f41eb59a3d30dcab6c5d50a7896cbbf5db98ee03d107420c85dc39d6e
F src/OFConstantString.m 5e08953a1a2b859ecaabc515a0d2b740d9196f1e409dfd45137187169e2b7166
F src/OFDataArray.h 2a4a8a35192db5dd690c0e76a27023579344ebf8a2f77d999c0fa4a8414a8cd9
F src/OFDataArray.m b8580a2b5b0576936ad168ba2fd098f4d1aac0a1b17f0149de43f0b1b64b4db8
F src/OFDate.h 4848b2e679486af38ed4e2b3a108b5d32d9aa2c7e56a089dc3bf942fe13c943c
F src/OFDate.m 08b8759c25672adc1695e9b9bd829a5b9cb027e5d0bd539f7075bf2c73985a9b
F src/OFDictionary.h 69312858177fbe57fda7d54759ca9b47cee5f5a7bff120baf65ec99b834f3083
F src/OFDictionary.m 3fafb5ab8477f75625f4efac54832adae0bacfaf8f2b8aadf7c328b73b7d7cd6
F src/OFEnumerator.h ce902d7cb6d2e2dd139b572664a7e33d631195149fe22f0e456170410d6a1c1d
F src/OFEnumerator.m dc25ede7ef63cc45cbe65afc004c353f307c46bc693842903104d6d868393441
F src/OFExceptions.h 65b9bf22dd4f35bd855a5683ef49fa60c031c35e1ab96a5c60ec4fe986457976
F src/OFExceptions.m 2044606b5eacae23c85631d6507146cfcef54b79a84d11766410fcc8245cb104
F src/OFFile.h c3892e8bd048c423aa2ee5b8af31f64c869b086526ab69e2ab938d58dd7d099b
F src/OFFile.m 719e5e7862d5936fb69b559b2ebd9ee5610d8d475873f89c2cf15d0d7900176d
F src/OFHash.h 0b814485980dce397b4ec06e357ed33545e1d5280219b4f01110263f699779de
F src/OFHash.m 8a4a684c1b1e928f11e06625cd8157285aba99a36827b85c42d12609b1f3208d
F src/OFList.h 5d36c42d1f1b6d1c44fec7669cb75e034617dc5aafe5f3a4ba56d346722b133b
F src/OFList.m 01320f9714bc9edf2acde5032500bbe8621352e0d47b20b8582d78f6ca323e9f
F src/OFMD5Hash.h e0170a36235f3d1f60ae7f0274587c19232d6d344d2b018fdd881fd3cf2f803f
F src/OFMD5Hash.m 62560185fb4edac2cab0821cdac2a88d707227d91acf2ecc323b3335da5803f2
F src/OFMutableArray.h 8c6d38e3920697e30409cc2ef7bad355f319361edc91d6849e6dd38e8c524020
F src/OFMutableArray.m 7063d7690d03b54fd48df6408cb0c8da142479c670dcdf217c84f6f828ff30d9
F src/OFMutableDictionary.h c2a4a5e1d538fdcbdfee0fc3ada1d283a131b56adfea7b08a6d51b9b31a95019
F src/OFMutableDictionary.m 16f741d077e7743b50bde1bee0188b754518ddd44302a1a01fcf26855b834ded
F src/OFMutableString.h 6eba86e901d534671612b485c1c2782f37a764123e9d2abdd183aec44c768517
F src/OFMutableString.m 751ced34bbb399d24c0299808ae28f00bb120e2e86ab68aa61cf1d12b842207b
F src/OFNumber.h fd0954f29bcb52785259d5d8ebfae885d70c490fbc1ebabd4d77476079a26c80
F src/OFNumber.m 8d4f8ec1f8a5982b64f136f5a62730c44332374cb9c47023b9ebf09d617b4255
F src/OFObject.h 89e99f73049ca0bd162063450f6d3bdc0335022833c3ed8a4a7e1605ce90a844
F src/OFObject.m a0915956545acaf915663622970dfcdfc35642020af6287eec233e945f19b120
F src/OFPlugin.h 8526f3313216aec2790b9494002ab97ea3c71ba989baad52966318e6a2b8771e
F src/OFPlugin.m ff6017ec5d9e2356cb4377706b1f9fc0cb977ef3a8bec6de8a9cedb0c7da4a63
F src/OFSHA1Hash.h 29d259bd1b046c2e07bcb407e778469c383f2186f9005b1b38ea797b3e79470e
F src/OFSHA1Hash.m b9d1ebe95833d8eceee322a198988fe6578231da0c43f196f6be1d1e8a7b53c9
F src/OFSeekableStream.h 9a400a86be6c4b6d3996439cb34d8fc3cea9daa891bc4965336862acab6e457f
F src/OFSeekableStream.m 738eaeca109ab529d0c0bff6c8117dcc839a37988cf7041d899cc3b341ff4775
F src/OFStream.h 74be59fb41a3b9814ea0934cbf190a9979b8a368c36f5c03729adb87665f3a11
F src/OFStream.m 5a1ab363d9741c60166c4ad8a692e819e1fd84b8c7a5aa0178d476d0244f7ba2
F src/OFStreamObserver.h 2d015e7afd3d4d3715cc5391bbad0930daac0d40534669aaa1c437c2c6c95e25
F src/OFStreamObserver.m 3ce8ac4b7dea6d3ac45f5f68b026ac4307804282c64f07a064a59a5aec9cc367
F src/OFStreamSocket.h a403eb48003be04ccd206b82b7ec315c3e1b8c32909360724be4e4e7bd8fd2c6
F src/OFStreamSocket.m 57b1d6b16e1d335720bed6383f04f5670dc274f83e70cf9424ded746ecca1976
F src/OFString+Hashing.h 47219e07e49eac3579743afa6a9eda72cd11c5bcf4f4319ccd7eedd99025c418
F src/OFString+Hashing.m 780c4c8311c2ea79911f35b1705d0f5fdfc197dd7f0ac155910e23d3942a530a
F src/OFString+URLEncoding.h f84eabd93c3d36b64febf65ec169ef4fa3102a4015ce6f20144c210c20f499c1
F src/OFString+URLEncoding.m d953b2464891afe638b89a455301b61fd5850af4332e40b6323460dbca63c3d0
F src/OFString+XMLEscaping.h aa1e0ae68576d845eed5e2aa9b14ac55864cc95a0c8028c57cdc2443db2bb785
F src/OFString+XMLEscaping.m 4792013d529f7539133ecd21fc61ad0e672142e1bca568e87e16fd6d06c96a54
F src/OFString+XMLUnescaping.h 180b3c909ed6b8dacad0764440748ea8e4cc56c66d4fe041803a8f72e6142ef3
F src/OFString+XMLUnescaping.m d730c1e0aa260ad5fb7b5b2de013b93ee9d98a1f9d44754d12843906d1da53e9
F src/OFString.h 6f22d22dfa81e26aced33cd19127a0e596a74f2578f82e1d5f008cafc1151c1b
F src/OFString.m 8bb8574c87914b9de1c2d008fbd4729142880fbba1e0470d65ba1a38c4b2967f
F src/OFTCPSocket.h 4276a55e099711b1e0db65e31f10532006ad06ac0b6d3cb9650705a269ebc815
F src/OFTCPSocket.m b23751c5277544e9a8d8619224f05186cad09ab61c1d6b891c78944dc2e28a08
F src/OFThread.h 365e7ac8cdde7d4d6cf28c9c5bbe7097dddeae5029abac648f2066b7bd432477
F src/OFThread.m 7cfc6bc1be2aca0ae055d52332eacc5ff6dffd4612186067d3a3d9a99dd87704
F src/OFURL.h a030f721319318d8a060f3e295ebc08cafc8b984903972db49a2218f76d84cd0
F src/OFURL.m 8d89f1d113778c0bf06ef72358744908dd4697c465321a884eac89fee24c4fb2
F src/OFXMLAttribute.h dc663246355dd660434a699a614518c1c813f0a2a557fc27c1ec0fc4974b662c
F src/OFXMLAttribute.m 1771d20c629b058ee988edf674b039c1bfd5052e5fa9e3d92af6594ae477da1b
F src/OFXMLElement.h cc4813c83cdd1dad620ef761b7a955e5a8147c6ba8f79ce4a2d98110e739d59d
F src/OFXMLElement.m d813f718a70bbdb1d305c5ab70931c05643801564f2c8232c446239b41dfb31a
F src/OFXMLElementBuilder.h 41c4aae12f98af5ad1dcf17aa18a0850b762f27acec3c8a0ddc48f1c84eb1b77
F src/OFXMLElementBuilder.m 6e4d62017fd7bcd9f93605a0c669d2eb933764ad7965c4d643fc446ade329e64
F src/OFXMLParser.h 17cae4fa384f7c102edecd61a13f5ff56d802c4be418f4c0ccb0967ee7a75af8
F src/OFXMLParser.m c1d0bcacb52d6dfe24caa3d763d35c81287ce5e798c3cb71118e965ce6142917
F src/ObjFW.h 5bba582bed67c5de676ea6adb4328d84679b2cd64fc4a03772d569abe02c32c6
F src/asprintf.h d3b2338fa7767d2f0800a4fa4077d757912e7f52ae1130852252b2b4dd6e9c94
F src/asprintf.m 871d5b824d009f0a5d767ea3c523d518f8158737cf3549b33367531681f3d3cb
F src/atomic.h 672922eb8c8f2822a2d1c253c6f2d928acd571b38eae43abb7fb87efe2bc4699
F src/foundation-compat.m 7aefac85c2eb700c84229ad4f1afe8132442711e0681c5f7cad2dd4f9f792e7e
F src/iso_8859_15.m 869feca1cb48468fe7e2f0f7614fb2dba05cd9371c43d913baba9576a43c5bb1
F src/mach_alias_list 2e2aa5bb87af8c67e5cf658f4957986338f7947eccfad91381ea10d336487f4e
F src/macros.h 23260691a6b7b604ecb114812d811cc894fdc8514382f9c660e6365b65594c89
F src/objc_properties.m 672a25a32626b2f4bff64def7026165fe3279f5d50c3215116b901a8f0fcb412
F src/objc_sync.m 609aa012a72a95b734cf5c746dcc0a3781d0ad6618d271810c3fbe576532660d
F src/objfw-defs.h.in 5535a2e37ea0b67b1c0dbb6b8f55bae65eb1efbe9ca5a529522e12a39562fa29
F src/of_asprintf.h 84e7b6898202f33b83396d353c26d91c6aa42d630d1d4cb02bd438fbc327e27c
F src/of_asprintf.m 75df7de9afc1a62eea1ff82c955024902b6976f97a8b8fafd2e7a2ae3f9230bf
F src/threading.h f35468bbe41db94c7a0172d5ed34ee60bfc2879f47685a43df28580bd39b491e
F src/unicode.h acdf178c98eb9a0120205887e1c60787bc0e692cf8284da114869010ef3431e3
F src/unicode.m 597d4451697f54e494cda3a0da53f75b6d8db5b2a27e15e87f16fe39c60b1e99
F src/windows_1252.m cac72f181ad749343ec9d1b28ee2d11c00e1ddfc1c2ba9cde35a30fecebdc345
F tests/Makefile a08a8e85cd751291312b17682f3a78db504781dcdbff605df4d562d034104fab
F tests/OFArrayTests.m 304a51157c7d3334f1761c2a367b269fbf630c7c34d323d3ddbff12e84df82df
F tests/OFBlockTests.m 08a11f6547a00c00109da2dc5caac4024f56a5a1b3ad6a6522ff485d7362f65e
F tests/OFDataArrayTests.m f79c61c7b6367b48f65a935926e1b600baf5b7aa40d47b8bc3ce6b20deb527f2
F tests/OFDateTests.m b1d4a1021f0c8082a930e82738100962668eab8d0276946965406781a25ef795
F tests/OFDictionaryTests.m cf65088ec95bf9724a5e8fe8219409cd6723eb9c56da386f8ea4ca86b3b6bf76
F tests/OFFileTests.m df8abd12a3cfef50687c5f2c651241b40ddcd5401d08545adc40ebd8d24972a6
F tests/OFListTests.m ffa5f8326d9e506e5b1ddd9d81d04d2dbc39c1dd395792dc8727eda9be2a9174
F tests/OFMD5HashTests.m 6716e758dbbea9d000fb8c090dfa6b9c0e917b5a0bcb0686f821ce7ea0989167
F tests/OFNumberTests.m f61d8823b57a4a09ad528f9fbd5f9394d3ff09340e3479e1365be86240d88da9
F tests/OFObjectTests.m 702967aba061044e5fb550196f3bfee0237d6a168ea301a59eb3021bf3e9750f
F tests/OFPluginTests.m 7f911545a1de0c03525895e8469e1a3921265be80d5ab9dd17b8be957e3c3cce
F tests/OFSHA1HashTests.m 39f889af919d14fbe2497b51136fed3bc51ffcdbc38a28b997f51a5742043211
F tests/OFStreamTests.m 346b537e80a3f70cf386493926d2cf27b2c9a147d18da59155e194c1468227b0
F tests/OFStringTests.m 7424fc4c5bf3d998e7106cc4f1eccfc819a1ca154ade60909957b7a591a9514a
F tests/OFTCPSocketTests.m fca04a710e980e2bee902130733f212844805dc98de035da9cbf97eb692fb297
F tests/OFThreadTests.m 827e3582807c1697b89037086309c0d6053c167a88cc779c6eff14cb88e64753
F tests/OFURLTests.m 7ab756aa3f640c11eaeb7c2089f6b27c6bb65fadc381e4d5ffbc25c4b3eed2cc
F tests/OFXMLElementBuilderTests.m 0ecbc246f3d30ac6a02bff64f095c48441efdab598fa9b6673cf37a66f040598
F tests/OFXMLElementTests.m 0f42eb718c5038e57c4d24089b65d9e1e3c086cc4a1003aef529fcaadd360984
F tests/OFXMLParserTests.m 19541d4ab1c4f935c27e6ef168666dc015820e0cfd539f1d9615841fa08707e4
F tests/PropertiesTests.m 392d31d7cd274cca5f8f9730ac15e2b6b549eb20c8caa791cecf0ebf78c37957
F tests/TestsAppDelegate.h a04c79d77ffa52f88698f112c4f2b800348752fc6dacc2e87142c158e876c172
F tests/TestsAppDelegate.m b9118f60e01f891795e96052d6204acf734336a4b9bb3369e09654c905557c87
F tests/objc_sync/Makefile 8a0c1d85a0f5c393c18450a9fca8df0364b538fb7fd4f92f14c6fe5547932885
F tests/objc_sync/test.m c46101d7e893ac2c40539685a56548a363305b8486d7414fedb226b285a0882e
F tests/plugin/Makefile 9a218c4a65938506ea8574c0ab09f72bd33e01824aad24f3659b479f6b915d9a
F tests/plugin/TestPlugin.h 5587f900e20ce85c26722ccba8c00ff221ec92d2e0621c9934b5a69f9f63c72a
F tests/plugin/TestPlugin.m 83e0dd6677e3e10025819900b7935ddc0db8a8563f12595fb6e9c73b3956ea24
F tests/testfile.bin ac78121630aaad87f7852695f00cc9175b9bf80bc63bbc0e65784f427cd51217
F tests/testfile.txt 11bc6d44ee4c2c58f2d6688fef09c98a2ec2157ee1d57af5d65867b5db865a4f
F utils/Makefile 93a10e87e22b879e6f73affea811d62c6828318ef2caeac196437e80c6aeaaa3
F utils/objfw-compile 737a77c336389e8e8c011d2c3158bf8693168a927d3a29c8fc3eebedb3bffdf2
F utils/objfw-config.in a79a727b4f7a0838ef36fc78e20fd9b3aa42cf264cc566f44a2d859a0b342136
P 1dcfbcb4792a8a2385f7b0c85a7916895bb75f4dd69123bc69f8868afb409baa
U js
Z da9c9f474949dd53267a32b9143f2d6d