Commit Graph
1382 Commits
Author SHA1 Message Date
Michael Meeks c0ce606701 basic: correct reference to method that doesn't exist.
Apparently not there in basic from prior to its open-sourcing.

Change-Id: I9b2da35abfc9971ee380c68f33e239fe63b381c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141483
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2022-10-18 00:55:50 +02:00
Andreas Heinisch bdfcad586d tdf#151503 - Do not evaluate a missing optional variable to a boolean
Change-Id: I671f857344f91de63612eabcbbdb2cab9b94cc0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141296
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-10-14 10:06:38 +02:00
Andreas Heinisch 6f3532f6aa tdf#151012 - Initialize optional parameters with their default values
Change-Id: I3ed3eb904b50892e5946abe684e801819ba296e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140128
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-09-25 11:39:33 +02:00
Mike Kaganski 5a60014858 This comment is obsolete
A leftover from commit f6e0527033
  Date   Mon Mar 21 12:55:40 2011 +0100
    Remove most of dead code inlibs-core (basic)

which dropped the related commented out code for "not implemented"
stub, being there since c25ec0608a
"initial import".

Change-Id: Ic09a0c63921f1c5daa277fe7bb6dfc194895b673
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139978
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-09-15 16:31:44 +02:00
Noel Grandin fd3888c69a move ErrCode to comphelper and improve debug output string
need to move it, because modules "below" vcl want
to use the debug output method

Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-14 08:34:38 +02:00
Arnaud VERSINI 6b3e66cd7a tdf147132 basic : flaten some functions
Change-Id: I462cbac4183f304e9f4b296a6361a05a4615c7eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137650
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-05 16:04:25 +02:00
Arnaud VERSINI f2a98e8594 BASIC : missing parameter check in SbRtl_CreateObject
Change-Id: I44e8c17274e20eb080494b2eaf25f74d33a35b36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137394
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-05 15:59:06 +02:00
Stephan Bergmann 91ba9654ba Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit.  (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx.  The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now.  Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)

Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-18 17:10:19 +02:00
Chris Sherlock 845393b9aa move wintypes.hxx from tools to vcl
Change-Id: Ief9949fd4252de9e33df172af07aa7ed097b5520
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136560
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-07-20 12:20:59 +02:00
Roman Kuznetsov c2bf1ff91f tdf#147132 Flatten a Basic function
Change-Id: I85eef5ca499197cfd96fecc4d05a82f7d11089cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136856
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-07-13 14:57:10 +02:00
Andreas Heinisch 522f5ad4d8 tdf#147529 - BASIC MsgBox: Check for missing optional parameters
Change-Id: Iecb47e0005c609ee1117d6fb141e810c0166806a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136339
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-06-24 09:20:45 +02:00
Noel Grandin 7c9d99a5cb elide some makeStringAndClear() calls
Change-Id: Ie8c04a8c414f32cc0e68fbab1d24a9707f179011
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136201
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-21 10:10:36 +02:00
Roman Kuznetsov f30af7b351 tdf#147132 Flatten Basic function
Change-Id: I1e445a565dc9c45810e85b045e68db08a56207f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135271
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2022-06-03 16:36:32 +02:00
Roman Kuznetsov 66fe1fa945 tdf#147132 Flatten Basic function
Change-Id: Ib2646bfbebdfb6d8e8a3cd1355db75b0405ccfe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135268
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-03 10:17:02 +02:00
Stephan Bergmann 0af4324c57 Use more appropriate type for SbiImage::GetString nId param
Change-Id: I4207830e3923ce9b4f7c0f59cf5880dfcf89979b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135243
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-01 21:20:29 +02:00
Noel Grandin 5ecdedbf81 clang-tidy modernize-pass-by-value in basic
Change-Id: I9034ab95a4ccb58e36e77d911dd33cc50857c03a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135176
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-31 15:11:27 +02:00
Roman Kuznetsov 43458f83f2 tdf#147132 Flatten Basic function implementation
Change-Id: Ife73d08e57bb1c896a27f8cbbd6b1f4b106587a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135062
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2022-05-30 08:45:42 +02:00
Caolán McNamara 070b34c2a4 fix --disable-scripting build
Change-Id: I41e0da3d379d54ec59f9eba46978cfe7f9e09d33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134105
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-10 10:51:20 +02:00
Mike Kaganski bc1ab88ffa More usual 1899-12-30 base Date in Basic
Omissions from commit 8189d81564

