Commit graph

1892 commits

Author SHA1 Message Date
gambas
19b83e535d Fix 'gb.Scientific' number format.
[INTERPRETER]
* BUG: Fix 'gb.Scientific' number format.
2019-05-09 00:04:18 +02:00
gambas
cea4b4d1e4 Fix column computation when compiling expression tree.
[COMPILER]
* BUG: Fix column computation when compiling expression tree.
2019-05-08 15:32:11 +02:00
gambas
beb79ec952 Fix a forgotten '!' that broke the informer.
[INFORMER]
* BUG: Fix a forgotten '!' that broke the informer.
2019-05-08 14:15:01 +02:00
gambas
7ea4fb4ca5 Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
[COMPILER]
* OPT: Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
2019-05-08 06:27:14 +02:00
gambas
9f2da35cbe Emit column position in almost all error messages.
[COMPILER]
* OPT: Some optimizations in symbol table routines.
* NEW: Emit column position in almost all error messages. It makes the compiler 2.5% slower, even with the optimizations.
2019-05-08 06:20:35 +02:00
bgermann
44e3f4f7a3 Add missing wait header
WIFEXITED and WEXITSTATUS are used, so add sys/wait.h
2019-05-01 11:59:26 +02:00
gambas
7c0a6730cd Complete support for project extra references.
[CONFIGURATION]
* NEW: Update version to 3.13.90.

[DEVELOPMENT ENVIRONMENT]
* NEW: Redone extra references support.

[COMPILER]
* NEW: Take project extra references into account.

[GB.TERM.FORM]
* BUG: Fix project description.
2019-04-23 12:31:10 +02:00
gambas
f23228638b Fix Url$() escaping characters.
[INTERPRETER]
* BUG: Fix Url$() escaping characters.
2019-04-04 23:12:07 +02:00
gambas
3dd1fd493e Fix the JIT compiler: '_init' method, Lock instruction, Object datatype, and DO / REPEAT loops at the beginning of a function now work correctly.
[INTERPRETER]
* BUG: JIT compiler does not run static initializers anymore when loading a class. Otherwise bytecode can be modified before being compiled, leading to a JIT compiler crash.

[COMPILER]
* BUG: Fix LOCK subroutine meta-information.

[GB.JIT]
* NEW: Don't display abortion debugging message if there is no compilation to abort.
* BUG: Object variables are correctly managed now.
* BUG: DO...LOOP and REPEAT...UNTIL at the beginning of the function now is correctly compiled in all cases.
2019-04-04 22:58:06 +02:00
gambas
6c9df4c423 Cosmetic changes in debugger code.
[INTERPRETER]
* NEW: Cosmetic changes in debugger code.

[GB.DEBUG]
* NEW: Cosmetic changes in debugger code.
2019-03-21 23:14:22 +01:00
gambas
2bb7d795b7 Fix Array.Shuffle() on String, Long and Object arrays.
[INTERPRETER]
* BUG: Fix Array.Shuffle() on String, Long and Object arrays.
2019-03-20 19:39:56 +01:00
gambas
a6eb422756 Array.Shuffle() is a new method that randomly shuffles an array using Fisher–Yates algorithm.
[INTERPRETER]
* NEW: Array.Shuffle() is a new method that randomly shuffles an array using Fisher–Yates algorithm.
2019-03-20 15:08:16 +01:00
gambas
faa54caf02 Tasks work again.
[INTERPRETER]
* BUG: Tasks work again.
2019-03-15 19:44:48 +01:00
gambas
9893891365 ASSERT ... PRINT or ERROR allows to use PRINT or ERROR to print a message when the assertion fails.
[COMPILER]
* NEW: ASSERT ... PRINT or ERROR allows to use PRINT or ERROR to print a message when the assertion fails.
2019-03-15 19:36:22 +01:00
gambas
0bbf4761d6 Enhance formatting of unary minus operator.
[GB.EVAL]
* NEW: Enhance formatting of unary minus operator.
2019-03-14 02:47:36 +01:00
gambas
a8bcabb741 Unary minus operator is now sticked to its argument when put between parentheses or brackets.
[GB.EVAL]
* NEW: Unary minus operator is now sticked to its argument when put between parentheses or brackets.
2019-03-14 01:52:37 +01:00
gambas
d3a182aa0e Raise an error if there is not enough local slots for control structures.
[COMPILER]
* BUG: Raise an error if there is not enough local slots for control structures.
2019-03-13 14:25:32 +01:00
gambas
63d9d81bd2 Disabling JIT compiler works correctly again.
[INTERPRETER]
* BUG: Disabling JIT compiler works correctly again.
2019-03-13 12:59:14 +01:00
gambas
a0bcf85bd4 Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop.
[INTERPRETER]
* BUG: Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop. Consequently, a process started before the declaration of the event loop will have its termination signal correctly catched.
* NEW: Use waitpid() instead of wait4().

