Commit graph

8532 commits

Author SHA1 Message Date
rfm
4961287024 issue 325 2024-11-08 11:52:27 +00:00
rfm
f180575e37 Fix for issue 459 2024-11-08 10:33:32 +00:00
rfm
b8d0003b43 Update FSF address as requested by Gregory 2024-11-08 10:33:32 +00:00
rfm
0271f62ab2 Fix for issue 452 2024-11-08 10:33:32 +00:00
rfm
ca84bde33b Add a bit of information about handler callback methods to comments/docs. 2024-11-08 10:33:32 +00:00
rfm
d0bff27c77 Tweaks to NSDate changes 2024-11-08 10:33:32 +00:00
rfm
7a59450341 Reapply "Implement NSDate as a small object (tagged pointer) - clang/libobjc2 only (#451)" because of GUI breakage: apps hang when loading NSMenu
This reverts commit cac43f7bfc.
2024-11-08 10:33:32 +00:00
Riccardo Mottola
fab621bb2d Revert "Implement NSDate as a small object (tagged pointer) - clang/libobjc2 only (#451)" because of GUI breakage: apps hang when loading NSMenu
This reverts commit 8fd2c06ddd.
2024-11-08 10:33:32 +00:00
Hugo Melder
d53a732576 NSThread: Implement +detatchThreadWithBlock: and -initWithBlock: (#454)
* NSThread: Implement +detatchThreadWithBlock: and -initWithBlock:

* Remove extraneous include

* NSThread: Define GSThreadBlock so that GCC stub impl does not fail

* Add missing spaces - trivial style fixup

---------

Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
2024-11-08 10:33:32 +00:00
rfm
1ad65abdaa Fix for issue 453 2024-11-08 10:33:32 +00:00
Hugo Melder
ab5d06da6a NSKeyValueCoding: Safe-Caching for -[NSObject valueForKey:] (#445)
* KVC Caching Implementation

* Do not ignore struct name when comparing type encoding as NSPoint and NSSize have the same layout

* Use fast-path when using Objective-C 2

* Guard old ValueForKey function when using the fast-path

* Add basic NSKeyValueCoding tests

* Update Copyright Years

* NSKeyValueCoding+Caching: Add Versioning to IVar Slot

* safe_caching: Remove Guards

* Add type encoding helper header

* Rename geometry structs (NSRect, NSPoint, NSSize) for toll-free bridging with CoreGraphics

* Move CG struct definitions to CFCGTypes.h

* Update known struct encoding prefixes

* Windows 64-bit is LLP64 and not LP64

* Re-order to avoid complier warning

---------

Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
2024-11-08 10:33:32 +00:00
rfm
3e55c3b296 safety fix in case code incorrectly tries to use the reuslt of forwarding a method to the undo manager. 2024-11-08 10:33:32 +00:00
Hugo Melder
f940412e0e NSString: Fix -commonPrefixWithString:options: behaviour (#455)
* Update changelog

* NSString: fix -commonPrefixWithString:options: behaviour

* NSString: More test cases
2024-11-08 10:33:32 +00:00
Hugo Melder
01b719f2af Implement NSDate as a small object (tagged pointer) - clang/libobjc2 only (#451)
* Implement GSSmallObject Class

* Remove private concrete class access

* Change secondary bias

* NSDate: Get interval from rhs object in comparison

* Add prefix to CONCRETE_CLASS_NAME  macro
2024-11-08 10:33:32 +00:00
rfm
0ad7e3f8ef Make files closer to gnustep coding style (automated fixups using uncrustify) 2024-11-08 10:33:32 +00:00
rfm
f6c0c5a5c0 Improve errors for copying. 2024-11-08 10:33:32 +00:00
Hugo Melder
3333d9fb73 NSString: Cache ICU collator in thread-local storage (#450)
* Add ICU collator caching

* Update ChangeLog
2024-11-08 10:33:32 +00:00
hmelder
4edbe633d4 Fix typo in ifdef 2024-11-08 10:33:32 +00:00
Hugo Melder
3c34150e05 NSOperationQueue: Proper names for worker threads (#437)
* NSOperationQueue: Give Worker Threads a name

* Update Changelog

* Remove empty string test
2024-11-08 10:33:32 +00:00
hmelder
7667d0c3c4 NSThread: Add warning when truncating thread name 2024-11-08 10:33:32 +00:00
Hugo Melder
b177fa5f01 Add Branch Prediction Macros and Error checks in Android Initialisation (#438)
* Add Branch Prediction Macros

* Rigorous Error Handling when using JNI
2024-11-08 10:33:32 +00:00
rfm
7c2ccb3035 avoid compiler warning 2024-11-08 10:33:32 +00:00
rfm
a1913e5540 NSURLSession rewrite (#422)
* clang-format: Do not use tabs

* Ignore clangd cache and compile_commands

* NSBlockOperation: Fix memory leak

* NSHTTPCookie: Fix expires date parsing

* NSHTTPCookie: Release DateFormatter after use

* NSOperation: Remove all objects at end of execution

* Reimplementation of NSURLSession

* NSURLSession: Update expiration dates in test

* Update ChangeLog

* Fix trivial compiler warning caused by missing import

* Import GSDispatch.h for definition of DISPATCH_QUEUE_SERIAL

* Import common.h early to avoid header conflict

* Fix import order to avoid conflicts and ensure we have correct localisation macro

* Check for presence of dispatch_cancel

* Cancel timer using dispatch_source_cancel() if dispatch_cancel() is missing.

* NSURLSession: Replace dispatch_io with dispatch_source in unit test HTTP server

---------

Co-authored-by: hmelder <service@hugomelder.com>
2024-11-08 10:33:32 +00:00
Hugo Melder
e3208590b1 NSThread: Fix threadPriority and setThreadPriority: on Android by using setpriority instead of pthread (#436)
* Update Changelog

* Use {get, set}priority for -[NSThread setThreadPriority] on Android
2024-11-08 10:33:32 +00:00
Earl Robsham
3e808dc173 Update -[NSMutableArray removeLastObject] (#433)
* Update `-[NSMutableArray removeLastObject]`

Updates the following implementation to avoid raising an exception if the array is already empty (or notifying observers if applicable):
 * `-[NSMutableArray removeLastObject]`
 * `-[GSMutableArray removeLastObject]`
 * `-[NSKeyValueMutableArray removeLastObject]`
 * `-[NSKeyValueIvarMutableArray removeLastObject]`

This brings the behavior of `-[NSMutableArray removeLastObject]` inline with the Apple implementation, improving compatibility for code bases which use both GNUStep and Apple objc/Foundation implementations.

* Add `-[NSMutableArray removeLastObject]` test case

Adds a test case to ensure `-[NSMutableArray removeLastObject]` does not raise an exception when called on an empty array.
2024-11-08 10:33:31 +00:00
rfm
c3b208a85a avoid compiler warning 2024-11-08 10:33:31 +00:00
rfm
7dfdabd675 Supply function pointer prototype to avoid compiler warnings 2024-11-08 10:33:31 +00:00
rfm
f162e0f97e Changes for index.html output 2024-10-21 20:55:21 +01:00
rfm
80216e6328 Don't override the default stylesheet 2024-09-16 19:36:28 +01:00
Hugo Melder
81b3c721bc
NSUserDefaults: Retrieve native UI languages from Windows and Android System APIs (#426)
* Create NSString Win32Additions Category

* NSUserDefaults: Fetch Windows UI language information

* NSUserDefaults: Add winnls include

* Android Native UI Language

* NSUserDefaults: Replace incorrect separator on Windows

* NSProcessInfo: BCP-47 Note

* GSConfig: Bump MinGW WINVER to Vista

* NSString+Win32Additions: Do not add array to arp twice

* NSUserDefaults: Increase default length
2024-08-07 16:26:16 +02:00
rfm
9bdad8d56b Add option to set stylesheet 2024-08-06 20:17:38 +01:00
rfm
6c43f6c831 iFixup trace function type/name 2024-08-06 20:17:05 +01:00
rfm
04f0d76904 Fix use of obsolete/deprecated method. 2024-07-31 10:24:04 +01:00
rfm
6d8f546c08 fix trivial typo 2024-07-31 10:22:48 +01:00
rfm
28a6e6ebbd Final batch of GC cleanups (for the forseeable future). 2024-07-25 17:11:34 +01:00
rfm
b49af95359 Hide internals of _NSZone struct for consistency with OSX 2024-07-23 13:06:24 +01:00
rfm
52c127c950 GC was deprecated several releases ago and notinally removed a couple of releases ago ... delete more remnants of the old code. 2024-07-22 15:14:13 +01:00
rfm
a1514249f3 Tweaks to match OSX pointer array behaviors more accurately. 2024-07-22 12:22:40 +01:00
rfm
5699959d39 zeroing weak memory is now treated as weak memory since GC has been dropped 2024-07-21 09:46:33 +01:00
rfm
c46d447100 Deprecate/remove old GC options 2024-07-21 09:16:09 +01:00
rfm
c435c6d7d6 Remove/update confusing comments. Separate acquire and assign operations for pointer functions. 2024-07-17 15:42:33 +01:00
rfm
2c1a993612 Update hadling of nil args to match OS-X 2024-07-17 11:32:01 +01:00
rfm
1a1e7f7fc5 Acquiring existing memory does not use a funtion on OSX, copy that behavior. 2024-07-16 19:43:28 +01:00
rfm
b677ea402a Add some simple pointer functions personality tests 2024-07-16 12:07:32 +01:00
rfm
4629a4e1f6 Tweaks related to issue #311 2024-07-15 17:19:16 +01:00
rfm
b91ff38636 issue 424 2024-07-09 17:03:39 +01:00
rfm
33e5b72a97 fix last modifiecation 2024-07-07 16:59:25 +01:00
rfm
9442ff8dac github issue 378 2024-07-07 13:56:20 +01:00
rfm
cb68ba8864 Make notification delivery a little more predictable (issue #423) 2024-07-04 11:48:58 +01:00
rfm
0cf5955e00 Avoid (some cases of) compiler warning; mixing declarations and code is incompatible with standards before C99 2024-07-03 16:21:13 +01:00