Commit Graph

1998 Commits

Author SHA1 Message Date
michael
024714fa20 * Fix non-threading platforms
git-svn-id: trunk@42249 -
2019-06-19 08:10:26 +00:00
michael
ade808cb43 * Patch from Pascal Riekenberg to make component loading thread safe (bug ID 35638)
git-svn-id: trunk@42248 -
2019-06-19 06:25:02 +00:00
svenbarth
cc5549f3e7 * change Value argument of SetToString and result of of StringToSet from Integer to LongInt so that small sets are handled on 8/16-bit platforms as they are on 32- and 64-bit
git-svn-id: trunk@42245 -
2019-06-17 20:48:58 +00:00
svenbarth
15d0deff81 * fix SetToString/StringToSet for 8/16-bit platforms
git-svn-id: trunk@42244 -
2019-06-17 20:48:49 +00:00
svenbarth
89e454aca8 * rework/extend SetToString/StringToSet so that sets with a size > 4 can be converted as well (this is Delphi compatible)
+ added test

git-svn-id: trunk@42240 -
2019-06-16 21:36:25 +00:00
michael
b2e47cceb2 * Added constant for new error message in stringlist
git-svn-id: trunk@42172 -
2019-06-04 07:29:53 +00:00
michael
4d1e2c6aa5 * Sort public properties/methods in stringlist
git-svn-id: trunk@42171 -
2019-06-04 07:08:45 +00:00
michael
7c36912eb0 * Better fix for 35660: Introduced TMissingNameValueSeparatorAction
git-svn-id: trunk@42170 -
2019-06-04 07:00:48 +00:00
michael
de30f7852d * Changed String.Split to conform to behaviour in Delphi Rio (bug ID 35669)
git-svn-id: trunk@42168 -
2019-06-03 06:27:37 +00:00
michael
833e00bfbd * Fix bug #35660, introduce prefervaluestonames
git-svn-id: trunk@42153 -
2019-06-01 09:42:27 +00:00
michael
167ca93d25 * Patch from Ondrej to remove unnecessary overload keywords
git-svn-id: trunk@42062 -
2019-05-14 08:36:52 +00:00
michael
6649fab22d * Fix bug ID #0035580
git-svn-id: trunk@42058 -
2019-05-13 20:23:50 +00:00
michael
e4385d1b19 * Fix bug ID #35576
git-svn-id: trunk@42057 -
2019-05-13 20:15:00 +00:00
michael
dc592a888f * Make explicit that Integer is 32-bit
git-svn-id: trunk@42056 -
2019-05-13 11:47:46 +00:00
michael
fdccb0d62f * FIx compilation with 3.0.4
git-svn-id: trunk@42049 -
2019-05-12 15:36:04 +00:00
michael
58f1a8513b * FIx compilation for platforms that do not have extended
git-svn-id: trunk@42048 -
2019-05-12 15:33:26 +00:00
michael
60efc9e81c * Add Read/Write(Buffer) TBytes, ReadData/WriteData, ReadBufferData/WriteBufferData to be Delphi compatible
git-svn-id: trunk@42042 -
2019-05-12 10:09:16 +00:00
pierre
819752c334 Avoid warnings when -v0 is used by using $push/$pop
git-svn-id: trunk@41960 -
2019-04-29 14:19:16 +00:00
michael
a254a49e84 * Patch from Ondrej Pokorny to fix bug ID : #32961 reflect system code page change in TEncoding
git-svn-id: trunk@41951 -
2019-04-28 09:02:41 +00:00
svenbarth
b7a716cd81 * correct return a pointer to the list so that List^[x] works as it did before 3.2
+ added test

