ObjFW  History of src/OFApplication.m of 0ac7e646b4f55b80

History of file src/OFApplication.m at check-in 0ac7e646b4f55b80

2024-08-17
09:51
Move private functions into private headers file: [b5933f5ef1] check-in: [b829f3e798] user: js, branch: trunk, size: 16930 [annotate] [blame] [check-ins using] [diff]
2024-05-05
12:33
Make OF_APPLICATION_DELEGATE() work with -mwindows file: [87fd78d98e] check-in: [dcea3bad47] user: js, branch: trunk, size: 16848 [annotate] [blame] [check-ins using] [diff]
2024-04-29
21:42
Properly hide private symbols file: [a1d7561a5b] check-in: [f16bccc7b3] user: js, branch: trunk, size: 16838 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [f87eabe4cc] check-in: [7413a728a7] user: js, branch: trunk, size: 16837 [annotate] [blame] [check-ins using] [diff]
2024-04-02
02:22
OFLocale: Support automatic initialization file: [3193393a96] check-in: [e7a8f3d462] user: js, branch: trunk, size: 16629 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [b344510e2d] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 16628 [annotate] [blame] [check-ins using] [diff]
2023-08-23
08:55
OFApplication: Reduce scope of some variables file: [8c20d43cf6] check-in: [c7035e7dd2] user: js, branch: trunk, size: 16628 [annotate] [blame] [check-ins using] [diff]
2023-04-10
15:08
Work around newer amiga-gcc defining Class file: [594a3c0f6e] check-in: [abbed5c008] user: js, branch: trunk, size: 16650 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [7a0cf72c90] check-in: [8939cbdb52] user: js, branch: trunk, size: 16606 [annotate] [blame] [check-ins using] [diff]
2022-11-13
19:07
Add OFApplicationDidFinishLaunchingNotification file: [d6f9eb583b] check-in: [204b27318f] user: js, branch: trunk, size: 16606 [annotate] [blame] [check-ins using] [diff]
11:29
Use OFLog() instead of fprintf(stderr, ...) file: [c3e00228c4] check-in: [095a015165] user: js, branch: amiga-library, size: 16144 [annotate] [blame] [check-ins using] [diff]
2022-10-23
16:21
Rename a few exceptions for consistency file: [1a4d3713d8] check-in: [2872ce314d] user: js, branch: trunk, size: 16191 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [bde88848cd] check-in: [1a86b8175b] user: js, branch: trunk, size: 16197 [annotate] [blame] [check-ins using] [diff]
2021-11-19
22:54
OFApplication: Always store argc and argv

While we don't need argc/argv when using the wide variants on Windows,
an application might need to retrieve them via
-[getArgumentCount:andArgumentValues:] for passing them off to another
library. file: [d30209c2bc] check-in: [2ca00fefff] user: js, branch: trunk, size: 16197 [annotate] [blame] [check-ins using] [diff]

