Commit Graph

1978 Commits

Author SHA1 Message Date
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
michael
93ec37a4bc Added overloads UintToStr for Delphi compatbibility (bug ID 0034690)
git-svn-id: trunk@40529 -
2018-12-12 08:29:24 +00:00
nickysn
da5868b668 + added method TBits.CopyBits for fast copying
git-svn-id: trunk@40524 -
2018-12-11 15:52:09 +00:00
michael
863ede7dc6 * Add QWord version of Max (Delphi compatibility, bug ID #34364)
git-svn-id: trunk@39995 -
2018-10-20 12:28:56 +00:00
michael
ab159c638c * Move consts to stdconv
git-svn-id: trunk@39994 -
2018-10-20 12:18:16 +00:00
michael
407753ea10 * Add constants for powers of 10 and 2. use integer/int64 where possible
git-svn-id: trunk@39992 -
2018-10-20 10:40:12 +00:00
florian
edd72ca6d2 * few inline directives added to types, resolves #34424
git-svn-id: trunk@39984 -
2018-10-18 19:35:56 +00:00
michael
a7278c1806 * Fix split, last term of length 1 is sometimes missed
git-svn-id: trunk@39843 -
2018-09-30 09:18:21 +00:00
marco
7833dbf6a4 * uppercase relative_P_ath. Mantis #34262
git-svn-id: trunk@39743 -
2018-09-12 11:24:19 +00:00
svenbarth
a076677336 * instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
git-svn-id: trunk@39690 -
2018-08-29 19:21:35 +00:00
svenbarth
2e1327b6b2 * use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
* using this the TypInfo unit can navigate interface methods and VMT method parameters much more quickly as the latter have a constant size now

git-svn-id: trunk@39686 -
2018-08-29 19:20:31 +00:00
svenbarth
029ec93df6 * use pooled constant references for the names of VMT methods in the RTTI
git-svn-id: trunk@39685 -
2018-08-29 19:20:27 +00:00
svenbarth
228d3252cc * use pooled constant references for the parameter names of VMT methods in the RTTI
git-svn-id: trunk@39684 -
2018-08-29 19:20:24 +00:00
svenbarth
e110d90127 + implement FileGetSymLinkTarget() based on patch by Serge Anvarov in Mantis #32370
git-svn-id: trunk@39671 -
2018-08-24 15:34:04 +00:00
svenbarth
09e5f463dc + add Delphi-compatible FileGetSymLinkTarget functions to all platforms (currently returns False on all platforms); this also includes TSymLinkRec variants for both RawByteString and UnicodeString
git-svn-id: trunk@39669 -
2018-08-24 15:33:45 +00:00
svenbarth
92dcdd8b5b + add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target
git-svn-id: trunk@39668 -
2018-08-24 15:33:09 +00:00
marco
15fcd0ab61 * remove old ifdefs
git-svn-id: trunk@39642 -
2018-08-19 14:54:58 +00:00
florian
a825a66d01 * IntPower inverts the base first for negative exponents and multiplies then, resolves #34124
git-svn-id: trunk@39621 -
2018-08-16 20:45:35 +00:00
michael
ab84f09591 * Fix bug #39521. Generic functions only in trunk
git-svn-id: trunk@39525 -
2018-07-29 21:43:03 +00:00
michael
1e3f44965f * Added generic IfThen, as proposed by Thaddy de Koning, bug id #34012
git-svn-id: trunk@39521 -
2018-07-29 09:35:54 +00:00
svenbarth
38c30a557d * deprecate MaxGListSize; it's no longer used by the generic types
git-svn-id: trunk@39465 -
2018-07-17 19:30:29 +00:00