Commit graph

244 commits

Author SHA1 Message Date
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
Eric Wasylishen
6f803c1c70 * Source/NSUserDefaults.m:
* Source/NSConnection.m:
* Source/NSCharacterSet.m:
* Tools/make_strings/StringsFile.m:
* Tools/pl.m: Fix instances where NSNotFound is stored in or
compared to an unsigned or int variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34884 72102866-910b-0410-8b05-ffd578937521
2012-03-06 03:05:23 +00:00
Eric Wasylishen
4db79e6fef * Source/GSLocale.m:
- Deprecate GSSetLocale and GSSetLocaleC; they now do nothing
   but print a warning.
 - Introduce GSDefaultLanguageLocale(), which is a
   substitute for GSSetLocale(LC_MESSAGES, nil), which just returns the
   current setting of LC_MESSAGES.
* Source/NSObject.m (+initialize): Remove GSSetLocaleC call,
which was changing the libc locale.
* Source/NSUserDefaults.m: Use GSDefaultLanguageLocale() instead of
GSSetLocale(LC_MESSAGES, nil)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34841 72102866-910b-0410-8b05-ffd578937521
2012-02-28 06:20:53 +00:00
Richard Frith-MacDonald
e97102ae94 try to allow iso language names in languages array
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34654 72102866-910b-0410-8b05-ffd578937521
2012-01-29 11:10:05 +00:00
Richard Frith-MacDonald
6a2c32df1f fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34653 72102866-910b-0410-8b05-ffd578937521
2012-01-29 07:21:57 +00:00
Richard Frith-MacDonald
29c4116520 Try to ensure new defaults files are created as needed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34307 72102866-910b-0410-8b05-ffd578937521
2011-12-17 06:32:42 +00:00
Richard Frith-MacDonald
430a7eea99 Rewrite to store defaults in multiple files (one per persistent domain).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34201 72102866-910b-0410-8b05-ffd578937521
2011-11-21 11:24:26 +00:00
Richard Frith-MacDonald
83b80b030e deal with old FIXME about creating library path
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34169 72102866-910b-0410-8b05-ffd578937521
2011-11-14 10:01:24 +00:00
Richard Frith-MacDonald
b9d26f7a17 fix missing return
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34137 72102866-910b-0410-8b05-ffd578937521
2011-11-09 13:46:45 +00:00
Richard Frith-MacDonald
fbdcab1d55 solaris thread-saff errrno fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33983 72102866-910b-0410-8b05-ffd578937521
2011-10-14 11:40:34 +00:00
Richard Frith-MacDonald
cbf54ac301 Add a few OSX compatibility methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33929 72102866-910b-0410-8b05-ffd578937521
2011-10-02 11:17:49 +00:00
Eric Wasylishen
7d457ce4cc * Source/NSUserDefaults.m:
- Refactoring of the code to read the system language list
  into a separate function, systemLanguages().
- Add support for the LANGUAGE environment variable, a GNU extension.
  It holds a colon-separated list of locales, and is intended to let
  the user specify a list of their preferred languages in order.
  For example, the language settings GUI in Ubuntu modifies the
  LANGUAGE variable.

  More info here:
  http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable
- When populating NSLanguages, "expand" locales into a list of
  related variants, formed by stripping off region suffixes. This
  ensures that if a user's environment is set to a regional version
  of a language (say CanadaFrench) but an application is only
  traslated into French, the plain French translation will still be used.

  e.g. if the system locales are {fr_CA, en_CA}, expand the list to
  {fr_CA, fr, en_CA, en}.
* Headers/GNUstepBase/GSLocale.h:
* Source/GSLocale.m:
New functions GSLocaleVariants and GSLanguagesFromLocale


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33910 72102866-910b-0410-8b05-ffd578937521
2011-09-29 19:00:46 +00:00
Richard Frith-MacDonald
c5c5f18075 fix a couple of leak detection bugs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33353 72102866-910b-0410-8b05-ffd578937521
2011-06-20 04:37:20 +00:00
Richard Frith-MacDonald
523366101e more leak cleanup stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
2011-06-19 13:34:17 +00:00