Description: rtl-objpas (active) Revisions in this set 1c3b41eb543d85cd8497c89942062ca54430d489,8b89a5cc5109c15a716a1826096258caf8b36997,e65b822a0c2a0d0dbe11ae3766dc9876accdbf28,bc46d8f33a4caacf63a81a8b4bba8afa0ed4ab5c,e95572921a85a84f64ce4864544d549ad0ef5b50,00f4aeb39b84e5a291310697064904d10e6d0313,acaa4660fb7162c7e76d09c93e759cf384492bdb,42b10196f16592cfabc4284ada2e8c3e78b44015,885a265edbe6cfe3a784b95899ccc988b69d8cac,9b783281753a1b7b76feb9b9fad04975bc7ac109,15e7dd3d9f5d94136f00c29235f9ffbcb8a5650c,5307ef07c43b0c3005f7d2a2da89b58cd2690993,557a324473694e56ffd934e2f9342ce64cd9b50d,74c995c06b7759bf741954b2e51ece96b9847f75,b0fd2615194fa74e8b4de328974c9834e6ca06a4,dba81381756d73ff6bc9493bf5e6b15197d0118b,50344403834db619bdbf15f42ef88bce903d0692,2cec31d86f232e5c47fbe20dfd115d8caf2e5ba5,2ff4fb0e151d84186b0abfe7692cb44fa195dfc0,121f6fce223c975f5ec2d48cad8e40ae9c47cc1f,09b0ca01ccf02d311c1a2223ac8c1c80ea16e78d,ba6696d9eda7872b99b9a3b3060545aa7e31051c,7589bb39b86dcb8ff1bd7a3bb4d836659062bf60,074cb3bcf4dd05140984e8f0ff1b42a2caed1ca3,54bb95da81571e745d02770318ceba5fecf4e0d2,d1432b73029b43b6f1a4746782e76c04ea75ac4a,c2176d27eaaeb68e6dc8c2a6a06cb76df6d91876,492717a25c7f4dd0a1f4f7dc98fb2697a38e6b2f,85494cdb1d831c5b0a3053bc4f9268d10ade1295,9fe350bd91c0293c794a5c46e3211d29fb0e2727,7f94fb2a65a1b9b68fa1be9ce53b2e28098ac270,b5a0c3b1b6be6538d7111f2863e4575cd32da662,d3b14eb1ba8dc3b5f2ca1dd47db1faf79cffd2c3,149db318a0c4a4acff4fe5a23d43dd66e7704017,23dd7a51731239e06e2e1bdbc966d240dc4d21fc,6ff63107a68f173d9c03e99c41ab9c40738b2ff0,d9ec917586b3d945bd4d79a857b165c3bb0aab81,12db8a59b526a292182da0b43adb15e9e30b6c7c,6972d16c3ab08068898d123f5b677c6e56d96d1a,814370b894f989fa5c83ac4684e6e0f5465e6227,b648c6e23716ebdae25e9f59e0cb2a844f44d507,bfa16c0b32b99bcf17abf8d67bc07919615838ec,afc676511f96cae20340cfc84197e138a7b567f4,090df8e6899b2e0c36a5fcf4d91ae5ac739c4a8b,8b6de92c9cc1a5c1d213fea6297b1d5ea461e768,4a31be415301ed5be38ee741a205d3eeec80df1f,7e5278a40b0e563834cb74962662cb485f0b980a,b829348b4842b064f93175e0c956d1e520c6bc3c,6b17f81e784652696d33940f4cc563da937c71d3 commit 1c3b41eb543d85cd8497c89942062ca54430d489 Author: michael Date: Sat Nov 9 13:39:14 2019 +0000 * Testsuite in punit format git-svn-id: trunk@43425 - M .gitattributes A rtl/test/docompile.sh A rtl/test/punit.cfg A rtl/test/punit.pp A rtl/test/testpunit.pp A rtl/test/testpunit2.pp A rtl/test/testpunit3.pp A rtl/test/testrtl.lpi A rtl/test/testrtl.pp A rtl/test/tohelper.inc A rtl/test/unittest.cfg A rtl/test/utastrcmp.pp A rtl/test/utbytesof.pp A rtl/test/utclasses.pp A rtl/test/utdfexp.pp A rtl/test/utdirex.pp A rtl/test/utdos.pp A rtl/test/utencoding.pp A rtl/test/utencodingerr.pp A rtl/test/utenv.pp A rtl/test/utexec.pp A rtl/test/utexpfncase.pp A rtl/test/utextractquote.pp A rtl/test/utfattr.pp A rtl/test/utfexpand.pp A rtl/test/utffirst.pp A rtl/test/utfile.pp A rtl/test/utfile1.pp A rtl/test/utfile2.pp A rtl/test/utfilename.pp A rtl/test/utfloattostr.pp A rtl/test/utformat.pp A rtl/test/utfsearch.pp A rtl/test/utmath.pp A rtl/test/utrtl.pp A rtl/test/utrwsync.pp A rtl/test/utscanf.pp A rtl/test/utstrcmp.pp A rtl/test/utstrcopy.pp A rtl/test/utstringbuild.pp A rtl/test/utstringhelp.pp A rtl/test/utstrings1.pp A rtl/test/utstrtobool.pp A rtl/test/utstrtotime.pp A rtl/test/utsyshelpers.pp A rtl/test/utsysutils.pp A rtl/test/uttypinfo.pp A rtl/test/utunifile.pp A rtl/test/utuplow.pp A rtl/test/utustringbuild.pp A rtl/test/utverify.pp A rtl/test/utwstrcmp.pp --- commit 8b89a5cc5109c15a716a1826096258caf8b36997 Author: michael Date: Sat Nov 9 18:56:14 2019 +0000 * Remove testsuite again git-svn-id: trunk@43431 - M .gitattributes D rtl/test/docompile.sh D rtl/test/punit.cfg D rtl/test/punit.pp D rtl/test/testpunit.pp D rtl/test/testpunit2.pp D rtl/test/testpunit3.pp D rtl/test/testrtl.lpi D rtl/test/testrtl.pp D rtl/test/tohelper.inc D rtl/test/unittest.cfg D rtl/test/utastrcmp.pp D rtl/test/utbytesof.pp D rtl/test/utclasses.pp D rtl/test/utdfexp.pp D rtl/test/utdirex.pp D rtl/test/utdos.pp D rtl/test/utencoding.pp D rtl/test/utencodingerr.pp D rtl/test/utenv.pp D rtl/test/utexec.pp D rtl/test/utexpfncase.pp D rtl/test/utextractquote.pp D rtl/test/utfattr.pp D rtl/test/utfexpand.pp D rtl/test/utffirst.pp D rtl/test/utfile.pp D rtl/test/utfile1.pp D rtl/test/utfile2.pp D rtl/test/utfilename.pp D rtl/test/utfloattostr.pp D rtl/test/utformat.pp D rtl/test/utfsearch.pp D rtl/test/utmath.pp D rtl/test/utrtl.pp D rtl/test/utrwsync.pp D rtl/test/utscanf.pp D rtl/test/utstrcmp.pp D rtl/test/utstrcopy.pp D rtl/test/utstringbuild.pp D rtl/test/utstringhelp.pp D rtl/test/utstrings1.pp D rtl/test/utstrtobool.pp D rtl/test/utstrtotime.pp D rtl/test/utsyshelpers.pp D rtl/test/utsysutils.pp D rtl/test/uttypinfo.pp D rtl/test/utunifile.pp D rtl/test/utuplow.pp D rtl/test/utustringbuild.pp D rtl/test/utverify.pp D rtl/test/utwstrcmp.pp --- commit e65b822a0c2a0d0dbe11ae3766dc9876accdbf28 Author: Sven/Sarah Barth Date: Fri Dec 3 14:52:19 2021 +0100 + add type helpers for the remaining Boolean types (QWordBool and Boolean{8,16,32,64}) M packages/rtl-objpas/src/inc/syshelpers.pp M rtl/objpas/sysutils/syshelp.inc M rtl/objpas/sysutils/syshelph.inc --- commit bc46d8f33a4caacf63a81a8b4bba8afa0ed4ab5c Author: Sven/Sarah Barth Date: Fri Dec 24 13:49:48 2021 +0100 * x86_64 Win64 callback implementation: fix building the argument array if the result is passed as a parameter M packages/rtl-objpas/src/x86_64/invoke.inc --- commit e95572921a85a84f64ce4864544d549ad0ef5b50 Author: Sven/Sarah Barth Date: Fri Dec 24 23:29:34 2021 +0100 * i386 callback implementation: only skip the result argument if it was detected as one from the parameters M packages/rtl-objpas/src/i386/invoke.inc --- commit 00f4aeb39b84e5a291310697064904d10e6d0313 Author: Sven/Sarah Barth Date: Fri Dec 24 23:30:33 2021 +0100 * i386 invoke implementation: check the correct argument in the second pass M packages/rtl-objpas/src/i386/invoke.inc --- commit acaa4660fb7162c7e76d09c93e759cf384492bdb Author: Rika Ichinose Date: Fri Oct 28 19:31:48 2022 +0300 Improve NaturalCompareText behaviour as a comparer. This version probably can’t return garbage or intransitive results. M packages/rtl-objpas/src/inc/strutils.pp --- commit 42b10196f16592cfabc4284ada2e8c3e78b44015 Author: Michael VAN CANNEYT Date: Sat Jan 14 23:52:55 2023 +0100 * Some fixes in INtToBin, XorDecode/XorEncode M packages/rtl-objpas/src/inc/strutils.pp --- commit 885a265edbe6cfe3a784b95899ccc988b69d8cac Author: Michaël Van Canneyt Date: Thu Jan 26 15:28:26 2023 +0100 * Fix compilation after rebase M packages/fcl-base/src/fpexprpars.pp M packages/fcl-base/src/inicol.pp M packages/fcl-db/src/dbase/dbf_prscore.pas M packages/fcl-db/src/dbase/dbf_prsdef.pas M packages/fcl-fpcunit/src/DUnitCompatibleInterface.inc M packages/fcl-hash/src/fpasn.pp M packages/fcl-hash/src/fphashutils.pp M packages/fcl-passrc/src/pscanner.pp M packages/fcl-pdf/src/fppdfparser.pp M packages/fcl-web/src/base/fphttpclient.pp M packages/fcl-web/src/base/httpdefs.pp M packages/rtl-objpas/src/inc/dateutil.inc M packages/webidl/src/webidlscanner.pp M packages/webidl/src/webidltowasmjob.pp --- commit 9b783281753a1b7b76feb9b9fad04975bc7ac109 Author: Michaël Van Canneyt Date: Sat Aug 12 17:08:42 2023 +0200 * Redirect posex to pos, patch from rika. Fixes issue #40389 M packages/rtl-objpas/src/inc/strutils.pp --- commit 15e7dd3d9f5d94136f00c29235f9ffbcb8a5650c Author: florian Date: Sun Aug 27 22:32:00 2023 +0200 * patch and test by Rika: Redirect StrUtils.RPos to StrUtils.RPosEx, fix a bit, improve a bit, resolves #40394 M packages/rtl-objpas/src/inc/strutils.pp A tests/test/units/strutils/trpos.pp --- commit 5307ef07c43b0c3005f7d2a2da89b58cd2690993 Author: Kai Burghardt Date: Tue Oct 10 15:32:06 2023 +0000 bypass `real` → `integer` conversion → `real` promotion in `dateUtils.dateOf` The `dateUtils.dateOf` function takes one `tDateTime` value, a `real` value, converts it to an `integer` using `trunc`, and then the value is automatically promoted to a `real` value again (because of result data type `tDateTime`). This is unnecessary (unless an error is the desired behavior). You can use just `system.int` to obtain the integral (= date) part of `tDateTime`. M packages/rtl-objpas/src/inc/dateutil.inc --- commit 557a324473694e56ffd934e2f9342ce64cd9b50d Author: Michaël Van Canneyt Date: Wed Oct 18 17:03:23 2023 +0200 * Add system.actions unit for Delphi compatibility M packages/rtl-objpas/fpmake.pp A packages/rtl-objpas/src/inc/system.actions.pp --- commit 74c995c06b7759bf741954b2e51ece96b9847f75 Author: Michaël Van Canneyt Date: Sun Oct 22 17:07:53 2023 +0200 * Add system.math.vectors for Delphi compatibility. M packages/rtl-objpas/fpmake.pp A packages/rtl-objpas/src/inc/system.math.vectors.pp M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp A packages/rtl-objpas/tests/tv.dpr A packages/rtl-objpas/tests/utcmatrix.pp A packages/rtl-objpas/tests/utcmatrix3d.pp A packages/rtl-objpas/tests/utcpoint.pp A packages/rtl-objpas/tests/utcquaternion.pp A packages/rtl-objpas/tests/utcvector.pp A packages/rtl-objpas/tests/utmathvectorbase.pas --- commit b0fd2615194fa74e8b4de328974c9834e6ca06a4 Author: Michaël Van Canneyt Date: Tue Oct 31 11:57:25 2023 +0100 * Correct permissions M packages/rtl-objpas/src/inc/system.actions.pp M packages/rtl-objpas/src/inc/system.math.vectors.pp --- commit dba81381756d73ff6bc9493bf5e6b15197d0118b Author: Rika Ichinose Date: Tue Oct 31 14:50:10 2023 +0300 Refactor promotional features of StrUtils. M packages/rtl-objpas/src/inc/strutils.pp A tests/test/tstrutils3.pp --- commit 50344403834db619bdbf15f42ef88bce903d0692 Author: Michaël Van Canneyt Date: Thu Nov 2 09:53:10 2023 +0100 * Fix compilation of unicode RTL after patch by Rika M packages/rtl-objpas/src/inc/strutils.pp --- commit 2cec31d86f232e5c47fbe20dfd115d8caf2e5ba5 Author: Michaël Van Canneyt Date: Thu Nov 2 13:56:45 2023 +0100 * correct aDelta size M packages/rtl-objpas/src/inc/strutils.pp --- commit 2ff4fb0e151d84186b0abfe7692cb44fa195dfc0 Author: Rika Ichinose Date: Tue Nov 7 12:40:43 2023 +0300 Fix a leak in StrUtils.StringsReplace, change StrUtils.IsWordPresent to work like Pos, and make a few more minor adjustments. M packages/rtl-objpas/src/inc/strutils.pp --- commit 121f6fce223c975f5ec2d48cad8e40ae9c47cc1f Author: Michaël Van Canneyt Date: Sat Nov 11 12:08:44 2023 +0100 * Fix typo, missing brackets M packages/rtl-objpas/src/inc/strutils.pp --- commit 09b0ca01ccf02d311c1a2223ac8c1c80ea16e78d Author: Michaël Van Canneyt Date: Sat Feb 24 18:10:48 2024 +0100 + Add Simple MonitorSupport implementation A packages/rtl-objpas/examples/monex.pp M packages/rtl-objpas/fpmake.pp A packages/rtl-objpas/namespaced/System.MonitorSupport.pp M packages/rtl-objpas/namespaces.lst A packages/rtl-objpas/src/inc/fpmonitor.pp A packages/rtl-objpas/tests/testrunner.rtlobjpas A packages/rtl-objpas/tests/testrunner.rtlobjpas.lpi M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp A packages/rtl-objpas/tests/utcfpmonitor.pas --- commit ba6696d9eda7872b99b9a3b3060545aa7e31051c Author: Rika Ichinose Date: Mon Feb 26 19:20:29 2024 +0300 Create TMonitorData initialized. M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit 7589bb39b86dcb8ff1bd7a3bb4d836659062bf60 Author: Rika Ichinose Date: Mon Feb 26 19:21:24 2024 +0300 Set ‘TMonitorData’s without locking. M packages/rtl-objpas/src/inc/fpmonitor.pp M rtl/inc/monitor.inc M rtl/inc/objpas.inc M rtl/inc/objpash.inc --- commit 074cb3bcf4dd05140984e8f0ff1b42a2caed1ca3 Author: Rika Ichinose Date: Mon Feb 26 19:23:19 2024 +0300 Manage ‘TPulseData’s as linked list of structures allocated in ‘Wait’ stack frames. M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit 54bb95da81571e745d02770318ceba5fecf4e0d2 Author: Rika Ichinose Date: Mon Feb 26 19:26:05 2024 +0300 ‘LockCount’ does not require atomics. M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit d1432b73029b43b6f1a4746782e76c04ea75ac4a Author: Rika Ichinose Date: Mon Feb 26 19:26:57 2024 +0300 TMonitor.Wait temporarily unlocks through recursive calls. M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit c2176d27eaaeb68e6dc8c2a6a06cb76df6d91876 Author: Rika Ichinose Date: Mon Feb 26 19:32:34 2024 +0300 Use exponential backoff in timeouted ‘TMonitor.Enter’ and explain why it’s still a bad solution. M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit 492717a25c7f4dd0a1f4f7dc98fb2697a38e6b2f Author: Michaël Van Canneyt Date: Tue Feb 27 09:44:31 2024 +0100 * Do not prefix with unit name unless necessary M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit 85494cdb1d831c5b0a3053bc4f9268d10ade1295 Author: Michaël Van Canneyt Date: Wed Feb 28 09:49:15 2024 +0100 * Fix wrong type for threadID M packages/rtl-objpas/src/inc/fpmonitor.pp --- commit 9fe350bd91c0293c794a5c46e3211d29fb0e2727 Author: Rika Ichinose Date: Thu Feb 29 09:01:28 2024 +0300 Alternative implementation of TMonitor for Windows Vista+. M packages/rtl-objpas/fpmake.pp A packages/rtl-objpas/namespaced/System.WindowsMonitorSupport.pp M packages/rtl-objpas/namespaces.lst M packages/rtl-objpas/src/inc/fpmonitor.pp A packages/rtl-objpas/src/win/fpwinmonitor.pp M packages/rtl-objpas/tests/utcfpmonitor.pas --- commit 7f94fb2a65a1b9b68fa1be9ce53b2e28098ac270 Author: Michaël Van Canneyt Date: Fri Jul 5 08:59:16 2024 +0200 * Add TCubicBezierCurve for Delphi compatibility M packages/rtl-objpas/src/inc/system.math.vectors.pp --- commit b5a0c3b1b6be6538d7111f2863e4575cd32da662 Author: Frederic Kehrein Date: Sat Sep 28 14:06:58 2024 +0200 Adding some convinience functions to TNullable M packages/rtl-objpas/src/inc/nullable.pp M tests/test/units/nullable/tnull.pp --- commit d3b14eb1ba8dc3b5f2ca1dd47db1faf79cffd2c3 Author: Frederic Kehrein Date: Sun Sep 29 12:49:57 2024 +0200 Adding tuple unit A packages/rtl-objpas/namespaced/System.Tuples.pp M packages/rtl-objpas/namespaces.lst A packages/rtl-objpas/src/inc/tuples.pp A tests/test/units/tuples/ttuple.pp --- commit 149db318a0c4a4acff4fe5a23d43dd66e7704017 Author: Michaël Van Canneyt Date: Sun Sep 29 13:36:32 2024 +0200 + Add license header to tuples, add to fpmake M packages/rtl-objpas/fpmake.pp M packages/rtl-objpas/src/inc/tuples.pp --- commit 23dd7a51731239e06e2e1bdbc966d240dc4d21fc Author: Frederic Kehrein Date: Mon Sep 30 10:55:59 2024 +0200 Adding TNullPtr to types Additional changes: * Now using TNullPtr instead of custom type in TNullable * Adding assignment of variants with TNulPtr to avoid name conflicts * Adding comparison to TNullPtr (Pointers, TObjects, TNullable) M packages/rtl-objpas/src/inc/nullable.pp M packages/rtl-objpas/src/inc/variants.pp M rtl/objpas/types.pp M tests/test/units/nullable/tnull.pp A tests/test/units/types/tnullptr.pp A tests/test/units/variants/tvariants.pp --- commit 6ff63107a68f173d9c03e99c41ab9c40738b2ff0 Author: Frederic Kehrein Date: Tue Oct 1 10:41:50 2024 +0200 Adding pointer access to nullable M packages/rtl-objpas/src/inc/nullable.pp M tests/test/units/nullable/tnull.pp --- commit d9ec917586b3d945bd4d79a857b165c3bb0aab81 Author: Sven/Sarah Barth Date: Mon Nov 4 23:06:01 2024 +0100 * in the Win64 ABI all const record parameters are passed by reference M packages/rtl-objpas/src/x86_64/invoke.inc --- commit 12db8a59b526a292182da0b43adb15e9e30b6c7c Author: Nikolay Nikolov Date: Sun Jan 26 09:13:09 2025 +0200 * proper handling for boolean results (especially Boolean64 and QWordBool) in System.Rtti.Invoke M packages/rtl-objpas/src/wasm32/invoke.inc --- commit 6972d16c3ab08068898d123f5b677c6e56d96d1a Author: Nikolay Nikolov Date: Sun Jan 26 09:25:25 2025 +0200 * also handle enumeration results and integer result sizes, other than 32-bit in System.Rtti.Invoke for WebAssembly M packages/rtl-objpas/src/wasm32/invoke.inc --- commit 814370b894f989fa5c83ac4684e6e0f5465e6227 Author: Rika Ichinose Date: Fri Feb 7 07:02:43 2025 +0300 Fix NaturalCompareText for string = unicodestring. M packages/rtl-objpas/src/inc/strutils.pp --- commit b648c6e23716ebdae25e9f59e0cb2a844f44d507 Author: Pierre Muller Date: Mon May 26 11:48:54 2025 +0000 Add support for win16 target by introducing USE_WINDOWS_UNIT define, which is set for other Windows OSes M packages/rtl-objpas/src/inc/dateutil.inc --- commit bfa16c0b32b99bcf17abf8d67bc07919615838ec Author: Pierre Muller Date: Mon May 26 11:49:50 2025 +0000 Use USE_WINDOWS_OLE_FUNCTIONS macro to avoid build failure for win16 OS target M packages/rtl-objpas/src/inc/varutilh.inc --- commit afc676511f96cae20340cfc84197e138a7b567f4 Author: Rika Ichinose Date: Sun Jul 27 16:24:45 2025 +0300 Use the MemPos approach in IsWordPresent. M packages/rtl-objpas/src/inc/strutils.pp --- commit 090df8e6899b2e0c36a5fcf4d91ae5ac739c4a8b Author: Sven/Sarah Barth Date: Wed Dec 24 13:56:57 2025 +0100 * more handling of varUString in Variant utility functions M packages/rtl-objpas/src/inc/variants.pp M packages/rtl-objpas/src/inc/varutils.inc --- commit 8b6de92c9cc1a5c1d213fea6297b1d5ea461e768 Author: Sven/Sarah Barth Date: Wed Dec 24 13:58:03 2025 +0100 + add utility function to retrieve a UnicodeString from a Variant M packages/rtl-objpas/src/inc/cvarutil.inc M packages/rtl-objpas/src/inc/varutilh.inc --- commit 4a31be415301ed5be38ee741a205d3eeec80df1f Author: Sven/Sarah Barth Date: Wed Dec 24 13:59:13 2025 +0100 - remove unnecessary case-header M packages/rtl-objpas/src/inc/variants.pp --- commit 7e5278a40b0e563834cb74962662cb485f0b980a Author: Karoly Balogh Date: Thu Dec 25 04:30:44 2025 +0100 * fix the build after 090df8e6 M packages/rtl-objpas/src/inc/varutils.inc --- commit b829348b4842b064f93175e0c956d1e520c6bc3c Author: Curtis Hamilton Date: Tue Dec 30 11:39:21 2025 -0500 Update repository M packages/fpmake.pp M packages/rtl-objpas/src/inc/variants.pp M packages/rtl-objpas/src/inc/varutilh.inc M packages/rtl-objpas/src/inc/varutils.inc M packages/rtl-objpas/tests/tests.rtti.value.pas M rtl/bsd/system.pp --- commit 6b17f81e784652696d33940f4cc563da937c71d3 Author: Curtis Hamilton Date: Thu Jan 15 12:17:15 2026 -0500 Rebased with trunk to fix inadvertent revisions M packages/fcl-md/src/markdown.parser.pas M packages/rtl-objpas/src/inc/variants.pp M packages/rtl-objpas/src/inc/varutilh.inc M packages/rtl-objpas/src/inc/varutils.inc M packages/rtl-objpas/tests/tests.rtti.value.pas