Commit graph

257 commits

Author SHA1 Message Date
rfm
3120a1e391 Fix code for renaming old (process name) defaults to new (bundle identifier). 2024-12-31 12:01:43 +00:00
rfm
950e2a5f07 Move old process name domain to new bundle identifier domain automatically 2024-12-28 07:46:36 +00:00
rfm
597d10d9cf Check for nil bundle identifier (eg early in initialization) 2024-12-07 16:22:20 +00:00
rfm
a75d1c7b18 Add diagnositcs for faulure to get executable pathhhhhhhhhhhhhhhhhhhhhhhhh 2024-12-06 10:58:15 +00:00
rfm
4860310071 Tidied 2024-12-04 14:15:57 +00:00
rfm
815a0d7b20 Tidyups 2024-12-04 11:00:26 +00:00
rfm
672fe7f909 Changes to avoid recursion if NSLog() is called during NSUserDefaults initialisation 2024-11-29 10:42:40 +00:00
rfm
96bbc05b18 More leak fixups 2024-11-17 21:41:43 +00:00
rfm
4185b687f2 fix little leak 2024-11-14 15:30:01 +00:00
rfm
e64b7dc6b3 iuse bundle identifier for user defaults 2024-11-13 23:11:10 +00:00
Hugo Melder
6681a3da47
Initial port of WinObjC's KVO implementation to GNUstep (#420)
* GSAtomic: Add prefix to macro definitions

* NSKVOSupport: Import

* NSKVOSupport: Add test cases

* NSKVOSwizzling: Ugly C Rewrite

* NSKeyValueObserving: Use old implementation as fallback

* NSKeyValueObserving: Rename TypeEncodingCases header

* NSKVOSupport: Fix new objects not being added to NSKeyValueChangeNew set on set mutation

* NSKeyValueMutableSet: Fix will and didChange notifications for set operations

* NSKeyValueMutableSet: Document Accessor Search Patterns

* NSKVOSupport: Add toMany test

* NSKeyValueCoding: Change notifications when changing value via setValue:forKey:

* NSKVOSupport: Add more tests

* NSKVOSupport: Do not wrap block in try/finally to avoid crash in windows

* NSKVOSwizzling: use _alloca on Windows

* NSKVOSupport: Do not autorelease newWithObservee:

* NSKVOSupport: Do not leak Observee and TestFacade objects

* Improve runtime detection in makefile

* Add file extension of source file in GNUMakefile

* NSKVOSupport: Remove @status comments

* NSKVOSupport: Implement private notify method

* NSUserDefaults: KVO Support and fix macOS incompatibilities

* NSKeyValueObserving: Set old to null if nil

* NSKeyValueObserving: Remove cached new value

* NSMethodSignature: Add signature cache

* NSKVOSupport: Remove ObjC2 features and mark tests failing on GCC as hopeful

* Call class method instead of private _keyPathsForValuesAffectingValueForKey

* Move _keyPathsForValuesAffectingValueForKey body into class method and statically construct empty NSSet

* NSUserDefaults: Change notification should contain old value from other domains aswell

* NSUserDefaults: Fetch new value from all domains

* NSKVOInternal: Fixup filename in header

* NSUserDefaults: Go through search list instead of only one domain in KVO change

* Making indentation a bit less worse

* Add NSUserDefaults KVO tests

* NSKVOSupport: NSUserDefaults test small fixes

* Add autoreleasepool

* NSUserDefaults: Only emit change notifications if value changed

* Avoid compiler warnings and tidy some of the whitespace/formatting

---------

