Bug 77291 - IDE: No way to break out of repeated syntax errors
Summary: IDE: No way to break out of repeated syntax errors
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version: 4.1.3.2 release
Hardware: Other Linux (All)
: medium normal
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard: BSA
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-10 22:05 UTC by ge.huber
Modified: 2014-04-22 14:53 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
File which does not compile (but rhym, obviously) (8.84 KB, application/vnd.oasis.opendocument.spreadsheet)
2014-04-10 22:05 UTC, ge.huber
Details

Description ge.huber 2014-04-10 22:05:19 UTC
Created attachment 97198 [details]
File which does not compile (but rhym, obviously)

Problem description: 

Steps to reproduce:
1. open file compile-bug-demo.ods
2. you get the same syntax error three times already 
3. pull the formula from B2 down to line 10 get more errors

Current behavior:

No way to stop the repeated attempts to compile the faulty module. Image making the slightest error in a file which uses user defined functions in hundred of places. It practically forces you to sigkill the application to get out of "modal-dialog-button-press"-hell.

Expected behavior:

Giving me a chance to break out of this. I know I made an error. I'm willing to repent and correct myself. Really I am, just give me a f***ing chance.
Operating System: Ubuntu
Version: 4.1.3.2 release
Comment 1 Julien Nabet 2014-04-12 23:19:11 UTC
On pc Debian x86-64 with master sources updated today, I can reproduce this.

Noel: bug or enhancement?
Anyway, it's relevant indeed to not repeat n times the syntax error
Comment 2 Noel Power 2014-04-14 08:44:25 UTC
This has been the unfortunately the situation as long as I remember (happens under certain circumstances) it sounds like an enhancement to me if the errors involved ( and I did not check ) are indeed compile time errors, in that case it should in theory be possible to date/time check the source to limit the errors issues for a single invocation. However there are a couple of things to note:
a) what sounds like a compile error may not be, the basic compiler is so crummy that it does resolve many things on the fly ( e.g at run time ) and as you might imagine if the error is generated in the 'execute' cycle distinguishing such an error from a normal 'run-time' error may be incredibly difficult (if not impossible)
b) I see that formulas are mentioned so I presume that a macro is being invoked from a cell function ( or the cell function is a macro), in this case the execution is outside the control of basic ( e.g. the macro is fired from calc ) calc can and does decide to fire macros wrt to formulas for its own reasons (usually to do with dependency recalculations) and sometimes IIRC even when redrawing the document ( possibly that is a separate error itself ) so it may be the number of errors might be reduced but apparent duplicated errors may not be eliminated entirely
c) there are still some nasty situation where macros bound to ui events can have some horror effects, macro bound to focus events come to mind, you can ( and I have unfortunately managed to do this ) set up a scenario where dismissing the error dialog triggers the macro which triggers the error dialog again ( and repeat forever.... )
Comment 3 ge.huber 2014-04-22 14:53:22 UTC
> b) I see that formulas are mentioned so I presume 
> that a macro is being invoked from a cell function 
> ( or the cell function is a macro), 

That's true.

Well, I have only the faintest idea, what you guys are doing, so I only have a wild guess.

Would it be possible, to fork the complete office whenever I press the compile button and give the error dialog a second button, which just kills this fork. I.e. would it be possilbe to do quick 'n dirty in memory, what I'm doing form the outside, by killing and restarting from disk? If the compile ends regularlly however the waiting fork should be killed.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.