[GB.GTK]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.GTK3]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT4]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT5]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
2019-03-12 03:46:30 +01:00
gambas
eb8c871740 Don't try to abort JIT compilation if the JIT component is not loaded.
[INTERPRETER]
* BUG: Don't try to abort JIT compilation if the JIT component is not loaded.
2019-03-11 17:53:18 +01:00
gambas
3f7095bbd9 Run JIT compilation in the background to make programs start faster.
[INTERPRETER]
* OPT: JIT compilation is run in two steps.

[GB.JIT]
* OPT: Run JIT compilation in the background.
* NEW: JIT.Debug is a new property that allows to enable JIT debugging messages at runtime.
2019-03-11 16:34:50 +01:00
gambas
209a8faacf Fix SortUsing() methods public declaration.
[INTERPRETER]
* BUG: Fix SortUsing() methods public declaration.
2019-03-08 21:51:27 +01:00
gambas
f38f1b1657 Variant[].Sort() and Variant[].SortUsing() methods have been added and SortUsing() methods now take an optional sort mode as second argument.
[INTERPRETER]
* NEW: Variant[].Sort() and Variant[].SortUsing() methods have been added.
* NEW: SortUsing() methods now take an optional sort mode as second argument.
2019-03-08 21:42:33 +01:00
gambas
c7d6ddd31f String.Right() does not crash anymore on invalid UTF-8 strings.
[INTERPRETER]
* BUG: String.Right() does not crash anymore on invalid UTF-8 strings.
2019-03-08 12:28:41 +01:00
Tobias Boege
76da51ce70 gb.inotify: Fix Watch.Events[] accessor
[GB.INOTIFY]
* BUG: Watch.Events._put incorrectly reset events outside the given event set and ignored the assigned value.
2019-03-07 08:24:08 +01:00
gambas
d668dadcf5 Array.SortUsing() is a new method that sorts an array according to the sort order defined by another array.
[INTERPRETER]
* NEW: Array.SortUsing() is a new method that sorts an array according to the sort order defined by another array.
2019-03-06 03:55:48 +01:00
gambas
b8af5cf289 Merge branch 'master' of gitlab.com:gambas/gambas 2019-03-04 01:36:35 +01:00
gambas
b257119380 String.Code() now returns -1 on incorrect UTF-8 string.
[INTERPRETER]
* BUG: String.Code() now returns -1 on incorrect UTF-8 string.
2019-03-04 01:35:33 +01:00
gambas
a0302b7f77 Optimize division, thanks to Cedron Dawg.
[GB.COMPLEX]
* OPT: Optimize division, thanks to Cedron Dawg.
2019-03-02 12:50:33 +01:00
gambas
fd7ae28ac9 File.RealPath() is a new statis method that returns the the canonicalized absolute pathname of path, with no symbolic links inside.
[INTERPRETER]
* NEW: File.RealPath() is a new statis method that returns the the canonicalized absolute pathname of path, with no symbolic links inside.
2019-02-28 02:57:25 +01:00
gambas
7c808bbba3 Define a new limit constant, that is the maximum length of the System.Language variable. It is 16 bytes.
[INTERPRETER]
* NEW: Define a new limit constant, that is the maximum length of the System.Language variable. It is 16 bytes.
2019-02-26 21:01:18 +01:00
gambas
3cd80f118d Allocate custom language environment variables statically, because environment is accessed by shared library exit routines, after the interpreter memory allocations have been freed.
[INTERPRETER]
* BUG: Allocate custom language environment variables statically, because environment is accessed by shared library exit routines, after the interpreter memory allocations have been freed.
2019-02-26 20:59:03 +01:00
gambas
1f73946947 Put 'gbh3' back into the git repository.
[CONFIGURATION]
* BUG: Don't put main/tools in .gitignore.