Co-authored-by: Frederik Seiffert <frederik@algoriddim.com>
Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
Co-authored-by: rfm <rfm@gnu.org>
2024-11-10 17:05:23 +01:00
rfm
6667842dd5 Update FSF address as requested by Gregory 2024-11-07 13:37:59 +00:00
hmelder
cdbb1cc1b4 Fix typo in ifdef 2024-09-10 10:23:08 +02: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
58ae7db59a fixup headers for deletion of obsolete lock code 2024-05-30 11:06:23 +01:00
rfm
cd2626e26b Attept fix for deadlock 2024-02-20 16:05:58 +00:00
Richard Frith-Macdonald
c2fea0a825 Add fake interface for NSUserDefaultsWin32 to avoid compiler warning 2020-12-09 15:17:46 +00:00
Richard Frith-Macdonald
a1d5d020b3 Change -objectForKey: method to get the contents into a buffer (on the stack) and iterate through them rather than creating an autoreleased enumerator. This avoids allocation/autorelease/deallocation of the enumerator (as well as etain/release of the search list by the enumerator) which should give better performance generally and avoid excess object creation when lots of defaults lookups are done in an autorelease pool. 2020-06-03 14:48:22 +01:00
Frederik Seiffert
d2938c7729 Store NSNumber instead of NSString for NSUserDefaults -setBool:forKey:. 2020-05-25 17:34:34 +02:00
Richard Frith-Macdonald
2e07244f8e Updates to move towards ARC 2020-02-08 16:42:17 +00:00
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
Richard Frith-Macdonald
586d86c43f Improve defaults caching reliability 2018-08-06 11:56:09 +01:00
Richard Frith-Macdonald
3b1324d73d Add GSExceptionStackTrace user default setting 2018-06-12 16:43:15 +01:00
Richard Frith-Macdonald
3ced3237e8 Use standard locks rathere than obsolete lazy lock classes 2018-04-10 14:59:35 +01:00
Richard Frith-MacDonald
8fd0387e36 Tiny code simplification.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39905 72102866-910b-0410-8b05-ffd578937521
2016-06-22 13:21:04 +00:00
Richard Frith-MacDonald
f306de43e8 add some consistency checks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39650 72102866-910b-0410-8b05-ffd578937521
2016-04-08 14:01:24 +00:00
Richard Frith-MacDonald
d220beeab2 Use memory management macros
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39649 72102866-910b-0410-8b05-ffd578937521
2016-04-08 11:34:21 +00:00
Richard Frith-MacDonald
a71619bf6d Remove redundant code. Log domain names only when debug is enabled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39647 72102866-910b-0410-8b05-ffd578937521
2016-04-08 10:23:05 +00:00
Riccardo Mottola
e291dd28fa remove accidental commit of debug NSLog()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39646 72102866-910b-0410-8b05-ffd578937521
2016-04-08 10:15:45 +00:00
Riccardo Mottola
d1df54727a Skip nil domains explicitely and do not use nil values to look them up
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39645 72102866-910b-0410-8b05-ffd578937521
2016-04-08 09:56:14 +00:00
Richard Frith-MacDonald
52de4bf68b make sure to unlock after an exception
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39565 72102866-910b-0410-8b05-ffd578937521
2016-03-18 14:56:55 +00:00
Richard Frith-MacDonald
dcd8f5a610 User defaults changes to cope better with slow systems
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39564 72102866-910b-0410-8b05-ffd578937521
2016-03-18 12:40:08 +00:00
Richard Frith-MacDonald
d27923f0fa allow filesystem locks to wait a lot longer in case we are on a very slow system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39561 72102866-910b-0410-8b05-ffd578937521
2016-03-17 20:11:29 +00:00
Richard Frith-MacDonald
6f6538543e Add some diagnostics for defaults locking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39537 72102866-910b-0410-8b05-ffd578937521
2016-03-14 08:26:41 +00:00
Richard Frith-MacDonald
ade4852ce3 defaults tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39532 72102866-910b-0410-8b05-ffd578937521
2016-03-12 08:32:21 +00:00
Richard Frith-MacDonald
402792e8b2 experimental in-process locking of the distributed locking methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39531 72102866-910b-0410-8b05-ffd578937521
2016-03-11 18:11:43 +00:00
Richard Frith-MacDonald
a0c97c1ddd deprecate confusing extension in favour of simpler ARC-complient method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39520 72102866-910b-0410-8b05-ffd578937521
2016-03-10 16:50:41 +00:00
Richard Frith-MacDonald
62d2bcbabc changes for use of _WIN32 define on windows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39492 72102866-910b-0410-8b05-ffd578937521
2016-03-09 13:16:16 +00:00
Richard Frith-MacDonald
44165e9bcc Fixup for mistake in earlier commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39374 72102866-910b-0410-8b05-ffd578937521
2016-02-15 11:07:44 +00:00
Richard Frith-MacDonald
09f15d2b8d Use defaults cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39373 72102866-910b-0410-8b05-ffd578937521
2016-02-15 10:10:39 +00:00
Richard Frith-MacDonald
3ccb63af3b fix leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39345 72102866-910b-0410-8b05-ffd578937521
2016-02-09 16:53:00 +00:00
Richard Frith-MacDonald
e00e2d1789 Fix by Campbell
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39343 72102866-910b-0410-8b05-ffd578937521
2016-02-09 14:20:56 +00:00
Richard Frith-MacDonald
cb1bb1c7e7 Add GSLogOffset to include time zone offset in NSLog output
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38018 72102866-910b-0410-8b05-ffd578937521
2014-07-28 14:40:29 +00:00
Richard Frith-MacDonald
b1ee5bf8a6 fix for bug 40620
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37385 72102866-910b-0410-8b05-ffd578937521
2013-11-20 06:12:29 +00:00
Richard Frith-MacDonald
2810bad5f1 cosmetic coding standards ... fix line wrap to 80 columns
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37252 72102866-910b-0410-8b05-ffd578937521
2013-10-18 07:27:51 +00:00
Richard Frith-MacDonald
4380348a80 fix for defaults change notification.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37180 72102866-910b-0410-8b05-ffd578937521
2013-10-01 18:00:17 +00:00
Richard Frith-MacDonald
a92cad7600 fix for bug #39300
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37046 72102866-910b-0410-8b05-ffd578937521
2013-09-06 09:21:18 +00:00
Richard Frith-MacDonald
ed09c55959 leak detection improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
bca4db00c9 synchronization fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35604 72102866-910b-0410-8b05-ffd578937521
2012-09-26 13:59:05 +00:00
Richard Frith-MacDonald
897390797f preparation for osx compatibility fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35390 72102866-910b-0410-8b05-ffd578937521
2012-08-10 08:36:09 +00:00