Fwd: Re: LO 80731 - Incorrect syntax does compile, MID without end bracket
Pierre Lepage
pierrelepage3 at gmail.com
Tue Jul 4 21:49:23 UTC 2017
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 at ledure.be
<mailto:jp at 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 at lists.freedesktop.org
<mailto:LibreOffice at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/libreoffice
<https://lists.freedesktop.org/mailman/listinfo/libreoffice>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20170704/6f45bdd0/attachment.html>
More information about the LibreOffice
mailing list