The lambda user who makes use of macros written by a third party will
have a real problem. When a library crashes because of a missing closing
parenthesis while it still works, and that in addition, the library will
be locked and nobody will remember the password ...
I think the only way out will be to orient the user to the "Do not check
Basic syntax strictly" option (I agree with Jean-Pierre for a less
cryptic term). But the option must remain accessible via the LO options
interface and not via the IDE. The implementation of the option will
have to be closely monitored to ensure its deprogramming (after all, it
is a crutch) and it should be reserved for strict cases of transition to
an interpreter StarBasic cleaner.
Pegards,
Pierre
2017-06-29 6:12 GMT-04:00 Jean-Pierre Ledure <jp@ledure.be
<mailto:jp@ledure.be>>:
The default bahaviour of any Basic interpreter should be IMHO to
check the syntax as strictly as possible.
On the other side tons of legacy Basic sources will not compile
anymore, - including the Basic libraries (Access2Base, ...)
delivered with LO unless they're patched on time !
I do support Pierre's proposal to have an option to (temporarily)
*uncheck* the strict syntax checking,
However
- the option should be easily visible and accessible from the Basic
IDE (f.i. not after having checked "enable experimental features"
first ...)
- the text of the option should be less cryptic then "StarBasic
Pragma Strict", but preferably something like "Do not check Basic
syntax strictly"
- Release Notes and help pages should inform the users in detail
- the option should remain during a long enough period of time
JP
Le 28/06/17 à 13:08, Kaganski Mike a écrit :
On 6/28/2017 2:03 PM, Stephan Bergmann wrote:
On 06/28/2017 12:12 PM, Pierre Lepage wrote:
The solution brings a lot of hassle for customers of the
LibreOffice
suite whose work relies on the performance of StarBasic
macros written
by third parties. Macros containing code in error by the
absence of a
closing parenthesis suddenly cease to function. For this
reason, the
patch has not been released. Here I want to explore a
transitional
solution by getting your feedback first. This is to
include in
StarBasic options dialog accessible to the client a
"StarBasic Pragma
Strict" option (checkbox) by which the client
consciously activates
the solution (the patch that has not been published!).
This check box
would be available for a few years with a warning to prompt
programmers and customers to require their programmer to
correct their
default code on the closing parenthesis.
Another option might be to have some form of such a pragma
in individual
BASIC source files, instead of as an IDE option. (And have
the pragma
enabled in the "REM ***** BASIC ****** Sub Main ... End Sub"
boilerplate
that is automatically present in a fresh source file.) That
way, users
could enable it for their own, new code, while (implicitly)
keeping it
off for non-conforming old, 3rd-party code.
I'd suggest also a special handling of "Compile" IDE command. It
should
always use strict parsing method. As it is a developer's tool,
used when
something is created anew, it would help all developers catch the
problem early even when they don't know the strict option
(wherever it be).
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
<mailto:LibreOffice@lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/libreoffice
<https://lists.freedesktop.org/mailman/listinfo/libreoffice>
Context
- Fwd: Re: LO 80731 - Incorrect syntax does compile, MID without end bracket · Pierre Lepage
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.