Commit graph

6660 commits

Author SHA1 Message Date
gambas
ffa3cd0875 Correctly read pointer variables.
[GB.JIT]
* BUG: Correctly read pointer variables.
2018-08-13 00:36:33 +02:00
gambas
bdb60ecef7 Correctly compile long public constants.
[GB.JIT]
* BUG: Correctly compile long public constants.
2018-08-13 00:24:38 +02:00
gambas
9c1fa46558 Reading variants from memory is done correctly now.
[GB.JIT]
* BUG: Reading variants from memory is done correctly now.
2018-08-12 09:43:15 +02:00
gambas
a2123c7f27 Accesses to byte global variables are compiled correctly now.
[GB.JIT]
* BUG: Accesses to byte global variables are compiled correctly now.
2018-08-12 00:22:44 +02:00
gambas
244b02c1a5 Store the sqlite connection paths relative to the project folder, or the user home directory, if possible.
[DEVELOPMENT ENVIRONMENT]
* BUG: Store the sqlite connection paths relative to the project folder, or the user home directory, if possible.
* BUG: Fix a 'msgfmt' error that was displayed when the current language has not been yet translated.
2018-08-11 17:00:28 +02:00
gambas
0975e520db JIT: Handle function datatype by raising a type mismatch error.
[INTERPRETER]
* NEW: JIT: Add an API for throwing type mismatch errors.
* BUG: Raise a type mismatch error when converting a function to a variant. Don't panic anymore.

[GB.JIT]
* BUG: Handle function datatype by raising a type mismatch error.
2018-08-11 14:06:46 +02:00
gambas
f882946561 Fix conversions of NULL.
[GB.JIT]
* BUG: Fix conversions of NULL.
2018-08-11 07:55:08 +02:00
gambas
0aedbe63a2 Fix an internal common string routine used by thousand separator management.
[INTERPRETER]
* BUG: Fix an internal common string routine used by thousand separator management.
2018-08-11 07:54:22 +02:00
gambas
aa33e0ddad Add a '-j' option to the interpreter that disable the JIT compiler.
[INTERPRETER]
* NEW: Add a '-j' option to the interpreter that disable the JIT compiler.
2018-08-11 07:53:02 +02:00
gambas
28b52f2de0 Val() correctly reads thousand separators again.
[INTERPRETER]
* BUG: Val() correctly reads thousand separators again.
2018-08-10 23:37:55 +02:00
gambas
4e83422f20 Fix optional arguments management.
[INTERPRETER]
* NEW: Fix panic error message again.

[GB.JIT]
* BUG: Fix optional arguments management.
2018-08-10 14:22:49 +02:00
gambas
3966bfbca7 Fix compilation of variant values borrowings and NULL values conversions.
[GB.JIT]
* BUG: Fix compilation of variant values borrowings.
* BUG: Fix NULL values conversions.
2018-08-10 13:53:20 +02:00
gambas
5df6553247 Fix compilation of variant values releases.
[GB.JIT]
* BUG: Fix compilation of variant values releases.
2018-08-10 13:35:20 +02:00
gambas
4209cffa11 [INTERPRETER]
* NEW: Fix panic error message.

[GB.JIT]
* BUG: Load project classes before try to resolve a unknown symbol.
* BUG: Correctly restore the stack pointer in all cases at function exit.
2018-08-10 13:26:54 +02:00
gambas
3a49f9f3e9 Use the correct default value for XDG_DATA_DIRS environment variable.
[GB.DESKTOP]
* BUG: Use the correct default value for XDG_DATA_DIRS environment variable.
2018-08-10 11:54:30 +02:00
gambas
e76cdd33d6 Take multiline strings into account in javascript syntax highlighting and javascript editor mode.
[GB.EVAL.HIGHLIGHT]
* NEW: Take multiline strings into account in javascript syntax highlighting.

[GB.FORM.EDITOR]
* NEW: Take multiline strings into account in javascript mode.
2018-08-10 11:52:09 +02:00
gambas
f5b1c1c03b Format$ now prints the expected number of decimal digits when using exponential format.
[INTERPRETER]
* BUG: Format$ now prints the expected number of decimal digits when using exponential format.
2018-08-10 11:49:12 +02:00
gambas
7b501542a1 Fix thousand separators again.
[INTERPRETER]
* BUG: Fix thousand separators again.
2018-08-09 15:47:29 +02:00
gambas
acf401ba2d Correctly reset the stack pointer when releasing the stack in error handlers.
[INTERPRETER]
* BUG: Do not clear the 'super' field of the object value returned by NEW, as it does not fix actually anything.

[GB.JIT]
* BUG: Correctly reset the stack pointer when releasing the stack in error handlers.
2018-08-09 11:05:51 +02:00
gambas
bb34431646 Fix a crash in JIT relative to SUPER management.
[INTERPRETER]
* BUG: Clear the 'super' field of the object value returned by NEW.

