Commit graph

6649 commits

Author SHA1 Message Date
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
gambas
ab3963c99c Fix some bugs detected by clang, and JIT code can now raise events.
[INTERPRETER]
* NEW: JIT: Support for event raising.
* BUG: Fix some bugs detected by clang.

[GB.JIT]
* NEW: Support for event raising.
* OPT: Some optimizations in jit code generation and compilation.
2018-06-25 19:17:44 +02:00
gambas
90700a48ae Remove now unused JIT compilation source files.
[COMPILER]
* BUG: Remove now unused JIT compilation source files.
2018-06-25 19:16:10 +02:00
gambas
b88ba310d3 Merge branch 'master' of gitlab.com:gambas/gambas 2018-06-23 01:37:30 +02:00
gambas
06d139920d Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: No need to support breakpoints.

[GB.JIT]
* BUG: No need to support breakpoints.
2018-06-23 01:37:06 +02:00
gambas
128b5de2f2 [INTERPRETER]
* NEW: JIT: Support for QUIT and STOP EVENT instructions.

[GB.JIT]
* NEW: Implement QUIT and STOP EVENT instructions.
2018-06-23 01:31:39 +02:00
Benoît Minisini
7cd5a3eaae Merge branch 'clang' into 'master'
Install clang instead of gcc for archlinux-clang

See merge request gambas/gambas!29
2018-06-22 03:16:48 +00:00
gambas
29d94d3feb [DEVELOPMENT ENVIRONMENT]
* OPT: Profile window: Use JIT when loading a profile dump file.
2018-06-22 04:49:35 +02:00
gambas
6502645560 Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: Fix error handling when calling methods from JIT code.

[GB.JIT]
* NEW: Fix support of CATCH and FINALLY.
* NEW: Support for ON GOTO and ON GOSUB.
2018-06-22 04:49:05 +02:00
gambas
0c43cfced0 Add Session.Path property, and fix the write of session values for sqlite sessions.
[GB.WEB]
* BUG: Fix the write of session values for sqlite sessions.
* NEW: Session.Path is a new property that returns the path of the file where the session is stored.
2018-06-22 00:47:48 +02:00
gambas
757ecc14eb Fix the clang fix. Compiler messages are visible again.
[COMPILER]
* BUG: Fix the clang fix. Compiler messages are visible again.
2018-06-19 16:09:30 +02:00
bgermann
075068898e Install clang instead of gcc for archlinux-clang 2018-06-19 09:20:43 +02:00