ObjFW  History of src/OFApplication.m of e05fff365386b212

History of the file that is called src/OFApplication.m at check-in e05fff365386b212

2024-04-03
02:16
[f87eabe4cc] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 16837) [annotate] [blame] [check-ins using] [diff]
2024-04-02
02:22
[3193393a96] part of check-in [e7a8f3d462] OFLocale: Support automatic initialization (check-in: [e7a8f3d462] user: js, branch: trunk, size: 16629) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[b344510e2d] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 16628) [annotate] [blame] [check-ins using] [diff]
2023-08-23
08:55
[8c20d43cf6] part of check-in [c7035e7dd2] OFApplication: Reduce scope of some variables (check-in: [c7035e7dd2] user: js, branch: trunk, size: 16628) [annotate] [blame] [check-ins using] [diff]
2023-04-10
15:08
[594a3c0f6e] part of check-in [abbed5c008] Work around newer amiga-gcc defining Class (check-in: [abbed5c008] user: js, branch: trunk, size: 16650) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[7a0cf72c90] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 16606) [annotate] [blame] [check-ins using] [diff]
2022-11-13
19:07
[d6f9eb583b] part of check-in [204b27318f] Add OFApplicationDidFinishLaunchingNotification (check-in: [204b27318f] user: js, branch: trunk, size: 16606) [annotate] [blame] [check-ins using] [diff]
11:29
[c3e00228c4] part of check-in [095a015165] Use OFLog() instead of fprintf(stderr, ...) (check-in: [095a015165] user: js, branch: amiga-library, size: 16144) [annotate] [blame] [check-ins using] [diff]
2022-10-23
16:21
[1a4d3713d8] part of check-in [2872ce314d] Rename a few exceptions for consistency (check-in: [2872ce314d] user: js, branch: trunk, size: 16191) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[bde88848cd] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 16197) [annotate] [blame] [check-ins using] [diff]
2021-11-19
22:54
[d30209c2bc] part of check-in [2ca00fefff] 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. (check-in: [2ca00fefff] user: js, branch: trunk, size: 16197) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2020-12-06
17:49
[9bf3f4dbf0] part of check-in [b45a563f2b] 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. (check-in: [b45a563f2b] user: js, branch: trunk, size: 15897) [annotate] [blame] [check-ins using] [diff]

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

22:16
[517256bc85] part of check-in [8af3eedb02] 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. (check-in: [8af3eedb02] user: js, branch: trunk, size: 14649) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2018-05-13
19:24
[d91a949b73] part of check-in [5831626f68] platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

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

2018-04-22
17:48
[af29800e76] part of check-in [0b07c8fcfa] Make ObjFW compile for AmigaOS 3 (check-in: [0b07c8fcfa] user: js, branch: trunk, size: 12727) [annotate] [blame] [check-ins using] [diff]
16:13
[8777ac3750] part of check-in [fe2cbe0021] 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. (check-in: [fe2cbe0021] user: js, branch: trunk, size: 12652) [annotate] [blame] [check-ins using] [diff]

2018-02-25
04:31
[240e542914] part of check-in [505137f25f] 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. (check-in: [505137f25f] user: js, branch: trunk, size: 12689) [annotate] [blame] [check-ins using] [diff]

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

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

00:47
[34ff9074e3] part of check-in [eba39f1c9d] OF_APPLICATION_DELEGATE(): Verify conformance (check-in: [eba39f1c9d] user: js, branch: trunk, size: 12977) [annotate] [blame] [check-ins using] [diff]
2017-10-22
15:05
[9f8423320a] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 13117) [annotate] [blame] [check-ins using] [diff]
14:09
[23fc1019fd] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 13089) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[c080ac0fe6] part of check-in [2f4e0df8be] 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. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 13108) [annotate] [blame] [check-ins using] [diff]

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

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

2017-07-22
23:04
[c9d4f7d315] part of check-in [23e57c5040] OFFile: Simplify mode

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

