- moved converter function from file.bas to qb64pe.bas, as it's rather compiler related than a common file function
- also fixed several "change state" related bugs (i.e. switching certain settings in the Options Menu will no longer mark the current code as "changed")
- maintain search and recent files histories in buffers
- histories keep the last 100 entries used
- buffers are saved to disk at exit and are restored on next IDE session
- Select All (CTRL-A) in the help text actually didn't select ALL after text was selected manually once before, because Help_cx1/_cy1 were not reset (bug goes back to the SDL versions)
- help text width is a known value, no need to set millions of chars
- fixed Definition lists eating the first char, if list introducer is followed by space
- added further pages to the core pages queue
- added handling for new {{PageReferences}} wiki template
- added more name substitutes for the breadcrumb links
The FocusIn/FocusOut X11 events are more reflective of active
foreground window that Enter/Leave, which only relates to mouse
movement. In particular, FocusOut fires when Alt-Tabbing away
so the alt key is correctly released.
Also re-enable IDE defocus processing on Linux so the Alt key no
longer keeps the menus selected when Alt-Tabbing.
Very simple change here, to basically take:
a$ = b$ + c$ + d$ + e$ + f$
And make it:
a$ = b$ + (c$ + d$ + e$) + f$
....
This speeds up the IDE due to (c$ + d$ + e$) being small strings, while a$ and f$ are larger strings... It's more efficient to move and add those small strings first, than it is to add them to the large strings, making them larger, at each step.
This allows simplifying how the size of UDT arrays are calculated,
and thus not leave memory uninitialised when doing a redim that
expands the array size.
Instead of being disabled by default after certain actions (those which affected the recent files list and so forced a rebuild of the "File" menu), now the current state of the "Export As" item is passed through to the rebuild procedure.
The math evaluator was not running the input through lineformat before
evaluation, resulting in Evaluate_Expression$() giving the wrong result
since the input wasn't tokenized.
- adds filetype IDs
- now includes DECLARE LIBRARY files
- allows immediate recompile after error whitout the need to make a "fake" change to the program first
- tracks required external files for changes and triggers a rebuild if needed
- $EXEICON file
- $MIDISOUNDFONT (incl. the DEFAULT one)
- $INCLUDE (incl. nested ones)
- $EMBED files
- internal includes as forced by $COLOR or $DEBUG
- reduce memory impact
- fix $NOPREFIX issue
- improved checks to avoid faulty highligting of unquoted text in DATA lines and meta lines such as $VERSIONINFO or $ERROR
- fixed a wrong Wiki link (SHELL fucntion)
This moves the CONST replacement up before we turn the elements into a
single string. The advantage is that we don't have to worry about
splitting the string properly to find the CONST names as the elements
are already split for us.t
When loading a font, and that font wasn't found, we were tossing an IDE Module Error at the users. This corrects that glitch and even pops up a notification letting them know that the font wasn't found, before reverting back to the old font handle.
String manipulation has too much overhead for larger files to write all at once. The best write speeds, from multiple testing experiments in various conditions, come from simply using PUT to place the data line by line to the drive.
This change reflects that method of file saving.
- added ability to export as new [qb=export] Forum codebox
- Forum/Wiki exports now go to the clipboard and can directly be pasted into the Forum post or Wiki page