Commit Graph
5142 Commits
Author SHA1 Message Date
Noel Grandin ac9eaf5d11 use less dynamic_cast when broadcasting SfxHint
Change-Id: If4d33cbbf36a9ad495b80a7347b39d0f4bc0405e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172857
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-09-05 08:10:26 +02:00
Mike Kaganski bb169c209c Fix ImpCurrencyToString to handle SAL_MIN_INT64
It can't be negated; so avoid the negation, and skip the minus in the
string result. Also, avoid needless creation of OUString.

Change-Id: If867c189b2ffd2794a58f66fd2511004ed4fc25a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172733
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-09-02 12:53:32 +02:00
Mike Kaganski 7bbf1f2a7d Refactor ImpCurrencyToString for simplicity
Change-Id: Ie7acafb3c81348f03340f1aaa53b3849c8dae4a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172694
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-09-01 04:06:52 +02:00
Mike Kaganski a795fddafa tdf#162724: use localized decimal separator in ImpCurrencyToString
Same as in ImpCvtNum

Change-Id: Icbaa237e944a39309b01fdb18e668d054ff61c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172693
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-01 04:06:40 +02:00
Mike Kaganski 712bddcec5 Move variables into their usage scope
Change-Id: I8d708ecdc94c19069d955b19daf1a5c5c4bc2f45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172584
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-31 08:04:37 +02:00
Mike Kaganski 1ecde0f5d1 Simplify default ImpScan usage
Drop LibreOffice6FloatingPointMode, and move the check introcuced in
commit 47aabde053 (Make the tdf#97983
changes to BASIC optional) into a simplified ImpScan overload.

Change-Id: Ibef723878179113a5403d2a3c55ded9df9cb292d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172595
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-30 07:34:31 +02:00
Caolán McNamara 2b4734c8a4 SbClassModuleObject never take a non-null arg
Change-Id: I1be4710a32355c104ba25005ec4f46c6f650b9c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172443
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-27 09:41:48 +02:00
Caolán McNamara 740194221e use a shared_ptr for SbiBreakpoints pBreaks as well
Change-Id: I3dec5ffe5fdf937d761c902970a94b73878a2cd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172441
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-27 09:41:41 +02:00
Caolán McNamara 0fb841d90a cid#1554789 Different smart pointers managing same raw pointer
lets just use a shared_ptr here

Change-Id: I31ec113da2c060e8b89ea4e438d182f0f22e810f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172440
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-27 09:41:24 +02:00
Mike Kaganski af15f1eb66 Simplify a bit
Change-Id: Ibe34a1c17d856146d191e784af06b8cb6301b912
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172007
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-18 10:53:25 +02:00
Mike Kaganski fa8a0f514a Related: tdf#132064 Use set to clear the With internal variable
In commit f3f46b5fe7 (tdf#132064: make
With statement only evaluate its argument once, 2024-08-17), I made
a mistake, clearing the internal variable in the end of SbiParser::With
using an Erase call, which does not just clears the variable itself,
but destroys the underlying object, which is not what we need.

I don't know how to refer to a global Nothing object to assign to the
variable; so just create an own internal Nothing, and use it in the
assignment.

Change-Id: Ic8ce52e0402d8461a9b9e4ee07614c4f0a46a95e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172006
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-18 10:26:26 +02:00
Mike Kaganski afb46ee880 tdf#150458: evaluate for loop's end and step once in VBA support mode
As required by [MS-VBAL], and actual VBA implementation.
It is a question if we also need to change it likewise in other
modes (normal, compatible) - see tdf#150460.

Change-Id: I1e83d57fe4be3bf264a64fe977909cf7684bc798
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172005
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-18 09:08:49 +02:00
Mike Kaganski e431700876 Move the check out of the loop
Change-Id: I151ac6399d2cc5870971f258614480fcbdff5c82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171979
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-17 22:37:15 +02:00
Mike Kaganski f3f46b5fe7 tdf#132064: make With statement only evaluate its argument once
This is implemented by creating a unique variable at entry of the
block, using it as the "with parent", and clearing afterwards. It
uses an invalid name, so can't be used by a user. The  generation
of the bytecode is done in compatible way;  only existing opcodes
were used (which was the reason to choose the implementation with
a variable), so compiled binaries in password-protected libraries
are expected to work with older versions.

