florian
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/unicodestring
........
r11665 | florian | 2008-08-30 13:30:17 +0200 (Sat, 30 Aug 2008) | 1 line
* continued to work on unicodestring type support
........
r11666 | florian | 2008-08-30 19:02:26 +0200 (Sat, 30 Aug 2008) | 2 lines
* expectloc for wide/ansi/unicode strings is LOC_CONSTANT or LOC_REGISTER now
........
r11667 | florian | 2008-08-30 20:42:37 +0200 (Sat, 30 Aug 2008) | 1 line
* more unicodestring stuff fixed, test results on win32 are already good
........
r11670 | florian | 2008-08-30 23:21:48 +0200 (Sat, 30 Aug 2008) | 2 lines
* first fixes for unix bootstrapping
........
r11683 | ivost | 2008-09-01 12:46:39 +0200 (Mon, 01 Sep 2008) | 2 lines
* fixed 64bit bug in iconvenc.pas
........
r11689 | florian | 2008-09-01 23:12:34 +0200 (Mon, 01 Sep 2008) | 1 line
* fixed several errors when building on unix
........
r11694 | florian | 2008-09-03 20:32:43 +0200 (Wed, 03 Sep 2008) | 1 line
* fixed unix compilation
........
r11695 | florian | 2008-09-03 21:01:04 +0200 (Wed, 03 Sep 2008) | 1 line
* bootstrapping fix
........
r11696 | florian | 2008-09-03 21:07:18 +0200 (Wed, 03 Sep 2008) | 1 line
* more bootstrapping fixed
........
r11698 | florian | 2008-09-03 22:47:54 +0200 (Wed, 03 Sep 2008) | 1 line
+ two missing compiler procs exported
........
r11701 | florian | 2008-09-04 16:42:34 +0200 (Thu, 04 Sep 2008) | 2 lines
+ lazarus project for the linux rtl
........
r11702 | florian | 2008-09-04 16:43:27 +0200 (Thu, 04 Sep 2008) | 2 lines
+ set unicode string procedures
........
r11707 | florian | 2008-09-04 23:23:02 +0200 (Thu, 04 Sep 2008) | 2 lines
* fixed several type casting stuff
........
r11712 | florian | 2008-09-05 22:46:03 +0200 (Fri, 05 Sep 2008) | 1 line
* fixed unicodestring compilation on windows after recent unix changes
........
r11713 | florian | 2008-09-05 23:35:12 +0200 (Fri, 05 Sep 2008) | 1 line
+ UnicodeString support for Variants
........
r11715 | florian | 2008-09-06 20:59:54 +0200 (Sat, 06 Sep 2008) | 1 line
* patch by Martin Schreiber for UnicodeString streaming
........
r11716 | florian | 2008-09-06 22:22:55 +0200 (Sat, 06 Sep 2008) | 2 lines
* fixed test
........
r11717 | florian | 2008-09-07 10:25:51 +0200 (Sun, 07 Sep 2008) | 1 line
* fixed typo when converting tunicodestring to punicodechar
........
r11718 | florian | 2008-09-07 11:29:52 +0200 (Sun, 07 Sep 2008) | 3 lines
* fixed writing of UnicodeString properties
* moved some helper routines to unicode headers
........
r11734 | florian | 2008-09-09 22:38:55 +0200 (Tue, 09 Sep 2008) | 1 line
* fixed bootstrapping
........
r11735 | florian | 2008-09-10 11:25:28 +0200 (Wed, 10 Sep 2008) | 2 lines
* first fixes for persisten unicodestrings
........
r11736 | florian | 2008-09-10 14:31:00 +0200 (Wed, 10 Sep 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-11663" from
http://svn.freepascal.org/svn/fpc/trunk
........
r11737 | florian | 2008-09-10 21:06:57 +0200 (Wed, 10 Sep 2008) | 3 lines
* fixed unicodestring <-> variant handling
* fixed unicodestring property reading
........
git-svn-id: trunk@11739 -
2008-09-10 20:14:31 +00:00
florian
35c0f78642
+ Haiku support by Olivier Coursière based on old BeOS support
...
git-svn-id: trunk@11014 -
2008-05-19 17:33:35 +00:00
florian
213dd11800
* setlength in utf16/widestringtoutf32 fixed, resolves #10462
...
git-svn-id: trunk@9517 -
2007-12-22 18:43:29 +00:00
Jonas Maebe
2ffc310ebb
* fixed AnsiStrLComp and AnsiStrLIComp: they also have to ignore
...
embedded #0 's apparently + adapted test
git-svn-id: trunk@9471 -
2007-12-16 10:41:18 +00:00
Jonas Maebe
8536e35e44
* fixed indentation of LowerAnsiString/UpperAnsiString
...
git-svn-id: trunk@9444 -
2007-12-13 21:01:17 +00:00
Jonas Maebe
19985965e6
* fixed AnsiStrLower/AnsiStrUpper (were exchanged)
...
git-svn-id: trunk@9441 -
2007-12-13 20:49:52 +00:00
Jonas Maebe
60ccf03a0b
* completed cwstring unit
...
* optimized LowerWideString/UpperWideString not to call UniqueString
for each string character
* fixed LowerAnsiString/UpperAnsiString in case an ascii character
has a lower/uppercase version with a different length than 1
+ generic test for ansistring comparisons using on the widestring
manager (based on glibc test)
- removed ansi2ucs4-related stuff as it's not used/needed
git-svn-id: trunk@9440 -
2007-12-13 20:41:31 +00:00
Jonas Maebe
7ec9dc5bc9
* fixed unix CompareWideString to not treat null characters inside
...
a widestring as end-of-string + test (which fails on Darwin/FreeBSD
in utf-8/utf-16 locales, because their libc's wcscoll is documented
as only working in single-byte locales and falling back to wcscmp
for others)
git-svn-id: trunk@9416 -
2007-12-08 16:00:09 +00:00
Jonas Maebe
8b8ee03c32
* fixed BeOS compilation (patch from Olivier Coursiere)
...
git-svn-id: trunk@9398 -
2007-12-06 08:08:17 +00:00
Jonas Maebe
02c714aec1
* characters <= 127, not just < 127, can be concatenated to an
...
ansistring without conversion
git-svn-id: trunk@9395 -
2007-12-05 18:48:54 +00:00
Jonas Maebe
a180fdcc74
- removed commented out implementation of Upper/LowerWideString which
...
takes into account surrogate pairs (not needed, since upper/lower
case characters never need surrogate pairs)
git-svn-id: trunk@9394 -
2007-12-05 17:44:34 +00:00
Jonas Maebe
68595c8b72
* fixed wchar_t type (was: widechar, now is cint/cint32/long depending on
...
platform)
+ mbstate_t type for all unixes except BeOS (doesn't exist for BeOS)
+ implemented UpperAnsiStringProc/LowerAnsiStringProc for unix
* fixed Ansi2UCS4Move in cwstring (although it isn't used anywhere
currently)
+ test for Upper/LowerAnsiString
git-svn-id: trunk@9393 -
2007-12-05 17:42:35 +00:00
Jonas Maebe
4d254e4de8
* import iconv routines as iconv_* rather than libiconv_* for darwin
...
as the 32 bit libraries export both variants, but the new 64 bit
ones on Mac OS X 10.5 only export iconv_*
git-svn-id: trunk@9184 -
2007-11-10 21:12:45 +00:00
florian
7f4c387841
o new BeOS patch by Olivier Coursiere:
...
* correctly define the stack size for BeOS,
+ implement a minimum nl_langinfo function to correctly initialize WideString support
+ add fgl unit in the BeOS RTL makefile
* SysOSAlloc now return nil when the system can not allocate the asked memory,
* HAS_SYSOSFREE is no more defined with an empty implementation under BeOS. This was preventing FPC to reuse memory.
+ there is now a basic implementation of CheckPointer under BeOS.
git-svn-id: trunk@8994 -
2007-10-29 19:00:32 +00:00
florian
bcd5fc555a
* rtl part of Olivier Coursier's BeOS patch
...
git-svn-id: trunk@8396 -
2007-09-07 19:25:05 +00:00
Jonas Maebe
815cd2b39d
+ support for widestring manager based widechar conversions
...
(widechar<->char, widechar<>*string), based on patch from
Rimgaudas Laucius (mantis #7758 )
* no longer perform compile-time widechar/string->char/ansi/
shortstring conversions if they would destroy information
(they can't cope with widechars with ord>=128). This means
that you can now properly constant widechars/widestrings
in source code with a {$codepage } set without risking that
the compiler will mangle everything afterwards
* support ESysEINVAL return code from iconv (happens if last
multibyte char is incomplete)
* fixed writing of widechars (were converted to char -> lost
information)
git-svn-id: trunk@8274 -
2007-08-12 20:01:08 +00:00
Jonas Maebe
0d8594a705
* made cwstring thread safe without locks + test (twide4): widestring
...
manager now has two extra parameterless procedures (ThreadInitProc
and ThreadFiniProc) which are called whenever a thread begins/ends,
and cwstring uses these to create separate iconv handles for
each thread (via threadvars)
* renamed UCS4 to UCS-4BE/LE, because UCS4 is not recognised by most
systems
* clean up all iconv handles on exit, and check whether they are
valid before doing so
git-svn-id: trunk@7949 -
2007-07-04 18:10:34 +00:00
Jonas Maebe
7b47ebff6b
* removed Darwin/Solaris-specific code and fixed all issues by calling
...
setlocale(LC_ALL,'') per POSIX, which initialises the langinfo stuff
based on the environment variables (some OS'es do that automatically,
but at least Darwin and Solaris don't)
git-svn-id: trunk@7672 -
2007-06-15 18:51:06 +00:00
micha
3e97c6b324
* fix cwstring compilation: remove extra "}"
...
git-svn-id: trunk@7661 -
2007-06-14 14:45:19 +00:00
Jonas Maebe
6111e3e2b9
* also force utf-8 on Solaris, nl_langinfo(CODESET) doesn't work there
...
either and utf-8 is also its default "international" encoding
git-svn-id: trunk@7660 -
2007-06-14 10:56:29 +00:00
Jonas Maebe
8523bdc831
* force utf-8 for darwin
...
git-svn-id: trunk@7644 -
2007-06-13 12:59:39 +00:00
Jonas Maebe
399ab249d6
* initialise/finalise critical section
...
git-svn-id: trunk@7455 -
2007-05-24 12:24:45 +00:00
Jonas Maebe
7e3b792713
* fixed for solaris:
...
* iconv is in libc for solaris
* use official names for unicode encodings (UTF-16BE/UTF-16LE instead
of unofficial UNICODEBIG/UNICODELITTLE aliases, which are not supported
by solaris' iconv)
git-svn-id: trunk@7452 -
2007-05-24 11:38:07 +00:00
daniel
a6a0745436
* Apply path in Mantis report 8103 to fix ansi2wide issue
...
git-svn-id: trunk@5916 -
2007-01-12 10:35:20 +00:00
marco
779b33148c
* fix
...
git-svn-id: trunk@5769 -
2006-12-31 16:21:19 +00:00
daniel
76cf70bdbd
* Use proper critical sections.
...
- Remove sysutils dependency by turning exception into runerror, which is
converted into exception anyway if user decides to use sysutils.
git-svn-id: trunk@5471 -
2006-11-25 07:32:36 +00:00
marco
dd7f715405
* FreeBSD fixes
...
git-svn-id: trunk@4994 -
2006-10-21 13:16:56 +00:00
micha
d704af7216
fix compilation for {$T+} linux/win
...
git-svn-id: trunk@4794 -
2006-10-04 20:43:55 +00:00
Jonas Maebe
2b98aa8005
+ CODESET for solaris
...
git-svn-id: trunk@4335 -
2006-08-03 15:36:13 +00:00
michael
497abf8f5d
+ Several improvements by Martin Schreiber
...
git-svn-id: trunk@4246 -
2006-07-17 19:52:00 +00:00
florian
e92cc059a7
* fixed previous commit
...
git-svn-id: trunk@3949 -
2006-06-25 20:37:14 +00:00
florian
f32b1ccbe0
+ cwstring multithreading safe, fixes #6873
...
git-svn-id: trunk@3948 -
2006-06-25 20:17:32 +00:00
florian
246eb14e95
* fixed widestring lib on solaris
...
git-svn-id: trunk@2882 -
2006-03-12 10:09:41 +00:00
peter
513cbb1c6e
* Make RTL compilable
...
git-svn-id: trunk@2476 -
2006-02-08 08:56:16 +00:00
marco
768bf94a99
* more "shared" fixes
...
git-svn-id: trunk@2295 -
2006-01-15 14:56:20 +00:00
Jonas Maebe
b08eccdbf0
- reverted ansi2wide and wide2ansi changes, because they affect
...
third party sources too much
git-svn-id: trunk@2046 -
2005-12-24 01:40:23 +00:00
Jonas Maebe
9a08cdccf0
* several changes of var parameters into out parameters to avoid
...
useless warnings: code parameter of val(), destination of str(),
destinations of ansi2wide and wide2ansi
git-svn-id: trunk@2041 -
2005-12-23 22:25:26 +00:00
florian
6e2a771c41
* Ansi2Wide inserts ? for unknown chars
...
* better error reporting
git-svn-id: trunk@1189 -
2005-09-25 15:04:35 +00:00
florian
bb26084a0f
+ UCS4StringToWideString
...
+ WideStringToUCS4String
+ locale sensitive comparing of widestrings on unix
git-svn-id: trunk@1142 -
2005-09-19 19:13:03 +00:00
florian
63ed93fc24
* fixed previous commit
...
git-svn-id: trunk@1050 -
2005-09-04 14:08:21 +00:00
florian
629fc8fe64
+ StrCompAnsi implementation
...
git-svn-id: trunk@1049 -
2005-09-04 13:49:23 +00:00
marco
287e8317a6
* apparantly broke linux since iconv is in glibc there, fixed + some minor gotchas
...
git-svn-id: trunk@806 -
2005-08-06 20:20:19 +00:00
marco
c90da53c9f
* more darwin fixes. Export to libiconv not iconv
...
git-svn-id: trunk@805 -
2005-08-06 17:11:08 +00:00
marco
40ff86dd59
* Darwin fixes. Untested on Darwin yet. (adding lib + name to external statements)
...
git-svn-id: trunk@804 -
2005-08-06 15:35:12 +00:00
marco
801428838f
* FreeBSD cwstring support
...
git-svn-id: trunk@802 -
2005-08-06 13:33:36 +00:00
florian
e473858821
* fixed setting of widestringmanager
...
--Ths line, and those below, will be ignored--
M rtl/unix/cwstring.pp
git-svn-id: trunk@790 -
2005-08-04 18:52:16 +00:00
Jonas Maebe
828eebe984
* cwstring fixed and activated for Darwin
...
git-svn-id: trunk@407 -
2005-06-14 18:30:05 +00:00
michael
8a226bba52
+ Removed HASWIDESTRING/HASWIDECHAR defines
...
git-svn-id: trunk@241 -
2005-06-07 20:42:22 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00