[GB.JIT]
* BUG: Correctly reset EXEC_super in error catching.
2018-08-06 13:26:49 +02:00
gambas
584a7b6ba3 Use 'gb.gui.*' components instead of 'gb.qt4.*' components when loading the documentation related to a feature needed by the currently loading component.
[DEVELOPMENT ENVIRONMENT]
* BUG: Use 'gb.gui.*' components instead of 'gb.qt4.*' components when loading the documentation related to a feature needed by the currently loading component.
2018-07-21 22:17:31 +02:00
gambas
5a61b7d436 TextEditor: Entering a bracket, a brace... while part of the current line is selected now automatically encloses the selected text.
[GB.FORM.EDITOR]
* NEW: TextEditor: Entering a bracket, a brace... while part of the current line is selected now automatically encloses the selected text.
2018-07-21 16:09:03 +02:00
gambas
a36359b190 DataCheckBox: Its default value is now correctly set to NULL.
[GB.DB.FORM]
* BUG: DataCheckBox: Its default value is now correctly set to NULL.
2018-07-21 15:42:24 +02:00
gambas
5b5356c2a8 IconView: Clicking on an item in multiple selection mode correctly makes it the current item.
[GB.GUI.BASE]
* NEW: IconView: Improve and normalize how items are draws between horizontal et vertical orientation.
* BUG: IconView: Clicking on an item in multiple selection mode correctly makes it the current item.
* OPT: IconView: Selecting items with the keyboard is faster now.
2018-07-21 14:22:54 +02:00
gambas
e3ca5b2e12 FileView: Invalidate directory cache every five second, or if an explicit reload is triggered.
[GB.FORM]
* NEW: FileView: A directory cache is now automatically invalidated every five second.
* NEW: FileView: ReloadAll() now invalidates the directory cache.
2018-07-21 09:27:37 +02:00
gambas
3f836f0b9d Move the information tooltip to the top when the mouse cursor enters it, and move it back to the bottom if it enters it again.
[DEVELOPMENT ENVIRONMENT]
* NEW: Form editor: Move the information tooltip to the top when the mouse cursor enters it, and move it back to the bottom if it enters it again.
* NEW: Image editor: Move the information tooltip to the top when the mouse cursor enters it, and move it back to the bottom if it enters it again.
* BUG: Take the language direction into account when displaying the form and image editor tooltips.
* BUG: Take the language direction into account when displaying the debug panel close button.
2018-07-19 17:44:15 +02:00
gambas
150f488f8c Fix renaming process of DirView and FileView controls.
[GB.FORM]
* BUG: DirView: Errors occuring during a renaming now display the balloon message on the renaming item.
* BUG: DirView: Forbid void directory names.
* BUG: FileView: Canceling an item rename now works as expected in icon mode, and correctly refreshes the view.
* BUG: FileView: Forbid void file names.
2018-07-17 23:11:43 +02:00
gambas
6e935d2efd IconView: Canceling the Rename event keeps the editor opened.
[GB.GUI.BASE]
* BUG: IconView: Hitting ENTER while renaming an item does not insert a newline in the item text.
* NEW: IconView: Canceling the Rename event keeps the editor opened.
2018-07-17 23:09:11 +02:00
gambas
8c34e888b5 TreeView: Canceling the Rename event keeps the editor opened.
[GB.GUI.BASE]
* NEW: TreeView: Canceling the Rename event keeps the editor opened.
2018-07-17 22:29:04 +02:00
gambas
609ef351f8 The interpreter does not crash anymore when using standard streams at the end of the program whereas they have been already freed.
[INTERPRETER]
* BUG: The interpreter does not crash anymore when using standard streams at the end of the program whereas they have been already freed.
2018-07-17 15:33:11 +02:00
gambas
3c84b78d13 Fix a memory leak when connecting to a database.
[GB.DB.ODBC]
* BUG: Fix a memory leak when connecting to a database.
2018-07-16 17:56:37 +02:00
gambas
9abaadc360 Some fixes in FileView and FileProperties.
[GB.FORM]
* BUG: FileView: Setting the Current property does nothing if the new value is the same as the old one.
* BUG: FileProperties: Correctly abort the directory size background task if the Path property is set.
* BUG: FileProperties: Don't fill the error tab if the directory size background task is aborted.
2018-07-15 23:10:41 +02:00
gambas
81b64b96a5 Add a "-U" option to compile the script with the UNSAFE keyword.
[SCRIPTER]
* NEW: Add a "-U" option to compile the script with the UNSAFE keyword.
2018-07-15 23:07:09 +02:00
gambas
bba1946700 The datatype of object symbols was incorrectly computed.
[GB.JIT]
* BUG: The datatype of object symbols was incorrectly computed.
2018-07-08 08:24:31 +02:00
gambas
9c2e3bfb21 Search dialog: New option to search data files only.
[DEVELOPMENT ENVIRONMENT]
* NEW: Search dialog: New option to search data files only.
2018-07-07 14:55:49 +02:00
gambas
e04ec717c7 JIT: Structures and static arrays have been implemented.
[INTERPRETER]
* NEW: JIT: Support for structures and static arrays.