git-svn-id: trunk@41938 -
2019-04-26 08:13:11 +00:00
svenbarth
9d10f21b07 * applied patch by Thaddy de Koning to fix Mantis #35378: correctly declare TNativeIntHelper.MinValue
git-svn-id: trunk@41881 -
2019-04-16 09:24:05 +00:00
michael
27894ebe68 * Patch from Serge Anvarov to improve TStrings.GetNextLine and TStrings.GetNextLineBreak (bug ID 35331)
git-svn-id: trunk@41853 -
2019-04-09 11:35:56 +00:00
michael
08d6b446f0 * Fix bug ID #35345, allow tstrings.text to exceed 2Gb
git-svn-id: trunk@41852 -
2019-04-09 11:16:56 +00:00
michael
cae2c94e90 * Patch from Ondrej Pokorny to let AddStrings call beginupdate/endupdate under all circumstances (bug ID 35341)
git-svn-id: trunk@41849 -
2019-04-08 07:51:19 +00:00
michael
e3973e9c4e * Fix bug #35305, lazy instantiation of class alias list. Patch from Ondrej Pokorny
git-svn-id: trunk@41819 -
2019-04-01 17:31:20 +00:00
michael
60606e61ef * Patch from Ondrej Pokorny to make RegisterClassAlias thread-safe
git-svn-id: trunk@41818 -
2019-04-01 17:25:29 +00:00
michael
1951aff5a4 * Fix formatfloat in case E not followed by +/- (bug id 35297)
git-svn-id: trunk@41803 -
2019-03-30 15:47:50 +00:00
michael
2669b68e6d * Added move on TCollection (bug ID 32673)
git-svn-id: trunk@41795 -
2019-03-26 07:03:24 +00:00
michael
905ccf9363 * Make FreeEncodings protected: they cannot be public, as it causes AVs (see bug ID #34856)
git-svn-id: trunk@41547 -
2019-03-02 10:42:19 +00:00
michael
541bf05b94 * Add overloaded version of AssignFile with codepage. See bug ID #34889
git-svn-id: trunk@41342 -
2019-02-16 12:52:00 +00:00
michael
3fcc1c5f0e * Complete the implementation of IsLeadChar
git-svn-id: trunk@41336 -
2019-02-16 10:50:31 +00:00
michael
4143ecf6c0 Fix bug ID #35086: TParser should reset position (tentative)
git-svn-id: trunk@41331 -
2019-02-16 08:39:40 +00:00
michael
a750039f7c * Add overloaded version of stringreplace with replacement count (ID 23987)
git-svn-id: trunk@41330 -
2019-02-16 07:55:26 +00:00
svenbarth
b810d8f32b * fix for Mantis #35027: ensure that the synchronize event entry is reset correctly in case of an exception
+ added test

git-svn-id: trunk@41281 -
2019-02-10 15:43:03 +00:00
svenbarth
1502a13e7c * fix for Mantis #35028: when the mainthread executes a queued ThreadMethod make sure that the queue entry is released even if an exception is raised
+ added test

git-svn-id: trunk@41280 -
2019-02-10 15:42:58 +00:00
marco
93fcce4ba1 * tohexstring calls inttohex instead of hexstr. Hexstr has fixed number of
digits, inttohex a minimum number. Mantis #35015

git-svn-id: trunk@41268 -
2019-02-09 17:12:20 +00:00
nickysn
ff90e7622a + added .Sort overloads, that specify an algorithm and use the sortbase defined
algorithms for sorting TList, TFPList and TStringList when FPC_TESTGENERICS is
  defined as well. Unfortunately, I couldn't test it, because the RTL doesn't
  compile with FPC_TESTGENERICS, due to errors, completely unrelated to the
  sortbase changes.

git-svn-id: trunk@41248 -
2019-02-07 15:45:13 +00:00
nickysn
1d7ff66602 + added .Sort() overloads with a SortingAlgorithm parameter to TFPGList,
TFPGObjectList, TFPGInterfacedObjectList and TFPSMap

git-svn-id: trunk@41196 -
2019-02-03 19:49:35 +00:00
nickysn
d86da19570 * use the sort algorithm from sortbase for TStringList
git-svn-id: trunk@41194 -
2019-02-03 17:00:21 +00:00
marco
91fd2396fc * patch from mantis 34851 committed. use size in bits to set result of openbit instead of a fsize*32.
git-svn-id: trunk@41185 -
2019-02-03 14:06:40 +00:00
nickysn
ad677070f4 * hook TFPSList.QuickSort to also call the default sorting algorithm from sortbase
git-svn-id: trunk@41179 -
2019-02-02 23:08:25 +00:00
nickysn
63f9afa6bd * fixed TFPList.Sort. Scary news: turns out we don't have any tests for
TFPList.Sort or TList.Sort... :(

git-svn-id: trunk@41177 -
2019-02-02 22:52:08 +00:00
nickysn
4ea42ab6d2 * use the sortbase sorting algorithm in fgl as well
git-svn-id: trunk@41176 -
2019-02-02 22:49:39 +00:00
nickysn
25f6da7066 * added PtrList to the names of the current sort algorithm callback functions and
types, to indicate they sort a list of pointers

git-svn-id: trunk@41170 -
2019-02-02 20:56:59 +00:00
nickysn
e8dc54c768 + added TList.Sort overload with a sorting algorithm parameter
git-svn-id: trunk@41169 -
2019-02-02 20:31:16 +00:00
nickysn
248fd313f8 + introduced unit SortBase, which implements the foundation for pluggable
sorting algorithms. A default QuickSort implementation is provided by the
  unit. Other units can be added, to provide other sorting algorithms (e.g.
  HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
  in SortBase for their .Sort method.

git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
Jonas Maebe
b1a2b405ea * TMultiReadExclusiveWriteSynchronizer: removed some unnecessary barriers and
added some potentially missing ones

git-svn-id: trunk@41166 -
2019-02-02 15:19:32 +00:00
marco
0da16e7dbe * unicode version of isleadchar. utf8 still to follow, see #34754
git-svn-id: trunk@41085 -
2019-01-27 14:52:52 +00:00
svenbarth
81fa0924d8 * an exception does not need to inherit from Exception, so declare that as such for the thread queue entry for the sake of clarity
git-svn-id: trunk@40652 -
2018-12-25 23:30:38 +00:00
svenbarth
3e0da1ef1c * fix for Mantis #34640: don't access the thread queue entry directly after it was added to the queue if it's a Queue()d entry instead of a Synchronize()d one
git-svn-id: trunk@40651 -
2018-12-25 23:30:35 +00:00