2021-11-05
10:49
Send OFApplicationWillTerminateNotification file: [67088e53c7] check-in: [7eadd67c57] user: js, branch: trunk, size: 15915 [annotate] [blame] [check-ins using] [diff]
2021-04-25
20:12
Merge trunk into branch "sandbox" file: [01834d7171] check-in: [1c5fb04713] user: js, branch: sandbox, size: 15626 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
Rename all symbols marked extern file: [9af79ccbcf] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 15644 [annotate] [blame] [check-ins using] [diff]
2021-04-17
15:04
of_sandbox_unveil_path_t -> OFSandboxUnveilPath file: [89530fe0bb] check-in: [a85797b5e9] user: js, branch: new-naming-convention, size: 15655 [annotate] [blame] [check-ins using] [diff]
02:10
of_string_encoding_t -> OFStringEncoding file: [a312b9ee7c] check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 15665 [annotate] [blame] [check-ins using] [diff]
01:35
of_char{16,32}_t -> OFChar{16,32} file: [ddd78fe6e5] check-in: [6d9d790a24] user: js, branch: new-naming-convention, size: 15700 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [80576294d2] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 15703 [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:23
Merge trunk into 1.0 branch file: [19384c303e] check-in: [564d6d6b6f] user: js, branch: 1.0, size: 15707 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [8597dbb10a] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 15689 [annotate] [blame] [check-ins using] [diff]
02:36
Style change: Allow more than 1 argument per line

This is only migrating some places, others will be migrated as they are
touched. file: [84a11f1539] check-in: [a0fd103a0b] user: js, branch: trunk, size: 15740 [annotate] [blame] [check-ins using] [diff]

2021-01-02
22:04
Update copyright file: [8bb94e9bd1] check-in: [374e1a1bfa] user: js, branch: trunk, size: 15808 [annotate] [blame] [check-ins using] [diff]
2020-12-22
13:16
Make OFSandbox private

It is unclear whether the same API can be applied to other sandboxing
frameworks. file: [7562fe05db] check-in: [510628432f] user: js, branch: 1.0, size: 15915 [annotate] [blame] [check-ins using] [diff]

2020-12-06
17:49
Use a single global socket base on MorphOS

MorphOS allows sharing a single socket base between tasks, so having a
per-task socket base is unnecessary. file: [9bf3f4dbf0] check-in: [b45a563f2b] user: js, branch: trunk, size: 15897 [annotate] [blame] [check-ins using] [diff]

2020-11-28
19:28
Fix building for Windows file: [b8581aaf02] check-in: [4a7b3657d0] user: js, branch: trunk, size: 15867 [annotate] [blame] [check-ins using] [diff]
2020-11-01
11:35
OFString: Add -[substring{From,To}Index:] file: [ba8b4a32b1] check-in: [4bbac7ab17] user: js, branch: trunk, size: 15867 [annotate] [blame] [check-ins using] [diff]
2020-06-28
15:03
Use OF_DIRECT(_MEMBERS) where appropriate file: [818d93f949] check-in: [b6cb3addd0] user: js, branch: trunk, size: 15993 [annotate] [blame] [check-ins using] [diff]
2020-05-17
11:04
OFApplication: Support for non-Unicode Windows file: [2e614ff495] check-in: [5292d2fd54] user: js, branch: trunk, size: 15975 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [7b2e9f847b] check-in: [c7f0229795] user: js, branch: trunk, size: 14771 [annotate] [blame] [check-ins using] [diff]
2019-09-29
20:53
Reduce ivar scopes file: [641d94e4fd] check-in: [e0a330b377] user: js, branch: trunk, size: 14768 [annotate] [blame] [check-ins using] [diff]
15:47
OFApplication: Rename a few sandbox methods file: [c0cd7cc60a] check-in: [b3f7ccb707] user: js, branch: trunk, size: 14794 [annotate] [blame] [check-ins using] [diff]
2019-08-11
18:56
Support sockets in multiple threads on AmigaOS file: [0eab530ffc] check-in: [a40f3fc829] user: js, branch: trunk, size: 14711 [annotate] [blame] [check-ins using] [diff]
2019-08-10
02:06
Clean up the AmigaOS 4 library mess file: [575d9d7624] check-in: [3292a6fdbc] user: js, branch: trunk, size: 14602 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [b702abe021] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14766 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [529b6d94bf] check-in: [0509d7a844] user: js, branch: trunk, size: 14800 [annotate] [blame] [check-ins using] [diff]
2018-11-11
22:30
OFApplication: Disallow using a different sandbox

While the active sandbox can be changed, a different sandbox must not be
activated. The reason for this is that allowing to activate a different
sandbox makes it impossible to track which paths have already been
unveiled. file: [bd6d38d7b4] check-in: [e0c2e70f7b] user: js, branch: trunk, size: 14794 [annotate] [blame] [check-ins using] [diff]

22:16
OFSandbox: Avoid unveiling already unveiled paths

When changing and activating a sandbox again, do not unveil paths that
have already been unveiled by the previous activation. file: [517256bc85] check-in: [8af3eedb02] user: js, branch: trunk, size: 14649 [annotate] [blame] [check-ins using] [diff]

2018-11-04
16:24
OFSandbox: Add support for unveil() file: [e8c3d87532] check-in: [648522a4e6] user: js, branch: trunk, size: 14327 [annotate] [blame] [check-ins using] [diff]
2018-08-17
01:17
AmigaOS 4: Do not use libauto

libauto loads the libraries too late. file: [db83d4326f] check-in: [d71abc5366] user: js, branch: trunk, size: 13019 [annotate] [blame] [check-ins using] [diff]

2018-08-16
22:33
Fix compilation for AmigaOS 4 file: [21f22d4085] check-in: [7413f500db] user: js, branch: trunk, size: 12879 [annotate] [blame] [check-ins using] [diff]
2018-07-28
18:45
Rename OFLocalization -> OFLocale file: [83b9a46140] check-in: [aa0384d1bf] user: js, branch: trunk, size: 12804 [annotate] [blame] [check-ins using] [diff]
2018-06-30
00:41
OFApplication: Add property for the active sandbox file: [0c7540771a] check-in: [8eedb5a39a] user: js, branch: trunk, size: 12840 [annotate] [blame] [check-ins using] [diff]
2018-06-16
14:15
Wrap a few @public in #ifdefs file: [732a9e097e] check-in: [7d86d2dd2b] user: js, branch: trunk, size: 12694 [annotate] [blame] [check-ins using] [diff]
2018-05-26
14:49
Remove #define INTUITION_CLASSES_H hack

This has been fixed upstream in amiga-gcc. file: [54110d91f4] check-in: [b31bd48f90] user: js, branch: trunk, size: 12668 [annotate] [blame] [check-ins using] [diff]

2018-05-13
19:24
platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

The reason for this is that, in theory, this also supports versions
older than 3. file: [d91a949b73] check-in: [5831626f68] user: js, branch: trunk, size: 12731 [annotate] [blame] [check-ins using] [diff]

2018-04-22
17:48
Make ObjFW compile for AmigaOS 3 file: [af29800e76] check-in: [0b07c8fcfa] user: js, branch: trunk, size: 12727 [annotate] [blame] [check-ins using] [diff]
16:13
runtime: Define BOOL to be the same as bool

As we define the ABI, we can just replace BOOL with bool everywhere,
including in ObjFW itself. For the Apple platforms where BOOL and bool
are different, this is not a problem as BOOL and bool are passed and
returned the same way in the ABI.

This still defines BOOL to bool for compatibility, except on AmigaOS and
Wii, which both have its own BOOL type. file: [8777ac3750] check-in: [fe2cbe0021] user: js, branch: trunk, size: 12652 [annotate] [blame] [check-ins using] [diff]

2018-02-25
04:31
Reintroduce of_char{16,32}_t

There is no reliable way to check if C++ already defined those, as Clang
now defines char{16,32}_t even when it is not in C++ 11 mode. So we
cannot check if we are not in C++ 11 and then define them and otherwise
rely on the C++ 11 types. file: [240e542914] check-in: [505137f25f] user: js, branch: trunk, size: 12689 [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
Update copyright notice file: [04c6846e99] check-in: [7e5c81e186] user: js, branch: trunk, size: 12686 [annotate] [blame] [check-ins using] [diff]
2017-11-22
01:05
OF_APPLICATION_DELEGATE(): Improve type checking

This is done at compile time now rather than at runtime. file: [9f443dae6c] check-in: [54b38752bb] user: js, branch: trunk, size: 12663 [annotate] [blame] [check-ins using] [diff]

00:47
OF_APPLICATION_DELEGATE(): Verify conformance file: [34ff9074e3] check-in: [eba39f1c9d] user: js, branch: trunk, size: 12977 [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [9f8423320a] check-in: [a06354b42a] user: js, branch: trunk, size: 13117 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [23fc1019fd] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 13089 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [c080ac0fe6] check-in: [2f4e0df8be] user: js, branch: trunk, size: 13108 [annotate] [blame] [check-ins using] [diff]

2017-09-28
23:02
Enable -Wnullable-to-nonnull-conversion and adjust file: [031d2d2246] check-in: [2de9660312] user: js, branch: trunk, size: 13119 [annotate] [blame] [check-ins using] [diff]
2017-09-26
21:53
Many nullability fixes file: [f12746971d] check-in: [52011fbfd6] user: js, branch: trunk, size: 13080 [annotate] [blame] [check-ins using] [diff]
2017-08-01
13:55
OFApplication: Don't use SA_RESTART

This way, the behavior is consistent, independent of whether sigaction()
is available or not. file: [a37acbc186] check-in: [4557cfb743] user: js, branch: trunk, size: 13040 [annotate] [blame] [check-ins using] [diff]

2017-07-22
23:04
OFFile: Simplify mode

This removes "b" for binary and always uses binary, as there is no good
reason to not use binary. file: [c9d4f7d315] check-in: [23e57c5040] user: js, branch: trunk, size: 13650 [annotate] [blame] [check-ins using] [diff]

2017-06-04
18:48
Treat MorphOS + ixemul as a separate platform

This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. file: [970d1b40a3] check-in: [c9621825fc] user: js, branch: trunk, size: 13651 [annotate] [blame] [check-ins using] [diff]

2017-06-03
23:28
OFApplication: Fix MorphOS LocalVar list iteration

Double linked lists on MorphOS/AmigaOS have the last node point back to
the list head, so checking the successor for NULL is not correct, as
this will then include the list head which has no payload. file: [cd6046dfba] check-in: [22b2e6ea8b] user: js, branch: trunk, size: 13726 [annotate] [blame] [check-ins using] [diff]

15:57
-[OFApplication environment] for MorphOS + libnix file: [459adf8210] check-in: [6d0a185364] user: js, branch: trunk, size: 13703 [annotate] [blame] [check-ins using] [diff]
2017-05-27
13:58
OFApplication: Cast SIG_DFL to void (*)(int)

This is required for -noixemul on MorphOS. file: [fd2efe060c] check-in: [ddf0fae30d] user: js, branch: trunk, size: 11836 [annotate] [blame] [check-ins using] [diff]

10:33
Add unistd.h wrapper to make things less horrible file: [531f6aaa25] check-in: [d31ec806ef] user: js, branch: trunk, size: 11821 [annotate] [blame] [check-ins using] [diff]
10:08
Make things work with glibc 2.17 and Clang 3.4.2 file: [e9758a10ed] check-in: [ec36a82d68] user: js, branch: trunk, size: 11985 [annotate] [blame] [check-ins using] [diff]
2017-05-22
23:31
Make includes of unistd.h and fcntl.h conditional file: [4dabbbf60b] check-in: [1287e77e04] user: js, branch: trunk, size: 11842 [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
Prefix private methods with of_ instead of OF_

This matches Apple's style. file: [e40754826f] check-in: [6b77a5dd8b] user: js, branch: trunk, size: 11812 [annotate] [blame] [check-ins using] [diff]

2017-05-13
16:56
Fix compilation with GCC file: [2ce5c50064] check-in: [4df6ab6bca] user: js, branch: trunk, size: 11812 [annotate] [blame] [check-ins using] [diff]
2017-05-08
21:37
Add OF_DESIGNATED_INITIALIZER & OF_METHOD_FAMILY file: [3bc541c774] check-in: [469a496cd2] user: js, branch: trunk, size: 11776 [annotate] [blame] [check-ins using] [diff]
2017-05-07
21:25
Use char{16,32}_t instead of of_char{16,32}_t file: [f061f112cb] check-in: [37d2a81754] user: js, branch: trunk, size: 11722 [annotate] [blame] [check-ins using] [diff]
20:10
Small code style change

Casts are now written like types in variable declarations. file: [f1ddeada14] check-in: [4af49a13c3] user: js, branch: trunk, size: 11725 [annotate] [blame] [check-ins using] [diff]

2017-05-06
21:31
OFApplication: Only handle defined signals file: [788679a7cf] check-in: [e3e464fc6e] user: js, branch: trunk, size: 11705 [annotate] [blame] [check-ins using] [diff]
19:43
Clean up a few includes file: [905d16d4dd] check-in: [cca678886f] user: js, branch: trunk, size: 11627 [annotate] [blame] [check-ins using] [diff]
2017-04-09
20:50
Use LC_MESSAGES locale for messages file: [ec8cf68d84] check-in: [3d5b88d42e] user: js, branch: trunk, size: 11647 [annotate] [blame] [check-ins using] [diff]
18:22
Add OFSandbox

Only OpenBSD's pledge() is supported so far. file: [4ef7cfc06b] check-in: [40cf53506a] user: js, branch: trunk, size: 11680 [annotate] [blame] [check-ins using] [diff]

2017-02-26
15:38
Rename OF_MAC_OS_X define to OF_MACOS file: [2a2a047c69] check-in: [0abbcb442c] user: js, branch: trunk, size: 11033 [annotate] [blame] [check-ins using] [diff]
2017-01-16
01:11
Define SA_RESTART to 0 if it's missing

DJGPP has sigaction, but not SA_RESTART. file: [735d2c61f2] check-in: [cb0a90f26d] user: js, branch: trunk, size: 11039 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [a69e437cf3] check-in: [44f45c2e35] user: js, branch: trunk, size: 10958 [annotate] [blame] [check-ins using] [diff]

06:26
Add OFLocalization

This singleton gives access to all things locale, including the ability
to get localized strings.

This also adds the OF_LOCALIZED() macro. Its first argument is an ID for
the string to be localized and its second argument is the fallback
string to be used if it cannot retrieve the localized string. Following
that are variable name / value pairs to be replaced in the localized
string.

Getting translated strings is not implemented yet: Instead, it always
uses the fallback string.

This also switches ofhttp to localized strings. file: [514600c380] check-in: [06bcb21fc7] user: js, branch: trunk, size: 10952 [annotate] [blame] [check-ins using] [diff]

2017-01-08
03:45
Parse locale to get {language,territory,encoding}

Yes, there is really nothing to query this.
Yes, locales in C and POSIX are broken way beyond repair. file: [4b696ca492] check-in: [d6de0a1b71] user: js, branch: trunk, size: 11056 [annotate] [blame] [check-ins using] [diff]

02:38
Get native8BitEncoding from locale file: [bbaed6eb9f] check-in: [f12cecf014] user: js, branch: trunk, size: 12412 [annotate] [blame] [check-ins using] [diff]
2017-01-07
02:34
Always use "." for the decimal point

This is achieved by replacing the locale's decimal point with "." after
formatting and replacing "." with the locale's decimal point before
parsing.

To still use the decimal point from the locale for formatting, the new
flag "," is introduced to formats. This is useful for just printing a
string to the user that is not saved to a file or sent via a network.

While this is an ugly hack, there is no better way to do this other than
implementing the functionality of printf and strtod myself, as POSIX
does not specify versions of these that take a locale as an argument.
While this is a lot of work and error-prone, I will most likely end up
doing this eventually.

This commit also enables the locale in OFApplication to notice when
things break. As a nice side effect, ofhttp now uses the locale's
decimal point in its user interface. file: [669a08ac5c] check-in: [6dff0f5922] user: js, branch: trunk, size: 10856 [annotate] [blame] [check-ins using] [diff]

2016-03-20
18:34
OFApplication: Clean up terminateWithStatus: file: [e942c20c56] check-in: [6d6069af92] user: js, branch: trunk, size: 10811 [annotate] [blame] [check-ins using] [diff]
2016-02-21
15:37
Make use of C99-style for loops file: [8b89a99f6e] check-in: [e0b9167693] user: js, branch: trunk, size: 10732 [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [20cfda2453] check-in: [cec0f072f8] user: js, branch: 0.8, size: 10299 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [932d52d201] check-in: [2a27cf3000] user: js, branch: trunk, size: 10740 [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:23
Clean up class extensions

Now that we can require GCC >= 4.6, we no longer need to fall back to
using a category on old compilers. file: [22742689c9] check-in: [2aca549d60] user: js, branch: trunk, size: 10736 [annotate] [blame] [check-ins using] [diff]

11:43
Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). file: [faff25c759] check-in: [48980f2297] user: js, branch: trunk, size: 10755 [annotate] [blame] [check-ins using] [diff]

2015-11-21
23:44
Use sigaction() instead of signal()

This allows setting SA_RESTART. file: [a553adbdf6] check-in: [8bc06182a4] user: js, branch: trunk, size: 10835 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [dcc6f80f85] check-in: [1ba08eebc5] user: js, branch: trunk, size: 10305 [annotate] [blame] [check-ins using] [diff]
2015-09-17
21:19
Fix compilation for PSP file: [0ce2c00df2] check-in: [719ec38eb0] user: js, branch: trunk, size: 10295 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [65102b7290] check-in: [cfd374b906] user: js, branch: trunk, size: 10236 [annotate] [blame] [check-ins using] [diff]
2014-10-24
19:12
OFApplication: Use EXIT_SUCCESS as default status file: [530a78c11e] check-in: [46cf9f33a8] user: js, branch: trunk, size: 10230 [annotate] [blame] [check-ins using] [diff]
2014-10-04
21:59
Add +[OFSystemInfo native8BitEncoding]

This replaces +[OFString nativeOSEncoding]. file: [3fb6075d12] check-in: [ec66e49dca] user: js, branch: trunk, size: 10219 [annotate] [blame] [check-ins using] [diff]

2014-07-18
10:08
OFApplication: Only use argv if argc > 0 file: [96a35a73db] check-in: [c1dbf3b212] user: js, branch: trunk, size: 10182 [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. file: [560f80331f] check-in: [13ee56edf3] user: js, branch: trunk, size: 10161 [annotate] [blame] [check-ins using] [diff]

2014-04-27
19:34
Initial Nintendo DS port file: [ba9e0c219a] check-in: [cd0a632472] user: js, branch: trunk, size: 10205 [annotate] [blame] [check-ins using] [diff]
2014-02-12
15:34
OFApplication: Fix typo file: [666509d895] check-in: [22d45f94d0] user: js, branch: trunk, size: 9961 [annotate] [blame] [check-ins using] [diff]
03:17
Call FreeEnvironmentStringsW on correct pointer file: [bad1c6eacd] check-in: [f82406c3fd] user: js, branch: trunk, size: 9962 [annotate] [blame] [check-ins using] [diff]
2014-01-16
23:38
Add +[OFString nativeOSEncoding].

This replaces OF_STRING_ENCODING_NATIVE, as a define was not flexible
enough (determining the native OS encoding at startup was not possible). file: [ce308c71b7] check-in: [e54c8c0368] user: js, branch: trunk, size: 9947 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [b49c0bcc2e] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 9918 [annotate] [blame] [check-ins using] [diff]
2013-12-15
18:11
Fix a few minor bugs found by the Clang Analyzer. file: [26f973a124] check-in: [ffe7645e3a] user: js, branch: trunk, size: 9912 [annotate] [blame] [check-ins using] [diff]
2013-12-05
17:48
Make coding style consistent.

A file documenting the coding style will be written soon. This will
hopefully prevent conflicts in the future, such as whether static
functions are written in camelCase or_with_underscores, like was the
case here. file: [c9284fd43c] check-in: [fa6496efc7] user: js, branch: trunk, size: 9890 [annotate] [blame] [check-ins using] [diff]

2013-09-17
16:12
Work around Android bugs.

Includes:
* Check environ against NULL before using it, since Android sets it to
NULL.
* Cast st_size of struct stat to off_t. Android uses long long for
st_size as its off_t is only 32 bit, but st_size should be off_t
according to POSIX.
* Android's strtod() does not accept 0x, as specified by C99. Thus,
the test is disabled if __ANDROID__ is defined. file: [91fefa5006] check-in: [c5e7dd679b] user: js, branch: trunk, size: 9892 [annotate] [blame] [check-ins using] [diff]

2013-08-15
19:00
Move private methods into private headers. file: [65cd40e6d2] check-in: [1d7a1cbca0] user: js, branch: trunk, size: 9804 [annotate] [blame] [check-ins using] [diff]
2013-06-28
22:56
PSP: Make tests terminable. file: [4f87ab0c32] check-in: [54f020d139] user: js, branch: trunk, size: 9491 [annotate] [blame] [check-ins using] [diff]
2013-05-22
18:45
Import OFThread.h unconditionally.

It's safe to always import OFThread.h now as OFThread even offers
limited functionality when threads are unavailable. file: [15015abb7a] check-in: [d7365be372] user: js, branch: trunk, size: 9369 [annotate] [blame] [check-ins using] [diff]

2013-04-09
22:09
Fix incomplete of_char16_t migration. file: [87c9d886dc] check-in: [8fe08864f8] user: js, branch: trunk, size: 9400 [annotate] [blame] [check-ins using] [diff]
2013-04-07
21:21
Fix Win32 #include hell. file: [1d72ff5c7e] check-in: [ec6b265428] user: js, branch: trunk, size: 9397 [annotate] [blame] [check-ins using] [diff]
2013-03-13
11:59
Make -[OFApplication run] private. file: [2f474b242c] check-in: [f641274833] user: js, branch: trunk, size: 9397 [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. file: [19e85a0ef2] check-in: [c5ef582958] user: js, branch: trunk, size: 9391 [annotate] [blame] [check-ins using] [diff]

2013-02-22
12:15
Print an error when OFApplication is subclassed.

It seems subclassing OFApplication instead of OFObject for the
application delegate is a common mistake. file: [ca5bc2d367] check-in: [fb79b7f369] user: js, branch: trunk, size: 9367 [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
Prefix all ivars with an underscore. file: [10883a3ba0] check-in: [e40729d406] user: js, branch: trunk, size: 9008 [annotate] [blame] [check-ins using] [diff]
2013-01-12
20:53
Clean up the feature #ifdef mess. file: [af4f6fe02e] check-in: [b8ce2359f3] user: js, branch: trunk, size: 8626 [annotate] [blame] [check-ins using] [diff]
20:21
Fix --disable-threads. file: [9620cd4f32] check-in: [85b8efadbc] user: js, branch: trunk, size: 8616 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [acafbd9a66] check-in: [813c00ccf0] user: js, branch: trunk, size: 8479 [annotate] [blame] [check-ins using] [diff]
2013-01-08
03:13
OFApplication: Get Unicode arguments on Win32.

It still stores the normal argc/argv for compatibility, however, the
argument array is created from the Unicode arguments instead.

This also makes -[OFApplication setArgumentCount:andArgumentValues:]
private. file: [09b9e89928] check-in: [fb1f29bd30] user: js, branch: trunk, size: 8473 [annotate] [blame] [check-ins using] [diff]

2013-01-07
23:42
Win32: Correctly handle Unicode in environment. file: [30420d2d38] check-in: [1fb00cc3b4] user: js, branch: trunk, size: 7711 [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [35ca9806a3] check-in: [917ce5754c] user: js, branch: trunk, size: 6614 [annotate] [blame] [check-ins using] [diff]
2012-12-20
16:42
Remove dummy implementations for formal protocols. file: [c32b0e2937] check-in: [89177dcd09] user: js, branch: trunk, size: 6653 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [9867bc719f] check-in: [fb515e8e24] user: js, branch: trunk, size: 7048 [annotate] [blame] [check-ins using] [diff]
2012-10-02
11:20
More property cleanup. file: [d77b6b1207] check-in: [7261ba5bd1] user: js, branch: trunk, size: 7032 [annotate] [blame] [check-ins using] [diff]
2012-09-17
09:30
Simplify autoreleasing. file: [5bede79f26] check-in: [c9bea2982f] user: js, branch: trunk, size: 7011 [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
Prefix all private methods with OF_. file: [e32044da23] check-in: [c137da5e5b] user: js, branch: trunk, size: 6949 [annotate] [blame] [check-ins using] [diff]
13:23
Slightly refactor OFRunLoop. file: [e225bd8cdc] check-in: [0cfbbb367a] user: js, branch: trunk, size: 6945 [annotate] [blame] [check-ins using] [diff]
2012-09-14
05:24
Create a pool for -[applicationDidFinishLaunching]

Before, when the application would exit after
-[applicationDidFinishLaunching], this was unnecessary. But now, without
this change, temporary objects might be kept alive while the run loop is
active. file: [c50e9dd27b] check-in: [bba061e4b7] user: js, branch: trunk, size: 6966 [annotate] [blame] [check-ins using] [diff]

2012-09-11
16:48
Add OFTimer and OFRunLoop. file: [a2406ebb91] check-in: [a4494ec477] user: js, branch: trunk, size: 6885 [annotate] [blame] [check-ins using] [diff]
2012-09-09
17:48
Make the main thread an OFThread. file: [6f344c5f2e] check-in: [ead7b7acd3] user: js, branch: trunk, size: 6787 [annotate] [blame] [check-ins using] [diff]
12:31
Loop forever after applicationDidFinishLaunching.

This is in preparation for adding an event loop, so that applications
which do not require a run loop will already adopt to calling
[OFApplication terminate] at the end of
-[applicationDidFinishLaunching]. file: [a06fbcf0e7] check-in: [24622e8913] user: js, branch: trunk, size: 6755 [annotate] [blame] [check-ins using] [diff]

2012-09-06
19:13
Add -[OFString initWithUTF8String:freeWhenDone:]. file: [93776e4552] check-in: [3659c87c63] user: js, branch: trunk, size: 6681 [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. file: [77883af432] check-in: [1255f3a11a] user: js, branch: trunk, size: 6300 [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
Don't access isa directly. file: [26c169306d] check-in: [8892ae9fcc] user: js, branch: trunk, size: 6265 [annotate] [blame] [check-ins using] [diff]
2012-02-27
12:15
Fix a missing include in OFApplication.m. file: [68b2ca804c] check-in: [85ad15dc13] user: js, branch: 0.6, size: 6256 [annotate] [blame] [check-ins using] [diff]
2012-02-21
19:59
Don't try to use SIG{HUP,USR1,USR2} on Windows. file: [4213526325] check-in: [cf4be9e865] user: js, branch: 0.6, size: 6237 [annotate] [blame] [check-ins using] [diff]
16:42
Add a missing include. file: [771a8d1673] check-in: [dadf8a1a1f] user: js, branch: 0.6, size: 6216 [annotate] [blame] [check-ins using] [diff]
2012-02-17
17:13
Make it possible to handle common signals in OFApplicationDelegate. file: [14e0a7d129] check-in: [83ad0894c0] user: js, branch: trunk, size: 6172 [annotate] [blame] [check-ins using] [diff]
2012-02-05
14:16
Fix some code that was not converted to new APIs. file: [8f063b7bf5] check-in: [1590be4bbc] user: js, branch: trunk, size: 5198 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [193eba5279] check-in: [ce70e17b38] user: js, branch: trunk, size: 5183 [annotate] [blame] [check-ins using] [diff]
2011-11-30
23:55
Don't copy properties of OFApplication.

There is no need to reference count them, they will always be retained
by the application for the lifetime of the application. file: [64dece92ce] check-in: [9ec315d070] user: js, branch: trunk, size: 5177 [annotate] [blame] [check-ins using] [diff]

2011-10-28
18:32
Release the OFApplication delegate in the atexit handler. file: [449f37093f] check-in: [fc200bb14a] user: js, branch: trunk, size: 5221 [annotate] [blame] [check-ins using] [diff]
2011-10-24
18:28
Don't retain delegates to prevent reference cycles. file: [741469d176] check-in: [87cd99ff88] user: js, branch: trunk, size: 5171 [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. file: [e705f7e9ee] check-in: [e1e7ffa903] user: js, branch: trunk, size: 5271 [annotate] [blame] [check-ins using] [diff]

2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [42eccf6f0e] check-in: [e6fd39d11e] user: js, branch: trunk, size: 5266 [annotate] [blame] [check-ins using] [diff]
2011-08-07
16:57
Add -[makeImmutable] to all mutable classes and use it. file: [00b46f84d9] check-in: [927dbf6e7d] user: js, branch: trunk, size: 5061 [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
Make OFArray an abstract class. file: [849335f8ed] check-in: [a855618045] user: js, branch: trunk, size: 5301 [annotate] [blame] [check-ins using] [diff]
2011-06-30
20:44
Don't use _NSGetEnviron or environ on iOS. file: [850529b70b] check-in: [5af02ce36a] user: js, branch: 0.5, size: 5609 [annotate] [blame] [check-ins using] [diff]
2011-06-26
00:30
Don't use _NSGetEnviron or environ on iOS. file: [2e89fcfb3b] check-in: [932c2eb049] user: js, branch: trunk, size: 5523 [annotate] [blame] [check-ins using] [diff]
2011-05-05
21:17
More documentation improvements. file: [af28ed9259] check-in: [8490c927d2] user: js, branch: trunk, size: 4520 [annotate] [blame] [check-ins using] [diff]
2011-04-12
14:51
Use void in declarations when we take no parameters. file: [f78cb5e637] check-in: [c02e48e140] user: js, branch: trunk, size: 4590 [annotate] [blame] [check-ins using] [diff]
2011-04-11
12:29
Improve order of includes. file: [470b88e078] check-in: [8090e85bbd] user: js, branch: trunk, size: 4586 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [c502011fa5] check-in: [cda44767f4] user: js, branch: trunk, size: 4569 [annotate] [blame] [check-ins using] [diff]
2011-03-23
01:06
Make more use of the OFObject protocol. file: [4f09818652] check-in: [23acf38456] user: js, branch: trunk, size: 4555 [annotate] [blame] [check-ins using] [diff]
2011-02-26
19:40
Use class swizzling as an optimization. file: [1a56a34657] check-in: [06f539766f] user: js, branch: trunk, size: 4529 [annotate] [blame] [check-ins using] [diff]
2011-01-29
19:16
Use %@ where it is useful. file: [b6ae30499e] check-in: [d0eace5cd1] user: js, branch: trunk, size: 4012 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [c5833c27ef] check-in: [da6b3d26cb] user: js, branch: trunk, size: 4016 [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [c6789a7016] check-in: [8a7ca573c4] user: js, branch: trunk, size: 3760 [annotate] [blame] [check-ins using] [diff]
2010-10-10
21:09
Better storing of argc and argv for real now. file: [b4963086e3] check-in: [cd677a3484] user: js, branch: trunk, size: 3672 [annotate] [blame] [check-ins using] [diff]
12:01
Better storing of argc and argv.

This makes it possible to pass argc and argv to third party libs
requiring those. file: [52b96796ce] check-in: [f282aaa672] user: js, branch: trunk, size: 3672 [annotate] [blame] [check-ins using] [diff]

2010-10-05
19:37
Messaging nil allows this to be shortened. file: [25c84d10d2] check-in: [db16146ca3] user: js, branch: trunk, size: 3510 [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
Replace OFObject* with id in many places.

We assume now that every object understands retain, release, etc. so
that we can weaken the type from OFObject* to id. This makes it
possible to use different root object classes. file: [4cc1491a54] check-in: [e2b06423e0] user: js, branch: trunk, size: 3553 [annotate] [blame] [check-ins using] [diff]

2010-06-13
03:23
Add OFSocketObserver. file: [792653c017] check-in: [7390eb7270] user: js, branch: trunk, size: 3530 [annotate] [blame] [check-ins using] [diff]
00:16
Add protocol to type of delegate of OFApplication. file: [728d40e47c] check-in: [1009e97dcd] user: js, branch: trunk, size: 3533 [annotate] [blame] [check-ins using] [diff]
2010-05-27
15:39
Add environment to OFApplication. file: [78ea526057] check-in: [62bef06751] user: js, branch: trunk, size: 3440 [annotate] [blame] [check-ins using] [diff]
2010-04-18
00:08
Require overriding of -[applicationDidFinishLaunching]. file: [e8b77ada50] check-in: [400552fa28] user: js, branch: trunk, size: 2498 [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
New ivar naming convention.

ivars are now named like this: thisIsAnIVar. If an accessor exists for
the ivar, the ivar is named like the accessor. This is required for
@property to work. file: [cbba891989] check-in: [37db8f0fb3] user: js, branch: trunk, size: 2392 [annotate] [blame] [check-ins using] [diff]

15:46
Don't return self where not necessary, return void or something useful. file: [e27d763715] check-in: [062a052b50] user: js, branch: trunk, size: 2383 [annotate] [blame] [check-ins using] [diff]
2010-04-09
00:17
Add -[terminateWithStatus:] to OFApplication. file: [0455fcfdbe] check-in: [3edacb0511] user: js, branch: trunk, size: 2406 [annotate] [blame] [check-ins using] [diff]
2010-04-08
02:00
Add -[programName] to OFApplication and remove it from -[arguments]. file: [cda24b085c] check-in: [b23b8c11bc] user: js, branch: trunk, size: 2284 [annotate] [blame] [check-ins using] [diff]
2010-04-07
19:55
Added: Add OFApplication. file: [cd773f7bc7] check-in: [f034850a98] user: js, branch: trunk, size: 2102 [annotate] [blame] [check-ins using]