The functional changes are:

1. The argument of With statement is evaluated immediately at the
start of the block; previously, it evaluated first time, when the
leading dot operator was used,  and could even be never evaluated,
if the operator wasn't used. This is consistent with VBA, and has
a benefit that the lifetime of the object  is guaranteed to cover
the whole block (might be useful if other block statements depend
on the object, similar to Python's 'with' statement contexts).

2. The primary goal of the change: it is only ever evaluated once,
no matter how many times was the dot operator used in the block.

Change-Id: I4dbd520538a57e3668ab706e8f45740db5d33393
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171980
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-17 22:18:18 +02:00
Caolán McNamara 437412d79b cid#1557980 COPY_INSTEAD_OF_MOVE
and

cid#1557869 COPY_INSTEAD_OF_MOVE
cid#1557807 COPY_INSTEAD_OF_MOVE
cid#1557804 COPY_INSTEAD_OF_MOVE
cid#1557799 COPY_INSTEAD_OF_MOVE
cid#1557781 COPY_INSTEAD_OF_MOVE
cid#1557781 COPY_INSTEAD_OF_MOVE
cid#1557766 COPY_INSTEAD_OF_MOVE
cid#1557746 COPY_INSTEAD_OF_MOVE
cid#1557737 COPY_INSTEAD_OF_MOVE

Change-Id: I1866c576f525ea697c62e9e0a96890e5fdaa780f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171795
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14 09:27:19 +02:00
Caolán McNamara d7056b1456 cid#1558088 COPY_INSTEAD_OF_MOVE
and

cid#1558080 COPY_INSTEAD_OF_MOVE
cid#1558077 COPY_INSTEAD_OF_MOVE
cid#1558055 COPY_INSTEAD_OF_MOVE
cid#1558043 COPY_INSTEAD_OF_MOVE
cid#1558039 COPY_INSTEAD_OF_MOVE
cid#1558015 COPY_INSTEAD_OF_MOVE
cid#1558014 COPY_INSTEAD_OF_MOVE
cid#1558009 COPY_INSTEAD_OF_MOVE
cid#1558002 COPY_INSTEAD_OF_MOVE
cid#1557998 COPY_INSTEAD_OF_MOVE
cid#1557996 COPY_INSTEAD_OF_MOVE
cid#1557990 COPY_INSTEAD_OF_MOVE
cid#1557986 COPY_INSTEAD_OF_MOVE
cid#1557980 COPY_INSTEAD_OF_MOVE
cid#1557971 COPY_INSTEAD_OF_MOVE
cid#1557968 COPY_INSTEAD_OF_MOVE
cid#1557967 COPY_INSTEAD_OF_MOVE
cid#1557961 COPY_INSTEAD_OF_MOVE
cid#1557959 COPY_INSTEAD_OF_MOVE
cid#1557958 COPY_INSTEAD_OF_MOVE
cid#1557956 COPY_INSTEAD_OF_MOVE
cid#1557953 COPY_INSTEAD_OF_MOVE
cid#1557949 COPY_INSTEAD_OF_MOVE
cid#1557947 COPY_INSTEAD_OF_MOVE
cid#1557940 COPY_INSTEAD_OF_MOVE
cid#1557931 COPY_INSTEAD_OF_MOVE
cid#1557930 COPY_INSTEAD_OF_MOVE
cid#1557915 COPY_INSTEAD_OF_MOVE
cid#1557913 COPY_INSTEAD_OF_MOVE
cid#1557910 COPY_INSTEAD_OF_MOVE
cid#1557886 COPY_INSTEAD_OF_MOVE
cid#1557884 COPY_INSTEAD_OF_MOVE
cid#1557880 COPY_INSTEAD_OF_MOVE
cid#1557875 COPY_INSTEAD_OF_MOVE
cid#1557871 COPY_INSTEAD_OF_MOVE
cid#1557862 COPY_INSTEAD_OF_MOVE
cid#1557847 COPY_INSTEAD_OF_MOVE
cid#1557845 COPY_INSTEAD_OF_MOVE
cid#1557844 COPY_INSTEAD_OF_MOVE
cid#1557843 COPY_INSTEAD_OF_MOVE
cid#1557838 COPY_INSTEAD_OF_MOVE
cid#1557835 COPY_INSTEAD_OF_MOVE
cid#1557834 COPY_INSTEAD_OF_MOVE
cid#1557828 COPY_INSTEAD_OF_MOVE
cid#1557823 COPY_INSTEAD_OF_MOVE
cid#1557817 COPY_INSTEAD_OF_MOVE
cid#1557813 COPY_INSTEAD_OF_MOVE
cid#1557812 COPY_INSTEAD_OF_MOVE

Change-Id: I55d4a920daa2d148683419169eb828325fd3c757
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171732
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-11 20:14:54 +02:00
Alain Romedenne 54b642f4b8 VBA QA new unit test for IF THEN statement
Intent is to cover:
- EndIf / End If equivalence
- repeating ElseIf blocks
_ nested IF statements
- IF THEN one liner

Change-Id: I667f0381529afcc82fc44ae461081f7ba84b01d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171352
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-05 11:19:47 +02:00
Caolán McNamara 1b61a652c1 cid#1556583 COPY_INSTEAD_OF_MOVE
and

cid#1556585 COPY_INSTEAD_OF_MOVE
cid#1556588 COPY_INSTEAD_OF_MOVE
cid#1556593 COPY_INSTEAD_OF_MOVE
cid#1556597 COPY_INSTEAD_OF_MOVE
cid#1556605 COPY_INSTEAD_OF_MOVE
cid#1556617 COPY_INSTEAD_OF_MOVE
cid#1556635 COPY_INSTEAD_OF_MOVE
cid#1556790 COPY_INSTEAD_OF_MOVE
cid#1556792 COPY_INSTEAD_OF_MOVE
cid#1556796 COPY_INSTEAD_OF_MOVE
cid#1556799 COPY_INSTEAD_OF_MOVE
cid#1556815 COPY_INSTEAD_OF_MOVE
cid#1556836 COPY_INSTEAD_OF_MOVE
cid#1556840 COPY_INSTEAD_OF_MOVE
cid#1556842 COPY_INSTEAD_OF_MOVE
cid#1556859 COPY_INSTEAD_OF_MOVE
cid#1556860 COPY_INSTEAD_OF_MOVE
cid#1556866 COPY_INSTEAD_OF_MOVE
cid#1556869 COPY_INSTEAD_OF_MOVE
cid#1556870 COPY_INSTEAD_OF_MOVE

Change-Id: I3df8698a4aecbb03999c084517e37e12ff46ee97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171435
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-04 15:38:31 +02:00
Mike Kaganski 45290d41fb Clarify MsgBox buttons handling code
Change-Id: I0095b4b5312c851f1f64ec013c64f26e1b24ce09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171454
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-04 06:45:14 +02:00
Mike Kaganski b76af7f488 Refactor basic methods representing constants
Makes them more comprehensible; uses semantic names instead of magic
numbers. Added comments to the constants that are unclear.

Change-Id: Ifcb8a0d93ce057b8af08859b87ad3af8c67479e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171443
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-03 21:00:23 +02:00
Caolán McNamara 7f9f32aa11 cid#1556472 COPY_INSTEAD_OF_MOVE
and

cid#1556481 COPY_INSTEAD_OF_MOVE
cid#1556486 COPY_INSTEAD_OF_MOVE
cid#1556491 COPY_INSTEAD_OF_MOVE
cid#1556507 COPY_INSTEAD_OF_MOVE
cid#1556515 COPY_INSTEAD_OF_MOVE
cid#1556518 COPY_INSTEAD_OF_MOVE
cid#1556519 COPY_INSTEAD_OF_MOVE
cid#1556533 COPY_INSTEAD_OF_MOVE
cid#1556536 COPY_INSTEAD_OF_MOVE
cid#1556559 COPY_INSTEAD_OF_MOVE
cid#1556577 COPY_INSTEAD_OF_MOVE
cid#1556581 COPY_INSTEAD_OF_MOVE

Change-Id: I2ad2f2194e2a89c7246e8742b2fc8be7580e38c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171394
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-02 17:27:10 +02:00
Caolán McNamara d5ad9c0777 cid#1556086 COPY_INSTEAD_OF_MOVE
and

cid#1556087 COPY_INSTEAD_OF_MOVE
cid#1556093 COPY_INSTEAD_OF_MOVE
cid#1556094 COPY_INSTEAD_OF_MOVE
cid#1556105 COPY_INSTEAD_OF_MOVE
cid#1556121 COPY_INSTEAD_OF_MOVE
cid#1556184 COPY_INSTEAD_OF_MOVE
cid#1556399 COPY_INSTEAD_OF_MOVE
cid#1556405 COPY_INSTEAD_OF_MOVE
cid#1556419 COPY_INSTEAD_OF_MOVE
cid#1556421 COPY_INSTEAD_OF_MOVE
cid#1556444 COPY_INSTEAD_OF_MOVE
cid#1556448 COPY_INSTEAD_OF_MOVE
cid#1556457 COPY_INSTEAD_OF_MOVE
cid#1556468 COPY_INSTEAD_OF_MOVE

Change-Id: I1f352682daebd4e3ed2e7fe669aa0943dcc33edd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171372
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-08-02 10:05:45 +02:00
Alain Romedenne 0a9135e0d9 Basic QA new unit test for IF THEN statement
Intent is to cover:

- repeating ElseIf blocks
_ nested IF statements
- IF THEN one liner

Change-Id: Iee37707e26a563f336438ce7ba17271a7f06e6fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171285
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-01 10:04:02 +02:00
Caolán McNamara 8f008bf4b9 cid#1554812 COPY_INSTEAD_OF_MOVE
and

cid#1555227 COPY_INSTEAD_OF_MOVE
cid#1555329 COPY_INSTEAD_OF_MOVE
cid#1555384 COPY_INSTEAD_OF_MOVE
cid#1555387 COPY_INSTEAD_OF_MOVE
cid#1555399 COPY_INSTEAD_OF_MOVE
cid#1555400 COPY_INSTEAD_OF_MOVE
cid#1555406 COPY_INSTEAD_OF_MOVE

Change-Id: I85dc45e2686c6b3e8b97a23872cb26416edc27c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171178
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-29 14:50:38 +02:00
Noel Grandin 1bbcc3fdf3 O[U]String overloads that return view for rest parameter
Add new overloads to OUString methods that have a
"OUString* rest" style parameter.

Instead return a view, which does not require allocation.

To avoid overload ambiguity, split the methods into
different variants that do not use default parameters.

Change-Id: I1aa366115750f1f7ea4fe665804195f59f7c4b69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167632
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-07-25 13:29:11 +02:00
Caolán McNamara 8a83a62410 cid#1555167 COPY_INSTEAD_OF_MOVE
and

cid#1555172 COPY_INSTEAD_OF_MOVE
cid#1555184 COPY_INSTEAD_OF_MOVE
cid#1555188 COPY_INSTEAD_OF_MOVE
cid#1555197 COPY_INSTEAD_OF_MOVE
cid#1555209 COPY_INSTEAD_OF_MOVE
cid#1555211 COPY_INSTEAD_OF_MOVE
cid#1555215 COPY_INSTEAD_OF_MOVE
cid#1555216 COPY_INSTEAD_OF_MOVE
cid#1555217 COPY_INSTEAD_OF_MOVE
cid#1555218 COPY_INSTEAD_OF_MOVE
cid#1555222 COPY_INSTEAD_OF_MOVE
cid#1556674 COPY_INSTEAD_OF_MOVE
cid#1555229 COPY_INSTEAD_OF_MOVE
cid#1555233 COPY_INSTEAD_OF_MOVE
cid#1555234 COPY_INSTEAD_OF_MOVE
cid#1555242 COPY_INSTEAD_OF_MOVE
cid#1555250 COPY_INSTEAD_OF_MOVE
cid#1555251 COPY_INSTEAD_OF_MOVE
cid#1555254 COPY_INSTEAD_OF_MOVE
cid#1555304 COPY_INSTEAD_OF_MOVE
cid#1555307 COPY_INSTEAD_OF_MOVE
cid#1555317 COPY_INSTEAD_OF_MOVE
cid#1555329 COPY_INSTEAD_OF_MOVE
cid#1555340 COPY_INSTEAD_OF_MOVE
cid#1555347 COPY_INSTEAD_OF_MOVE
cid#1555352 COPY_INSTEAD_OF_MOVE
cid#1555358 COPY_INSTEAD_OF_MOVE
cid#1555363 COPY_INSTEAD_OF_MOVE
cid#1555365 COPY_INSTEAD_OF_MOVE
cid#1555367 COPY_INSTEAD_OF_MOVE
cid#1555374 COPY_INSTEAD_OF_MOVE
cid#1555380 COPY_INSTEAD_OF_MOVE

Change-Id: I343194c10749488a1143e2517ee0638ab19da218
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170888
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-23 21:58:02 +02:00
Gabor Kelemen e1a351ca19 Remove now unneeded osl/diagnose.h
followup to commit 57c228803e

Change-Id: Iebfb23bb65e2bf898bf27f367cc9641f47a14cf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167998
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2024-07-20 10:20:31 +02:00
Caolán McNamara 68b782a279 cid#1607572 silence bogus Copy-paste error
Change-Id: Id8355a033089a47299d76e1743b7da5a1b4a5d5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170454
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-14 18:26:13 +02:00
Andrea Gelmini 102cbf4626 Fix "lets" -> "let's"
Change-Id: I01968fc18b093dbbc27213f01c3da38ae151c62c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169748
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
Tested-by: Jenkins
2024-06-29 17:22:12 +02:00
Andrea Gelmini 431e3d8a52 Fix typo
Change-Id: Ib6bfd1938d8d2da3d3aa9ccbb7b80750c4671f39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169279
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2024-06-20 19:22:44 +02:00
Stephan Bergmann 321284dde9 -Werror,-Wunused-function
Change-Id: I11af8dfbcdda6bbb77f2ccfaf2c994492bc3f807
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169282
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-06-20 18:32:31 +02:00
Andreas Heinisch 8730575016 tdf#161469 - Basic: align implementation now with the now function in calc
Align the implementation of the now function in basic with the now function in calc to include the also nanoseconds. The precision is limited to milliseconds to avoid comparision inaccuracies.

Change-Id: Ia85b653898f5849f67a171749725faab976b2a8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168706
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-06-20 14:36:50 +02:00
Andreas Heinisch 2b6caa40d6 tdf#160321 - Added missing VB test
Change-Id: I4019599aa9d7803a63e4270b06841915ea428392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168637
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-06-10 17:50:33 +02:00
Andreas Heinisch 84e8758d42 tdf#160321 - Don't execute jump statement if the expression is out of range
Don't execute On expression GoSub Statement; On expression GoTo
Statement if the expression lies out of range.

Change-Id: I5c1de25918b5e812d7ec82034f8d56351374d56a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165960
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2024-06-10 13:52:00 +02:00
Noel Grandin 7d6e751faa loplugin:ostr basic
Change-Id: Ie5fc4676bd1cab2c0417b479bf08dda00936469a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167191
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-06 13:56:49 +02:00
Arnaud VERSINI a123c5b39a basic : use more OUString literals
Change-Id: I38f57c64c0d110e892982eaed2619c0915fe93b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166825
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Arnaud Versini <arnaud.versini@pm.me>
2024-05-05 14:44:04 +02:00
Arnaud VERSINI 7ab8d33522 basic : use std::u16string_view and new OUString literal
Change-Id: Id3cd708b98e1b0551955562afe3ac594bdc6e50a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167153
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Arnaud Versini <arnaud.versini@pm.me>
2024-05-05 13:42:05 +02:00
Caolán McNamara 41590e7d1f WaE: C6011 Dereferencing NULL pointer warnings
Change-Id: I8edb1fefe1b2b8a3db3ee8f3a0eed59c7f08a36e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166863
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-05-02 09:24:11 +02:00
Noel Grandin 6c4760f89c use more OUString literal in getBasicTypeName
Change-Id: I6e307e4387cbecac6391000b9ca7e632b2152b24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166979
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-02 08:18:59 +02:00
Stephan Bergmann 8d775b9259 Use Windows dllmgr-x64 also for aarch64
At least, CppunitTest_basic_macros CPPUNIT_TEST_NAME=Coverage::Coverage_Iterator
(which exercises it in basic/qa/basic_coverage/test_declare_from_dll.bas)
succeeds.

Change-Id: Ife90d5b84d5fb7bb4948cfeaf48180a6929a1dff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166695
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-04-26 12:43:59 +02:00
Luv Sharma a400c865a6 tdf#93727 Syntax Error on # in basic
Change-Id: I400a4061de580a5c91b0e4763cad40ae88a9f738
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162639
Tested-by: Jenkins
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-04-22 16:05:53 +02:00
Tuukka Orava f3d0a184c4 tdf#147132 Flatten Basic function implementations
Change-Id: I077e042c82cbefd1d46db5ca8d5983a0870a296c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165903
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-09 10:51:14 +02:00
AmandaQuaresmaCoutinho bb89fe7ab6 tdf#147132 Flatten Basic function implementations
Change-Id: Ife7a94cdfa8b31ba2a2bcbdf28c9620bbc5348ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165641
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-04-08 19:29:34 +02:00
Mike Kaganski f2482fd96e Simplify VBALikeToRegexp a bit
This cleans up some unnecessary escaping both
inside and outside [] groups.

Change-Id: I5abcf0fce634f0d8809bf4d318f61b8c8f69a318
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165703
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-03 04:35:10 +02:00
Mike Kaganski 38f731ff67 tdf#160478: fix Basic LIKE operator
1. The regex must match the whole input. Thus, the ^ and $ metacharacters
   must be replaced with \A and \z, which only match beginning and end of
   input, not any line start / end.
2. The * and ? metacharacters of LIKE must match newline character; thus,
   search flags must include UREGEX_DOTALL. To avoid changing TextSearch
   implementation, I use icu::RegexMatcher directly.

The direct use of icu::RegexMatcher also allowed to simplify the code by
calling icu::RegexMatcher::matches method.  This may perform better than
general-purpose utl::TextSearch::SearchForward.

Change-Id: I75776498b36f236da294462362ed5b36ed8cdf68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165700
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-02 19:47:35 +02:00
Gabor Kelemen 49a6a81965 tdf#146619 Drop unused 'using namespace' in: basic/
Change-Id: I55bd0c89880dd97307dde5a5b670e63f3ea66355
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165536
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-04-02 08:32:46 +02:00
Noel Grandin d547ad7755 convert NameContainer to comphelper::WeakImplHelper
Change-Id: If89ee5bf200affc04704b7f075f25cbf599c1e62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165494
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-29 07:41:58 +01:00
U-Aarons_Laptop\Aaron 26c30fd77b tdf#147132: Flatten Basic function implementations
Change-Id: I9fcbc87b7ce01d96ffb45ddd3a525831c7cdcdaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165357
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-03-27 11:48:19 +01:00
Arnaud VERSINI 68b73e7a29 basic : use OUstring literal for XServiceInfo implementation
Change-Id: Ic4501ec887bb3f1249ab4a8da1eae07f6b2a22ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164305
Tested-by: Jenkins
Reviewed-by: Arnaud Versini <arnaud.versini@pm.me>
2024-03-11 08:32:32 +01:00
Mike Kaganski 1ac5353bbb Use weak reference to SfxObjectShell in SfxEventHint to avoid use-after-free
The events may be processed after the shell has been destroyed. This is
happening reliably after commit e2bfc34d14
(Reimplement OleComponentNative_Impl to use IGlobalInterfaceTable,
2024-03-11) when controlling LibreOffice from external Java scripts; but
obviously, it could happen before as well.

Now SotObject inherits from cppu::OWeakObject, instead of SvRefBase.

Change-Id: I73a3531499a3068c801c98f40de39bdf8ad90b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164458
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-11 04:43:28 +01:00