[GB.JIT]
* NEW: Structures and static arrays have been implemented.
2018-07-07 14:54:23 +02:00
gambas
da5c780572 Allow compilation of structure accesses again.
[COMPILER]
* BUG: Allow compilation of structure accesses again.
2018-07-07 02:23:08 +02:00
gambas
ed775d62d4 Correctly handle function values used as arguments.
[GB.JIT]
* BUG: Correctly handle function values used as arguments.
2018-07-07 00:58:55 +02:00
gambas
50dedeb8cb Don't use __attribute__((noreturn)), it makes gcc dizzy and slow as hell.
[GB.JIT]
* BUG: Don't use __attribute__((noreturn)), it makes gcc dizzy and slow as hell.
2018-07-05 07:15:23 +02:00
gambas
d3c93a05e4 Work on new JIT system continues.
[INTERPRETER]
* NEW: Abort if a stack mismatch is detected after a JIT function has been called.

[GB.JIT]
* NEW: The GB_JIT_CC environment variable allows to define the C compiler that will generate the code.
* OPT: Don't call the compiler through a shell anymore.
* NEW: Support for clang.
* BUG: Don't use the "," operator anymore to write JIT code.
* BUG: Correctly free stack when leaving a function whereas we are still inside a GOSUB.
* BUG: Declare all local variables and arguments as volatile as soon the function uses CATCH or FINALLY.
2018-07-05 07:10:31 +02:00
gambas
6fc6a48818 Compute the duration of JIT Gambas code without JIT compilation time.
[BENCHMARKS]
* NEW: Compute the duration of JIT Gambas code without JIT compilation time.
2018-07-03 00:54:34 +02:00
gambas
4a1c81d0aa Jit.Time is a new property that returns the time spent in JIT compilation, in seconds.
[INTERPRETER]
* NEW: Jit is a new static class that allows to deal with the JIT compiler.
* NEW: Jit.Time is a new property that returns the time spent in JIT compilation, in seconds.

[GB.JIT]
* NEW: Support for the Jit.Time property.
2018-07-03 00:52:19 +02:00
gambas
527702ea59 Subroutines returning something that are used as instructions correctly drop their return value now.
[GB.JIT]
* BUG: Subroutines returning something that are used as instructions correctly drop their return value now.
2018-07-02 22:37:33 +02:00
gambas
9cf443a04f [INTERPRETER]
* BUG: Take JIT code into account when displaying current position in DEBUG instruction.

[COMPILER]
* BUG: Fix subroutine metadata.
* BUG: Fix subroutine search function.

[GB.JIT]
* BUG: Fix string referencing.
* NEW: Implement date arrays accessors.
* BUG: Fix error management.
* BUG: Fix mathematic functions implementation.
* NEW: Support of functions with a variable number of arguments.
* BUG: Fix support of Long constants.
* BUG: Fix implementation of Collection array operator.
* BUG: Fix READ, EXEC, SHELL and DEBUG instructions.
* BUG: Fix VarPtr().
* BUG: Fix TRUE constant implementation.
2018-07-02 19:37:37 +02:00
gambas
2c2c610319 Merge branch 'master' of gitlab.com:gambas/gambas 2018-06-29 00:26:48 +02:00
gambas
5f4f12acf3 [COMPILER]
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.

[INTERPRETER]
* NEW: Support for the UNSAFE keyword.

[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
2018-06-29 00:10:31 +02:00
Tobias Boege
789ce931f7 IconView: always raise Click event when clicked
[GB.GUI.BASE]
* BUG: IconView: always raise Click event when clicked and not only when selection changes

See Gambas Bug #1358
2018-06-28 19:07:31 +02:00
gambas
fe08dfa333 Work continues on new JIT system.
[INTERPRETER]
* NEW: JIT: Support for SUPER.
* NEW: JIT: Support for extern functions.
* NEW: Add a flag in Gambas functions to know if they are static or not.

[GB.JIT]
* NEW: Support for SUPER.
* NEW: Support for extern functions.
* BUG: Fix object arrays access.
* OPT: Optimization of Abs, Sgn, Int, Fix, and Pi subroutines.
2018-06-27 19:35:23 +02:00
gambas
6a23fa861a TreeView: Don't mess up multiple selection when automatic sorting is enabled.
[GB.GUI.BASE]
* BUG: TreeView: Don't mess up multiple selection when automatic sorting is enabled.
2018-06-26 18:50:38 +02:00
gambas
601776ef63 Menu editor: Always check the menu structure before saving it.
[DEVELOPMENT ENVIRONMENT]
* BUG: Menu editor: Always check the menu structure before saving it.
2018-06-26 18:43:54 +02:00