BLIde update available (version 0.8.17)

BlitzMax Forums/BlitzMax Programming/BLIde update available (version 0.8.17)

ziggy(Posted 2007) [#1]
Hello to everybody, this is the latest BLIde update. For newcomers, BLIde is an Integrated Development Environment for BlitzMax (for windows).

For more information, take a look at http://www.blide.org

This is the changelog for this version:

0.8.17 version (major changes:)

* Improved parser speed (still has tje slow Actipro Parser, a bigger improvement is being developed)

* Improved building of the dependencies trees. It is now a bit faster and detects multiline comments properly (thanks to Gabriel)

* New function on the Start Menu (Start BLIde with refreshed modules cache)

* BLide now adds a timestamp in the filename of the temporal bmx files. This way fixes a Vista virtualization issue qhen running BLIde from a non administrative account. Anyway, it is highly recomended to use an administrative account to run BLIde.

* Fixed an outlining (folding) bug with the End While keyword. (thanks to cygnus)

* Added some messages to the console window when a project is being loaded. (In case a project fails to load, it will be easiest for me to detect where the problem was happening and fix it).

* Fixed a bug when loading a project in non administrative accounts under vista could cause BLIde to freeze

* Fixed a little memory leak

* Several improvements to intellisense

* Little improvement to the 'jump to definition' algorithm. Now detects properly methods and functions inside modules without the need of a self. or super. prefix.

* Some improvements to the summary keyword. Now accepts the <br> symbol as a carrier return when the info is displayed in the tooltip control.

* Fixed a bug with intellisense when the AutoList was not being shown when the caret was next to a closing parenthesis

* Changed the preferences dialog button colors

* Updated the parser generator so that it generates ID base constants for non-abstract AST nodes.

* Fixed a bug introduced in a previous build where replacing all the text of an indicator that should be able to expand on boundaries would remove the indicator.

* Fixed a bug in the semantic parser service that would always wait the full delay time when calling WaitForParse.

* Tweaked how the selection changes when two SyntaxEditors are editing the same document.

* Tweaked the scrollbar auto-hide code.

* Fixed a bug with inserting snippets that surround a selection where a field after the selection could be offset incorrectly if the selection had multiple lines.

* Fixed a bug with indent/outdent commands where when playing back a recorded macro, they would always indent/outdent the line instead of possibly inserting/deleting a tab character.

* Fixed a bug where a disappearing span indicator could throw and exception after a deletion in a certain scenario.

* Fixed a bug where indicators that can expand on boundaries did not expand at their start in a certain scenario.

* Fixed a bug where auto-correction made after the Enter key is pressed and using a variable-width font wouldn't always update the layout of the characters property.

* Improved pipe communications performance between BLIde and the debuged application.

* Fixed a reentrant bug with the BLIde debuger when the debuging information was too big to be properly handled with a pipe size of 4096 KBytes

* Fixed a Bug in the user colors selector that was not coping corretly RGB values to clipboard.




BLIde Plus:


* Integration of the new BLIde Professional Publisher version (0.0.6):

* This new version let's you activate the Windows XP or Vista visual styles without having to supply any nasty manifest file. The EXE generated has natively this styles. It also adds properly the icon as the default icon for any created window in the running application.



NOTE: To activate the BLIde Plus add-on, you will require a BLIde Plus license. To get a BLIde Plus license, go to the Add-Ons section of the BLIde website. http://www.blide.org/nueva/addons.htm


GfK(Posted 2007) [#2]
Oh balls!

I've only just this minute updated to 0.8.16!

*punches Ziggy in the ovaries*

:)


ziggy(Posted 2007) [#3]
I forgot to mention there is also a update for the BLIde Professional Publisher, so any interested BLIde Plus user may take it a look. (now it integrates Windows XP Styles to any GUI application (customizable)).

in addition:
TO VISTA USERS
BLIde has to be run under an administrative account if you don't want to experience some inconsitences with the virtualization performed by Vista when dealing with files.


H&K(Posted 2007) [#4]
Another update???????

Any joy on fixing the Tab to standard size in non mono spaced fonts?

LOL @GFK


ziggy(Posted 2007) [#5]
Well, I'm trying to release one update per month more or less.
Tab size is calculated in spaces. You can use non fixed size fonts and it'll work ok. The problem is mixing different fonts in the same documents. Then the tab size can be different for every font used in the document.


H&K(Posted 2007) [#6]
It used to be calculated in Chr spaces, now its calculated in Chars

I did post loads when you changed it
http://www.blitzmax.com/Community/posts.php?topic=65317#729389

Pick a non mono spaced font Do
I(tab)I(tab)I(tab)I(tab)I(tab)I
i(tab)i(Tab)i(tab)i(tab)i(tab)i

in 0.7 Blides evey I and i are lined up, they dont now.

ii (TAB) P
WW (TAB) P

In 0.7.61 the first P would be at the first Tab position, and the second P at the second Tab position
However in 0.8, Both Ps are at the first Tab position, they are just in different places. That is TAB is no longer absolute. It used to be (for example),"Four spaces" or a multiple thereof, but now its ii and two spaces, and WW and two spaces respectivly


siread(Posted 2007) [#7]
Sorry Ziggy, but the Vista crash is still happening when opening a project file. I'm using an Admin account.

I'm not sure how to get the Vista error report to kick in, but I'll try to get one for you.


SebHoll(Posted 2007) [#8]
Regarding the crash siread and I are getting when loading project files, I am still getting the same problem too. I needed a break so I made a back up and removed each of the source files one by one. After trying all different combinations, it seems that, of the 15 imports, it's the 4 relatively large ones (>=17KB) that cause the crash. If I include the 17KB one, then it goes from loading immediately, to taking about 25 seconds until BliDE becomes responsive. The others, which are 32, 44 and 98KB take considerably longer, and when I include them all, I leave it for a while and it never loads.


ziggy(Posted 2007) [#9]
siread: Your having a crash or you're getting BLIde hung when loading large files? Splitting files may fix it, I think this will be solved with the new parser.

In current version, the console outputs what is being done in the loading phase. Can you see if it is hung up when loading a speciffic file? It only happens if there hasn't been any file opened before?


SebHoll(Posted 2007) [#10]
Didn't notice that... OK - in the console, it reports all the source files as loaded and a line underneath each one saying "tree" and then the name of the source file.

What happens then, is that BliDE becomes unresponsive, and nothing can be seen in the Local Shortcuts pane, until anywhere from a few seconds, to more than an hour later, depending on which source files I've excluded.

Tried again this morning, and as a last resort, I changed the order in which the source files are imported/included in the source file and it dramatically improved the loading time and I don't have to exclude anything.


ziggy(Posted 2007) [#11]
mmm, can you tell me wich CPU usage is being used, and if the local shortcuts tree is blank?


SebHoll(Posted 2007) [#12]
BLIde is running 100% on one of the CPU cores, and I confirm the Local Shortcuts tree does remain blank. Vista resource monitor says BLIde is using 10/11 threads if that useful.


Snader(Posted 2007) [#13]
The comments in the bmx file I opened like:

' this is a line

looks wierd. The space between characters on these commentlines seems to be less than 0. The rest of the file shows fine btw.


ziggy(Posted 2007) [#14]
Snader, that's a visualization issue in your current color/font scheeme definition. go to File / Settings / Define editor color and fonts.

Seb: I think I have an idea of what can be happening. I'm afraid the local shortcuts tree building is being reentrant, I'll check a reentrant flag to see it this solves your bug.


Michael Reitzenstein(Posted 2007) [#15]
Works great for me - thank you very much for fixing the 4mb debug thing. Was driving me crazy.


Snader(Posted 2007) [#16]
Ziggy, the problem came when changing the color/font to Blitzcolors but it finally got away after restarting BLide.


Damien Sturdy(Posted 2007) [#17]
This version has some pretty good enhancements! I'm not sure if you got my email, but the debug issue still occurs. If you hit the big stop app button at the bottom while the debug info is being fed into the cosole, (or even after the debug toolbar shows, but before anything is hilighted..) an error will pop up quite a few times saying it could not debug, followed by Blide totally freezing up.


ziggy(Posted 2007) [#18]
I will take a deeper look on that debug issue. I've fixed it but, obviousky there's at last one situation where the bug still happens. I'll try to fix it ASAP.

@Seb: How did you reorder your source files to make it work? were the bigger ones loaded at the end of the loading or at the beginning?


SebHoll(Posted 2007) [#19]
I put the ones it crashed with (when testing) first, firstly it was the bigger modules but at other times it was small ones.

It's hard to pinpoint the problem as when I think I know which source file is causing the problem, I restart and it can become a different one.


TaskMaster(Posted 2007) [#20]
I would like to request that BLIde remember which files were open when it closes a project. Currently, it just opens whatever ones were open when the project was first created...


ziggy(Posted 2007) [#21]
You mean that every project remembers what files were opened, so storing this data in the project file?


Derron(Posted 2007) [#22]
May I ask for a little addon-feature?

You have implemented "summary" to summarize small informations about methods, variables and so on. I would find it nice to have a "summarizeEnd"-keyword too.

Type TGame   
  Field debugmode:Byte 		= 0		'0=no debug messages; 1=some debugmessages
  Field DebugInfos:Byte		= 0
  Field name:String				'name of the game (mainly for display in network-lobby    
  Field speed:Float		= 0.1		'Speed of the game
  Field oldspeed:Float		= 0.1		'Speed of the game
  Field DoorOpenTime:Int	= 100		'time how long a door will be shown open until figure enters


This way I comment my variables so other programmers know what each variable is for. With your summarize-keyword I have to comment first, then write the "summarized" variable. If you would add this "summarizeEnd" (or how it has to be called) this way of coding style could be continued but with the effort of fast recognizing what a variable does - with or without using intellisense.

Another cool thing would be the tooltip if I hover a summarized keyword... so instead only showing it when typing: class.meth...(tooltip shown) it should also appear when hovering the method.


bye
MB


JohnK(Posted 2007) [#23]
well done, man!


TaskMaster(Posted 2007) [#24]
Ziggy, when I hit the close project, I would like it to save which files I actually had open on tabs, and re-open them in the same order. That way, the next time I load the project, I start right where I left off, so to speak.

Thanks.


SofaKng(Posted 2007) [#25]
This is really nice!

A few questions though:

1) Is there any way to not show ANY help page when loading?

2) Can I re-map the keys somehow? (eg. I like to use the Delphi keys such as F9 to run a program...)

3) Can I change the tab so it only uses 2-spaces?

(By the way, are you using the Scintilla text editor for BLIde?)

Otherwise, keep up the good work!!


ziggy(Posted 2007) [#26]
@SofaKng:

1) I think there's no way to not show ANY help page at startup. I will add this for the next release.

2) No, remaping keys is not yet supported.

3) Yes, in the preferences dialog, you can customize the TAB spacing

No, I'm not using the Scintilla component, I'm using the Actipro Syntax Editor, but I will change it to the Quantum Whale as soon as possible, becouse it is faster.


Damien Sturdy(Posted 2007) [#27]
Gah, I've been trying to send you an attachment that successfully replicates a seperate problem from above- the email with the attachment bounced back but the message went through... Let me know if you actually got it so I can resend if necesary (Can't send email here....)


SebHoll(Posted 2007) [#28]
Heh Ziggy!

A little request: you know when a program you're writing crashes with a RunTime Error that you *cannot* recover from, well BlIDE still keeps the EXE running and the displays the debug tools. Is there a way you get BlIDE only to show these if you use DebugStop etc. as elsewhere they are pretty useless.

Cheers

Seb


ziggy(Posted 2007) [#29]
@Cygnus: I didn't get your email. Please send it again if you can, It would help me a lot to handle the debug outputing issue.

@Seb: It is not possible, as the BlitzMax compiler does not make any difference in its pipe comunications protocol, and BLIde is not able to know if your making an step-into, or you have had a real unhandled exception (I think). anyway, I will take a deeper look on this.


Damien Sturdy(Posted 2007) [#30]
Hi Ziggy,

This problem is not the debug problem (which I can handle and am unable to reproduce without handing out parts of a commercial project...) it is of a mroe serious nature- Blide crashes when navigating one of my files. i sent an email containing a project that duplicated the issue.

I will resend it (and I'll try to create something that replicates the debuglog problem too- though this is much harder to do.)


TaskMaster(Posted 2007) [#31]
What do you mean by cannot recover from?

You can still look at the debugger info right? See the call stack, etc???


ziggy(Posted 2007) [#32]
Hey, I've just got the mail. I think I know what's happening. I will release a tinny update with this fixed ASAP (I hope tomorrow). Meanwhile, please open this file in another editor and check if there's any opened " or ( or ) or "

This can be confusing the text rendering engine inside a span indicator. This has been already fixed and will be available on the next fix version.

@TaskMaster: I think he means a problem where you can not click on the 'continue' button, becouse the exception makes the application being debuged unable to 'continue' the normal program flow. Anyway, in this cases I always check the call stack to see where the bug came from. Spetially when the bug is being thrown inside a module instead of being thrown in my own code. that's one of the strongest points of the call stack window (I'm very happe with this feature of BLIde :D ) There's a shortcut to close the debuger with a symple keyboard keydown. I don't remember right now wich shorcut it is, but you can check it in the debug window. (just use the close application shorcut, and the debug window will desapear).


Damien Sturdy(Posted 2007) [#33]
Cheers Ziggy. Did you recieve the zipped project? (I got an "undelivered" message!)
The file is actually complete and compiles no problem. Why it doesn't let me edit is totally unknown to me :)


SebHoll(Posted 2007) [#34]
It is not possible, as the BlitzMax compiler does not make any difference in its pipe comunications protocol, and BLIde is not able to know if your making an step-into, or you have had a real unhandled exception (I think). anyway, I will take a deeper look on this.
I thought it was possible, as the official MaxIDE doesn't enable debugging controls when a RuntimeError is generated... :S But I love BLIde's call stack feature - it makes debugging a hell of a lot easier.

I will release a tinny update with this fixed ASAP (I hope tomorrow)
Will you be including the fix for the problems I was having when loading projects?

Thanks


Seb


ziggy(Posted 2007) [#35]
@Cygnus: I haven't got the zipped project. Anyway, the debug info provided in your email will do the job. I don't think I need it. As soon as I have this fix update, please let me know if it works ok for you. I will have to update all the text renderer, so it will be a major update (again!) but there are several little bugs fixed (thanks also to Seb and Siread for reporting them).

@H&K: I'm taking a deep look in the space to tab calculation, I'm not sure if I can do much to solve this tab issue, as It deppends on the Syntax Editor Renderer, wich I can't modify. I'm talking with the developers in order for them to fix it.

@Seb: Yes, this fix release will include the fix for the bug you were experiencing. It will be the same fix version i sent you as a support fix, with some additional fixes and the new advanced module builder.

@Taskmaster: Saving the state of opened files in the project is a good idea and something I will implement in a future version. It could also store the line and char where the cursor was left when the file project was saved.


TaskMaster(Posted 2007) [#36]
ziggy, that would be great. Thanks.


ziggy(Posted 2007) [#37]
@Cygnus: It would be great to get the zipped project to test the fix before releasing it. could you please send it to me again?


Damien Sturdy(Posted 2007) [#38]
Sure thing. I will email it to you when I ghet back home (which will be tomorrow now...)


ziggy(Posted 2007) [#39]
Little update available 0.8.17 b
This update fixes most of the little bugs describen here.
this update has the following change log:

* Fixed a bug when a project was loading large files in a speciffic order that was causing BLIde to freeze

* Fixed a bug that was causing BLIde to consume 99% of CPU when building the local shortcuts tree of big projects

* Fixed a bug that was making BLIde crash when editing speciffic files in very rare situations

* Fixed a bug that was meking blide craash when a project was loaded before any other BMX file was being loaded before under Vista

* Fixed a bug that was causing BLIde to not be able to build temporal BMX files

* Fixed a virtualization incompatibility with Windows Vista

* Added a new dialog called 'Advanced module builder'

* Added a mouse hover control to display tokens intellisense information

* Fixed little memory leak

* New splash screen that shows if BLIde Plus is enabled or not

* Added 'Empty workspace' as an available BLIde start mode. (no help or html page displayed at start up)


It is a small patch update (700Kbytes) that has to be applied over 0.8.17 version.


SebHoll(Posted 2007) [#40]
Thanks for the update Ziggy. When I first started the IDE projects loaded slowly, however, reopening the IDE everything is super fast and working as it should. Have noticed the BLIde Plus splash screen!!!

Seb


Michael Reitzenstein(Posted 2007) [#41]
Thanks for the update! I did have one request... would it be possible for you to pipe the debug info on a crash straight out to a text file in the blide directory, just in case blide freezes when dealing with the debug? It's happened a few times to me (my program is huge). I don't mind if I can't debug from within blide but losing the debug information on those rare crashes is really annoying.


ziggy(Posted 2007) [#42]
It is a very good idea. I'll make it for a future release. a debuglog.txt would do the job.


Michael Reitzenstein(Posted 2007) [#43]
Great, thanks!


Damien Sturdy(Posted 2007) [#44]
I replied in email- this fix worked :)


Derron(Posted 2007) [#45]
Thanks for the new hover-feature... and the
myvar:int 'comments about var here
tooltip is also working.

Nice additions. Thanks a lot.


bye
MB


ziggy(Posted 2007) [#46]
@Cygnus: I've just read your email. I'm glad to see it works :D
@MichaelB: Thanks for the possitive feedback


Gabriel(Posted 2007) [#47]
Hi Ziggy,

Great work as usual. Would it be possible to add a command line option to set Blide's CPU affinity? I find that I get system lock ups if I use Blide and a CPU-hogging program at the same time, so the best thing to do is to set the affinity to either CPU0 or CPU1, not both as is the default. But AFAIK there is no way to set this permanently in Windows, so I have to do it manually every time I run Blide. A command line option in Blide would be perfect.


ziggy(Posted 2007) [#48]
You mean that the CPU parameter on the preferences is not stored properly once it is changed?


Gabriel(Posted 2007) [#49]
Is there a setting for CPU affinity? I can only find a setting for CPU usage, which I already have set as low as it will go. ( Well high number, low usage, if you follow me. ) I can't find anything about setting which CPU(s) Blide will run on, but there are a lot of options and preferences, so if I've missed something, I apologize.


ziggy(Posted 2007) [#50]
No, I'm sorry, there's no CPU affinity parameter. I have a core solo procesor, and I can't make any dual or quad core optimizations o BLIde. Anyway, the new parser (wich is 70% done now) will be much more dual core friendly becouse it has been developed in a much more optimized way. I hope I will have an alpha release in a couple of weeks or so, but you know, I'm updating the lexical parser, the semantic parser and the text renderer (everything) and it is being a gigantic task.


Gabriel(Posted 2007) [#51]
Sorry, I obviously wasn't being clear. I didn't want you to make Blide optimized for dual core, I just wanted the option to set the CPU affinity. It's just an API call to disable use of one core.

In any case, I don't think it would help. Blide has hard-crashed Windows on me twice in the past ten minutes, both times with the CPU affinity set to CPU0 only, so it doesn't appear to be an issue with CPU affinity at all. I'm not sure what the problem is, perhaps my project has just become too big for Blide to manage. In both cases, nothing else was running apart from Blide and my project ( being compiled and run from Blide ) and I haven't done anything to my project which could cause it, so there's not much left.

Either way, I think I'll have to find another IDE because it's only a matter of time until an important file is lost when Blide crashes windows, and I end up losing lots of vital source code. I just can't afford that.

Maybe I'll give it another go when you move over to a new parser.


SebHoll(Posted 2007) [#52]
Heh Ziggy (me again),

I wanted to know if anyone else has noticed strange debugging behaviour. I have a large project (nearly 10K lines) and when I'm debugging and stepping through the code, sometimes, I'll step and the code jumps to the start of the main loop (even though there were many other lines to step through) and the output console displays the debugging info bmk is piping to BLIde. I recognised it because I've been interpreting BlitzMax debugging streams too in my project - it's like it's not successfully catching the stream and incorrectly identifying it as normal output.

Anyone else seen this? It could be a problem with BMK and really large projects - the debugging doesn't seem too stable in Max with masses of variables to monitor etc. or it might be something with BLIde.


Seb


ziggy(Posted 2007) [#53]
This si something I'm working on, it is a blide bug that happens when debuging a very big buffer of data. I'm fixing this for next release, but It would be great if someone could provide an application that produces debug info of this size. I imagine yours is a comercial application or game, but if anyone is getting having this problem on a non comercial game or app, please send me source and I will fix it.

@Gabriel: The bug that is causing BLIde stop for a little while when using another high CPU usage application in the same core, under multi-core CPUs will be arranged when the new parser will be integrated on BLIde. This is being caused by the actipro text renderer engine. this engine will be replaced by the Quantum Whale one ASAP.


plash(Posted 2007) [#54]
I would like to see an option to change the scroll speed, my fingers are getting tired from having to scroll a lot more then I would have to normally.


GfK(Posted 2007) [#55]
Don't you set the scroll speed in Windows?? Not sure you can do it per application?


plash(Posted 2007) [#56]
I've done tests between the official IDE (and other applications) and blide, and that blide scrolls at about 3-5 lines slower..


ziggy(Posted 2007) [#57]
Scroll speed is defined by windows. Anyway, there are two scroll modes supported by BLIde, the Smooth and the Regular one. the Smooth warranties that lines are not splited when displayed. This is the one currently being used by BLIde. I could change it to regular to see if this makes any change.


N(Posted 2007) [#58]
Er, is the download link for 0.8.17's full version supposed to point to your overview page?


ziggy(Posted 2007) [#59]
Nop... I've just fixed it. You know how it is to make a new website... :D

If it doesn't fixes for you download it from here:
http://www.blide.org/download1357908642wqeryuioiuysdfgyurB-3423-43-23/blide-0-8-17.rar


N(Posted 2007) [#60]
Don't worry, I already managed to download it after noticing it was pointing to the wrong place. Not much of an issue, takes time to get things right.


H&K(Posted 2007) [#61]
Dont know if its already reported, but if I selecte a large amount of sorce code, then do FInd, all the sorce is copied to the find box


ziggy(Posted 2007) [#62]
No, it was not reported. Thanks! I'll fix it.


H&K(Posted 2007) [#63]
Hi, again.

Ctl F5 Still appears not to save current changes in source before build.

Also, would it be really hard to add "open recent files"?


ziggy(Posted 2007) [#64]
Yesterday one of the biggest files of the BLIde source code losed all the event handling on the source code, so I'm spending a while rewriting a lot of stuff and crossing fingers not to forget anything... There's also the new parser development that is getting very complicated and time demanding, and I'm working in a keyframing-movie and sound module for max so, with all this things on mind... believe me, it is a little bit complicated to add any additional feature to BLIde. I would like to release a beta of BLIde QW (this is BLIde with the Quantum Whale parser) this month, but I'm not sure if it is going to be possible.


Raph(Posted 2007) [#65]
A minor pet peeve for you Ziggy:

Hit CTRL-F to search for something. Focus will jump to the "Find what" input box in the Find/Replace dialog.

Then leave the window open.

When you next hit CTRL-F, it will clear the "Find what" input box, but it will not set focus there. So I keep hitting CTRL-F then typing the search string into my code. :)


Filax(Posted 2007) [#66]
Hi Ziggy :)

I got registration for Blide Plus yesterday :) How many time
to get registration number ? :)


ziggy(Posted 2007) [#67]
Hello Filax, I'm not at my computer now, but as soon as I get there (tonight) I will send you your activation username and password. It is usually sent the same day you buy the license, but as I process all registrations manually, it sometimes can take a little bit longer (maximum of 48 hours to be sent is stated on the purchasing page).


Filax(Posted 2007) [#68]
Ok no problem i wait :)