2017-06-04
18:48
[970d1b40a3] part of check-in [c9621825fc] 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. (check-in: [c9621825fc] user: js, branch: trunk, size: 13651) [annotate] [blame] [check-ins using] [diff]

2017-06-03
23:28
[cd6046dfba] part of check-in [22b2e6ea8b] 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. (check-in: [22b2e6ea8b] user: js, branch: trunk, size: 13726) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

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

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

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

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

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

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

2017-01-09
17:36
[a69e437cf3] part of check-in [44f45c2e35] Update copyright

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

06:26
[514600c380] part of check-in [06bcb21fc7] 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. (check-in: [06bcb21fc7] user: js, branch: trunk, size: 10952) [annotate] [blame] [check-ins using] [diff]

2017-01-08
03:45
[4b696ca492] part of check-in [d6de0a1b71] 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. (check-in: [d6de0a1b71] user: js, branch: trunk, size: 11056) [annotate] [blame] [check-ins using] [diff]

02:38
[bbaed6eb9f] part of check-in [f12cecf014] Get native8BitEncoding from locale (check-in: [f12cecf014] user: js, branch: trunk, size: 12412) [annotate] [blame] [check-ins using] [diff]
2017-01-07
02:34
[669a08ac5c] part of check-in [6dff0f5922] 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. (check-in: [6dff0f5922] user: js, branch: trunk, size: 10856) [annotate] [blame] [check-ins using] [diff]

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

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

00:41
[932d52d201] part of check-in [2a27cf3000] Update copyright

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

2015-11-29
14:23
[22742689c9] part of check-in [2aca549d60] 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. (check-in: [2aca549d60] user: js, branch: trunk, size: 10736) [annotate] [blame] [check-ins using] [diff]

11:43
[faff25c759] part of check-in [48980f2297] 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). (check-in: [48980f2297] user: js, branch: trunk, size: 10755) [annotate] [blame] [check-ins using] [diff]

2015-11-21
23:44
[a553adbdf6] part of check-in [8bc06182a4] Use sigaction() instead of signal()

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

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

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

2014-07-18
10:08
[96a35a73db] part of check-in [c1dbf3b212] OFApplication: Only use argv if argc > 0 (check-in: [c1dbf3b212] user: js, branch: trunk, size: 10182) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[560f80331f] part of check-in [13ee56edf3] 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. (check-in: [13ee56edf3] user: js, branch: trunk, size: 10161) [annotate] [blame] [check-ins using] [diff]

2014-04-27
19:34
[ba9e0c219a] part of check-in [cd0a632472] Initial Nintendo DS port (check-in: [cd0a632472] user: js, branch: trunk, size: 10205) [annotate] [blame] [check-ins using] [diff]
2014-02-12
15:34
[666509d895] part of check-in [22d45f94d0] OFApplication: Fix typo (check-in: [22d45f94d0] user: js, branch: trunk, size: 9961) [annotate] [blame] [check-ins using] [diff]
03:17
[bad1c6eacd] part of check-in [f82406c3fd] Call FreeEnvironmentStringsW on correct pointer (check-in: [f82406c3fd] user: js, branch: trunk, size: 9962) [annotate] [blame] [check-ins using] [diff]
2014-01-16
23:38
[ce308c71b7] part of check-in [e54c8c0368] 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). (check-in: [e54c8c0368] user: js, branch: trunk, size: 9947) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[b49c0bcc2e] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 9918) [annotate] [blame] [check-ins using] [diff]
2013-12-15
18:11
[26f973a124] part of check-in [ffe7645e3a] Fix a few minor bugs found by the Clang Analyzer. (check-in: [ffe7645e3a] user: js, branch: trunk, size: 9912) [annotate] [blame] [check-ins using] [diff]
2013-12-05
17:48
[c9284fd43c] part of check-in [fa6496efc7] 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. (check-in: [fa6496efc7] user: js, branch: trunk, size: 9890) [annotate] [blame] [check-ins using] [diff]

2013-09-17
16:12
[91fefa5006] part of check-in [c5e7dd679b] 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. (check-in: [c5e7dd679b] user: js, branch: trunk, size: 9892) [annotate] [blame] [check-ins using] [diff]

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

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

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

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