Change-Id: I6b205f7bcc9ff9c30e55b03d39d02b9be15a01c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134064
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-10 06:58:24 +02:00
Mike Kaganski ced3501a93 Unify and simplify SbRtl_Hex and SbRtl_Oct
OUStringNumber::toAsciiUpperCase is cheaper than OUString::toAsciiUpperCase.

Let SbRtl_Oct use OUString::number as well.

Change-Id: I3a97ec5d3a7b0005fc300310198bae47c62dfbc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134061
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 21:42:29 +02:00
Mike Kaganski 8189d81564 Use usual 1899-12-30 base Date in Basic
It matches VBA, has an optimization in the code, and doesn't
need any additional "-2" hackery.

Change-Id: I4b90674ae643788eda5ce618b4c42e2cc045ec04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134060
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 19:04:46 +02:00
Mike Kaganski 7c8f27e3d8 sal_Int32 cast to tools::Long to pass to a function taking sal_Int32
Change-Id: I81bb794e6a154dd3d022b34ce1348f32c854f52b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134059
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 17:52:11 +02:00
Stephan Bergmann b5ab864096 Just use Any ctor instead of makeAny in basic
Change-Id: I21d9679064c4e68a1492d3550f083c3c91b5b43b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133848
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-05 07:13:54 +02:00
Noel Grandin 5200a73627 use more string_view in various
found by examining uses of OUString::copy() for likely places

Change-Id: I6ff20e7b273ad6005410b82719183c1122f8c018
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-01 08:30:18 +02:00
Noel Grandin d3849255b7 use more string_view in INetURLObject
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-29 08:53:22 +02:00
Julien Nabet 98f88ac1ff tdf#148651: implement VBA.FormatPercent
I started from a copy/paste of FormatNumber.
Then I deduplicated the code (it saved about 99% of it).

Change-Id: Ibcb9ffbf8cebf45d5ffac4713e3d220b8499ba11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133133
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-04-21 09:59:43 +02:00
Stephan Bergmann f23f594b17 loplugin:stringviewparam
Change-Id: Id3bd8576b134728140dc68b00eebf78a8f3fd4ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133056
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-15 08:38:43 +02:00
Noel Grandin 3e76797384 move comphelper::string::toInt32 to o3tl
so we can use it in places where we cannot include comphelper

Change-Id: Iba0ba3e4c0dcf0f9d1f09092a77c3b2010ec4f6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132732
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08 20:44:43 +02:00
Mike Kaganski ad7b90fc54 Fix build
... after commit 36e0e88b28

Change-Id: I540d19f7146651035cd5fafe077c0ccdfcee11ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132733
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-08 16:39:19 +02:00
Noel Grandin 36e0e88b28 use more subView when converting to Int32
Change-Id: I54e3ddf79ba793fd4328bf8bda7f949b65349651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132693
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08 13:18:41 +02:00
offtkp 6bc187b2eb tdf#147132 Flatten Basic function implementations
Change-Id: I21b0ec23de99aaf9b4398d59a5cc56d7d386ad58
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132444
Tested-by: Jenkins
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-03 12:32:27 +02:00
Noel Grandin 7002caa97e new loplugin:trivialdestructor
look for potentially trivial destructors that can then be elided

Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-11 09:06:06 +01:00
Ramreiso Kashung bcaf132050 tdf#147132: Flatten Basic function implementations
Some SbRtl_* functions have been flattened at basic/source/runtime/methods.cxx

Change-Id: Id56485ddfaa972133c9b199d22b141d93df475f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130206
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-02-22 09:34:20 +01:00
Mike Kaganski 5276177877 tdf#147364: fix function signature to account to calling convention
First, the integer function result is returned in a 64-bit register (RAX),
and truncation it to sal_Int32 breaks any pointer return value.

Second, using explicit (not vararg) first function double argument would
pass it through XMM0, without also copying it to RCX (which is guaranteed
for varargs).