[HELPER]
* BUG: Put 'gbh3' back into the git repository.
2019-02-25 00:20:43 +01:00
gambas
b4a8adf222 Fix string to floating point conversion routine.
[INTERPRETER]
* BUG: Fix string to floating point conversion routine.
2019-02-16 02:00:17 +01:00
gambas
4f72989680 Unused function warnings now point at the beginning of the function.
[COMPILER]
* BUG: Unused function warnings now point at the beginning of the function.
2019-02-08 23:07:47 +01:00
gambas
466a570451 Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
[GB.DB]
* BUG: Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
2019-02-06 23:24:08 +01:00
gambas
c0eab6b4c4 Don't crash if a component use NULL as error message argument. Replace it by a void string.
[INTERPRETER]
* BUG: Don't crash if a component use NULL as error message argument. Replace it by a void string.
2019-02-06 23:23:18 +01:00
gambas
5bb2f41b21 Remove '*.mo' files now automatically generated by the compiler, and other filed that should be ignored too. 2019-02-02 01:07:37 +01:00
gambas
245d3d7429 Do not add an extra decimal digit to floating point numbers, it introduces rounding errors.
[INTERPRETER]
* BUG: Do not add an extra decimal digit to floating point numbers, it introduces rounding errors.
2019-01-26 15:24:46 +01:00
gambas
fe55f495f4 Fix the default value of optional Object function arguments.
[GB.JIT]
* BUG: Fix the default value of optional Object function arguments.
2019-01-20 22:50:35 +01:00
gambas
912d804daa Raise the maximum number of decimal digit of a Float value to 16.
[INTERPRETER]
* NEW: Raise the maximum number of decimal digit of a Float value to 16.
2019-01-19 01:06:38 +01:00
gambas
f1ed9011a3 If the option '-t' is specified, the compiler now automatically calls 'msgfmt' to compile the translation files if needed.
[COMPILER]
* NEW: If the option '-t' is specified, the compiler now automatically calls 'msgfmt' to compile the translation files if needed.
2019-01-19 01:03:57 +01:00
gambas
69d864f1d4 Ignore trailing zeros in the decimal part of floating point number constants.
[INTERPRETER]
* NEW: Allow one more decimal digit in floating point number constants.
* BUG: Ignore trailing zeros in the decimal part of floating point number constants. It may introduce rounding differences.
2019-01-16 04:32:44 +01:00
gambas
b97b82133a Make the "./" path equivalent to "." as before, and not a prefix for a component with a null name.
[INTERPRETER]
* BUG: Make the "./" path equivalent to "." as before, and not a prefix for a component with a null name.
2019-01-11 16:02:02 +01:00
gambas
ced4594599 Take care of components that modifiy the 'environ' variable. Using 'gb.httpd' does not crash anymore.
[INTERPRETER]
* BUG: Take care of components that modifiy the 'environ' variable. Using 'gb.httpd' does not crash anymore.
2019-01-11 15:23:50 +01:00
gambas
5c3ce53f61 Fix Debug instruction and support for the new Assert instruction.
[GB.JIT]
* BUG: Fix Debug instruction.
* BUG: Support for the new Assert instruction.
2019-01-11 01:46:13 +01:00
gambas
634b5c4168 Really fix the loop optimization.
[INTERPRETER]
* BUG: Really fix the loop optimization.
2019-01-11 01:14:42 +01:00
gambas
dd551e9bc5 Fix loop optimization that didn't work on loops calling themselves recursively.
[INTERPRETER]
* BUG: Fix loop optimization that didn't work on loops calling themselves recursively.
2019-01-11 01:11:46 +01:00
gambas
26448880a1 Support for 'tcc' compiler.
[GB.JIT]
* NEW: Support for 'tcc' compiler.
2019-01-08 01:53:38 +01:00
gambas
628aa30e54 Take the other requested GUI components into account to choose the toolkit.
[INTERPRETER]
* NEW: Add a API to know if a native component exists on the disk.

[GB.GUI]
* BUG: Take the other requested GUI components into account to choose the toolkit.

[GB.GUI.QT]
* BUG: Take the other requested GUI components into account to choose the toolkit.
2019-01-05 03:57:08 +01:00