2013-02-22
12:15
[ca5bc2d367] part of check-in [fb79b7f369] Print an error when OFApplication is subclassed.

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

2013-02-12
18:22
[10883a3ba0] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 9008) [annotate] [blame] [check-ins using] [diff]
2013-01-12
20:53
[af4f6fe02e] part of check-in [b8ce2359f3] Clean up the feature #ifdef mess. (check-in: [b8ce2359f3] user: js, branch: trunk, size: 8626) [annotate] [blame] [check-ins using] [diff]
20:21
[9620cd4f32] part of check-in [85b8efadbc] Fix --disable-threads. (check-in: [85b8efadbc] user: js, branch: trunk, size: 8616) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[acafbd9a66] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 8479) [annotate] [blame] [check-ins using] [diff]
2013-01-08
03:13
[09b9e89928] part of check-in [fb1f29bd30] 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. (check-in: [fb1f29bd30] user: js, branch: trunk, size: 8473) [annotate] [blame] [check-ins using] [diff]

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

2012-09-11
16:48
[a2406ebb91] part of check-in [a4494ec477] Add OFTimer and OFRunLoop. (check-in: [a4494ec477] user: js, branch: trunk, size: 6885) [annotate] [blame] [check-ins using] [diff]
2012-09-09
17:48
[6f344c5f2e] part of check-in [ead7b7acd3] Make the main thread an OFThread. (check-in: [ead7b7acd3] user: js, branch: trunk, size: 6787) [annotate] [blame] [check-ins using] [diff]
12:31
[a06fbcf0e7] part of check-in [24622e8913] 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]. (check-in: [24622e8913] user: js, branch: trunk, size: 6755) [annotate] [blame] [check-ins using] [diff]

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

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

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

2011-10-28
18:32
[449f37093f] part of check-in [fc200bb14a] Release the OFApplication delegate in the atexit handler. (check-in: [fc200bb14a] user: js, branch: trunk, size: 5221) [annotate] [blame] [check-ins using] [diff]
2011-10-24
18:28
[741469d176] part of check-in [87cd99ff88] Don't retain delegates to prevent reference cycles. (check-in: [87cd99ff88] user: js, branch: trunk, size: 5171) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[e705f7e9ee] part of check-in [e1e7ffa903] 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. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 5271) [annotate] [blame] [check-ins using] [diff]

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

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

2010-10-05
19:37
[25c84d10d2] part of check-in [db16146ca3] Messaging nil allows this to be shortened. (check-in: [db16146ca3] user: js, branch: trunk, size: 3510) [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
[4cc1491a54] part of check-in [e2b06423e0] 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. (check-in: [e2b06423e0] user: js, branch: trunk, size: 3553) [annotate] [blame] [check-ins using] [diff]

2010-06-13
03:23
[792653c017] part of check-in [7390eb7270] Add OFSocketObserver. (check-in: [7390eb7270] user: js, branch: trunk, size: 3530) [annotate] [blame] [check-ins using] [diff]
00:16
[728d40e47c] part of check-in [1009e97dcd] Add protocol to type of delegate of OFApplication. (check-in: [1009e97dcd] user: js, branch: trunk, size: 3533) [annotate] [blame] [check-ins using] [diff]
2010-05-27
15:39
[78ea526057] part of check-in [62bef06751] Add environment to OFApplication. (check-in: [62bef06751] user: js, branch: trunk, size: 3440) [annotate] [blame] [check-ins using] [diff]
2010-04-18
00:08
[e8b77ada50] part of check-in [400552fa28] Require overriding of -[applicationDidFinishLaunching]. (check-in: [400552fa28] user: js, branch: trunk, size: 2498) [annotate] [blame] [check-ins using] [diff]
2010-04-17
22:27
[cbba891989] part of check-in [37db8f0fb3] 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. (check-in: [37db8f0fb3] user: js, branch: trunk, size: 2392) [annotate] [blame] [check-ins using] [diff]

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