Ref: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention
Change-Id: I08212c44d8690d6910068b13c16af2ce899c94f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129808
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-11 12:56:03 +01:00
Julien Nabet a555aa25bd tdf#147262: CallByName() argument names does not match that of VBA
Change-Id: I3029b98abbe3b8facf01f0e50a7efdff545c2141
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129646
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-02-09 20:41:51 +01:00
VaibhavMalik4187 8b327cd86d tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macro
Change-Id: I4f5258ca5b37e9b1b4237c5d29e4a9e5362fa855
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129116
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-02-06 21:38:32 +01:00
Mike Kaganski 5bd55c22c1 We know the length here
Change-Id: I630b7fbda7c9ebf578e74260a0d67eea32e9e429
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129549
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-06 13:13:49 +01:00
Mike Kaganski af3316b6f6 SbRtl_Spc is exactly the same as SbRtl_Space
Change-Id: I0ccbffef348fc23ef5ca090ec2112abfe333e8e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129332
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-02 18:04:17 +01:00
Mike Kaganski 6c4bc63218 Use OUStringBuffer in SbRtl_FormatNumber
Change-Id: Ie3e187b7dd1329f8fae04042fa6375c4bde3fa57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129331
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-02 16:05:29 +01:00
Mike Kaganski a03b7d2a8d tdf#132388: reimplement fix for tdf#142487
Each call to css::i18n::XTextSearch::SearchForward transliterates input string,
making performance of repeated calls unacceptable. So prepare the transliterated
strings once, and use the offset sequence to map search results to indices into
original string.

Change-Id: Ie08dd5a408aca9a950067db285a480b41a3f9a16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129162
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-01-30 15:19:39 +01:00
Ramreiso Kashung 124059f64a tdf#145614: Convert #define to enum
Change-Id: I1e89d233797461dc363bcd5021cc5347598ffff8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128001
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2022-01-28 12:22:55 +01:00
Julien Nabet c1205c1cf6 Related tdf#146909: add missing IDIGNORE in Basic
Change-Id: Idbbceb2f5375d47c942bab70ce81f7be79b17478
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128780
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-01-22 15:56:25 +01:00
Gabor Kelemen 840b4eb2f3 Recheck modules [a-c]* with IWYU
See tdf#42949 for motivation

Change-Id: I74a3c3a67c3639376e2251c3eb917fa4139dfbd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127808
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-13 08:26:15 +01:00
Andreas Heinisch 35aa82ef1c tdf#145693 - Argument name should be 'charcode' instead of 'string'
In addition, changed argument datatype from Int to Long.

Change-Id: I702e09b6b8061d7cf00dd403e4681a0ab348d4c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128100
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-01-08 11:48:32 +01:00
Noel Grandin 26f46b861d loplugin:flatten in accessibility..basic
Change-Id: If2cc282c2b135d634daf393a082c29049b10a677
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127223
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21 13:43:06 +01:00
Caolán McNamara 70591eb5ef ofz#42182 oss-build failure
since...

commit 47aabde053
Date:   Thu Dec 2 12:37:07 2021 +0200

    Make the tdf#97983 changes to BASIC optional

where LibreOffice6FloatingPointMode is called from
code not inside !HAVE_FEATURE_SCRIPTING

[LNK] Executable/pptfuzzer
basic/source/sbx/sbxvalue.cxx:1343: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvalue.cxx:1328: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvar.cxx:456: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvar.cxx:441: error: undefined reference to 'LibreOffice6FloatingPointMode()'
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [/src/libreoffice/vcl/Executable_pptfuzzer.mk:13: instdir/program/pptfuzzer] Error 1
make: *** [Makefile:170: Executable_pptfuzzer] Error 2

Change-Id: I8e635df26f30edf8acd9c148590d034e8b13c056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126646
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-10 20:50:56 +01:00
Tor Lillqvist 47aabde053 Make the tdf#97983 changes to BASIC optional
If you want to keep the string to floating point conversion semantics
in BASIC as they were in LibreOffice 6, you can either set the
LIBREOFFICE6FLOATINGPOINTMODE environment variable to some non-empty
value, or set the org.openoffice.Office.Scripting/Basic/Compatibility/
UseLibreOffice6FloatingPointConversion flag in the Expert
Configuration. (Or use a registry modification file with that effect.)

Adapt the relevant unit test accordingly. Thanks to Mike Kaganski for
showing how to access the setting in the LibreOffice registry from
Basic.

Change-Id: I13d6d5d834e1bb81ef8df489db2b1da79f01dfc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125756
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-12-09 12:06:49 +01:00
Noel Grandin ec1c4c4930 O[U]String::replaceAt overloads that take string_view
which results in lots of nice string_view improvements picked up by the
plugins

Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-23 14:00:08 +01:00
Mike Kaganski 37429f2690 Use M_PI* instead of F_PI*
Change-Id: Ie2b7a1c74fc516781a17a20157b8217bc41e383d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125504
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-19 09:59:43 +01:00
Mike Kaganski fffc6b40b9 Drop unused argument names, and (void) noise
Change-Id: I75f313924db7d6a0658f9d7cc1d571767cec3144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125364
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-18 13:05:44 +01:00