Commit graph

1312 commits

Author SHA1 Message Date
gambas
95572fb040 Fix multi-dimensional arrays management.
[INTERPRETER]
* BUG: Fix multi-dimensional arrays management.
2021-02-09 02:19:39 +01:00
gambas
15135fe60b Raise a memory error if the size of an array element overflows. The maximum size is now 16 MB minus one byte.
[INTERPRETER]
* BUG: Fix initialization of multi-dimensional array.
* NEW: Raise a memory error if the size of an array element overflows. The maximum size is now 16 MB minus one byte.
2021-02-08 22:08:15 +01:00
gambas
991695e493 Array access is now about 15% faster.
[INTERPRETER]
* OPT: Array access is now about 15% faster.
2021-02-08 21:45:29 +01:00
gambas
86981a3c2c Change the internal signature of the implementation of the class "fast methods".
[INTERPRETER]
* NEW: Change the internal signature of the implementation of the class "fast methods".
2021-02-03 18:56:34 +01:00
gambas
1249ebd2f9 System.Cores is a new property that returns the number of cores.
[COMPILER]
* NEW: By default, the compiler now use a number of background tasks equal to the number of cores.

[INTERPRETER]
* NEW: System.Cores is a new property that returns the number of cores.
2021-02-01 01:21:08 +01:00
gambas
ec328f8d95 Remove trailing separators from 'gb.LongDate' date format.
[INTERPRETER]
* BUG: Remove trailing separators from 'gb.LongDate' date format.
2021-01-29 15:35:08 +01:00
gambas
91cf8ef35e Min() and Max() are now faster.
[INTERPRETER]
* OPT: Min() and Max() are now faster.
2021-01-21 14:33:49 +01:00
gambas
1e22281d4d Add GB.String.Split() API. GB.Array.Get() does not check array bounds anymore.
[INTERPRETER]
* NEW: Add GB.String.Split() API.
* OPT: GB.Array.Get() does not check array bounds anymore.
2021-01-21 02:32:06 +01:00
gambas
1c3e02257c Signal handlers are now checked only if requested explicitly by a component.
[INTERPRETER]
* OPT: Signal handlers are now checked only if requested explicitly by a component.

[GB.GTK]
* NEW: Request SIGCHLD handler check.

[GB.GTK3]
* NEW: Request SIGCHLD handler check.
2021-01-21 01:49:38 +01:00
gambas
1e7ea9f50c Check SIGCHLD signal handler at each event loop.
[INTERPRETER]
* BUG: Check SIGCHLD signal handler at each event loop.
2021-01-18 21:40:48 +01:00
gambas
6bec59fc15 File.DefaultDirAuth is a new property that defines the default authorizations used when using MkDir.
[INTERPRETER]
* NEW: File.DefaultDirAuth is a new property that defines the default authorizations used when using MkDir.
2021-01-14 01:09:30 +01:00
gambas
9ed2dab99e Fix thousand separators and Date values with no date formatting.
[INTERPRETER]
* BUG: Use the correct thousand separators.
* BUG: Val() correctly formats Date values with no date again, using 'gb.LongTime' format.
2021-01-02 22:31:03 +01:00
gambas
d94f117e7b Better workaround of libraries that incorrectly override SIGCHLD handler like 'glib'.
[INTERPRETER]
* BUG: Better workaround of libraries that incorrectly override SIGCHLD handler like 'glib'.
2020-12-28 02:45:56 +01:00
gambas
26024e57bd Stat().Device is a new property that return the device containing the file as a string.
[INTERPRETER]
* NEW: Stat().Device is a new property that return the device containing the file as a string.
2020-12-19 17:37:31 +01:00
gambas
73511577bd 'Format(0, "#")' now returns "0" and not a void string anymore.
[INTERPRETER]
* BUG: 'Format(0, "#")' now returns "0" and not a void string anymore.
2020-12-19 13:52:57 +01:00
gambas
e0ee49d296 Fix the standard date format, to ensure that 'IsDate(Str(Now))' is always TRUE.
[INTERPRETER]
* BUG: Fix the standard date format, to ensure that 'IsDate(Str(Now))' is always TRUE.
2020-12-15 17:19:38 +01:00
gambas
c316cbaaf1 Forgot to free the new date standard format string when it is not needed anymore.
[INTERPRETER]
* BUG: Forgot to free the new date standard format string when it is not needed anymore.
2020-12-12 20:10:15 +01:00
gambas
93659c3f7e Str() on dates now return something valid for Val() and IsDate().
[INTERPRETER]
* NEW: Formatting a date with 'gb.Standard' now uses 'gb.MediumDate' concatenated to 'gb.MediumTime', as 'gb.GeneralDate' now is a different format.
* BUG: Str() now uses gb.Standard to format dates, so that Val() and IsDate() can understand them.
2020-12-12 17:36:00 +01:00
gambas
38604fd11b Stop stack unfolding on exception only up to an event raise now.
[INTERPRETER]
* NEW: Stop stack unfolding on exception only up to an event raise now.
2020-11-27 02:24:33 +01:00
gambas
62c9205762 Rework the way standard date formats are built from strftime().
[INTERPRETER]
* NEW: Rework the way standard date formats are built from strftime().
* NEW: System.GetFormat() is a new method that returns the format string associated by a predefined format constant.
2020-11-26 03:49:45 +01:00
gambas
0c3c62f7d5 Fix a local variable datatype.
[INTERPRETER]
* BUG: Fix a local variable datatype.
2020-11-24 21:45:38 +01:00
gambas
ae5da87640 Fixes in date/time management.
[INTERPRETER]
* BUG: Fix local date/time to string conversion.
* BUG: Fix computing of default date/time formats.
2020-11-23 04:31:17 +01:00
gambas
215cd6f54a Fix default time formats.
[INTERPRETER]
* BUG: Fix default time formats.
2020-11-23 01:26:56 +01:00
gambas
6b26a77adb Rework and simplify internal date/time formatting routine.
[INTERPRETER]
* NEW: Rework and simplify internal date/time formatting routine.
2020-11-22 01:20:47 +01:00
gambas
dd03fd0b31 Some fixes to the string to date conversion routine for unicode separators.
[INTERPRETER]
* BUG: Some fixes to the string to date conversion routine for unicode separators.
2020-11-18 21:00:43 +01:00
gambas
c1222b902c Fix date formatting with unicode date separators.
[INTERPRETER]
* BUG: Fix date formatting with unicode date separators.
2020-11-18 03:36:37 +01:00
gambas
bdd1b9e5ad Some fixes in date format management.
[INTERPRETER]
* BUG: Fix separator tail detection in date formats.
* BUG: Do not print two identical successive date separators.
2020-11-18 02:48:37 +01:00
gambas
f25d7b517b Date format with distinct separators and tail separators (like the Chinese date format) are now correctly supported.
[INTERPRETER]
* BUG: Date format with distinct separators and tail separators (like the Chinese date format) are now correctly supported.
2020-11-17 03:33:50 +01:00
gambas
3ad3e9a42d Errors cannot be propagated outside of an event handler.
[INTERPRETER]
* NEW: GB.IsLocked() is a new API that tells if an object is locked.
* NEW: GB.IsRaiseLocked() is a new API that tells if raising an event is useless because no observer will receive it.
* BUG: Errors cannot be propagated outside of an event handler, because the event may result from a library signal that do not support exceptions (like the glib library).
2020-11-14 03:33:12 +01:00
gambas
2ca5bdd574 The debugger now correctly saves and prints the current error message.
[INTERPRETER]
* NEW: Add a debug API that returns the current error message, and remove the API that printed it.

[GB.DEBUG]
* BUG: The debugger now correctly saves and prints the current error message.
2020-11-11 03:32:03 +01:00
gambas
cb531a5b21 Add 'gb.Input' and 'gb.Output' constants.
[INTERPRETER]
* NEW: Add 'gb.Input' and 'gb.Output' constants.
2020-11-09 17:41:27 +01:00
gambas
1239f45687 Redesign internal file constants.
[INTERPRETER]
* NEW: Redesign internal file constants.
* BUG: Opening a file for creation in direct mode now implies the write flag.
2020-11-09 17:38:28 +01:00
gambas
6586e7d7cc Add a '-a' option that allows to override the program path (i.e. Application.Path and Args[0]).
[INTERPRETER]
* NEW: Add a '-a' option that allows to override the program path (i.e. Application.Path and Args[0]).
2020-11-02 22:09:35 +01:00
gambas
cd786d0429 Fix signal handler overriding management.
[INTERPRETER]
* BUG: Fix signal handler overriding management.
2020-10-21 23:31:02 +02:00
gambas
7b37117b9d Fix Variant arrays sort when a mode is specified.
[INTERPRETER]
* BUG: Fix Variant arrays sort when a mode is specified.
2020-10-07 01:32:44 +02:00
gambas
9df7f50047 Child processes do not inherit locks anymore. Workaround libraries that override SIGCHLD handler.
[INTERPRETER]
* BUG: Child processes do not inherit locks anymore.
* BUG: Workaround libraries like 'glib' that override SIGCHLD handler by checking and reinstalling it at each process run.
2020-10-06 16:40:58 +02:00
gambas
f2f9623c14 Correctly catch errors raised inside event handlers in all cases.
[INTERPRETER]
* BUG: Correctly catch errors raised inside event handlers in all cases.
2020-09-27 01:14:54 +02:00
gambas
7ad56a4adb Fix panic message displayed when a JIT method is not found.
[INTERPRETER]
* BUG: Fix panic message displayed when a JIT method is not found.
2020-09-17 23:51:13 +02:00
gambas
2d1d307455 If no language environment variable is defined, use "C" locale instead of "en_US".
[INTERPRETER]
* NEW: Add process id in warning messages.
* BUG: If no language environment variable is defined, use "C" locale instead of "en_US".
2020-09-17 09:52:38 +02:00
gambas
f0606b61c3 Disable jit compiler if no compiler is found.
[INTERPRETER]
* NEW: Disable jit compiler if no compiler is found.

[GB.JIT]
* NEW: Don't crash if no compiler is found, but just tell the interpreter.
2020-09-14 21:15:20 +02:00
gambas
ed0f467b63 Some fixes in translation support.
[INTERPRETER]
* BUG: Fix possible buffer overflow on localisation environment variables.
* BUG: Always define LC_ALL and LANG with the effective language chosen.
* BUG: Use the current language to load translations, not what setlocale() returns.
2020-09-11 00:39:00 +02:00
gambas
ccf354c19a The interpreter can compile without 'libffi' again.
[INTERPRETER]
* BUG: The interpreter can compile without 'libffi' again.
2020-08-01 23:35:37 +02:00
gambas
0e4f68da94 Really really fix '&=' operator optimization.
[INTERPRETER]
* BUG: Really really fix '&=' operator optimization.
2020-07-27 20:39:21 +02:00
gambas
95ea5cd72c Better fix for '&=' operator optimization.
[INTERPRETER]
* BUG: Better fix for '&=' operator optimization.
2020-07-13 16:00:17 +02:00
gambas
5004f20609 Move 'gb.test' sources in '/main/lib'.
[INTERPRETER]
* NEW: Remove the now useless testing specific code.
* NEW: 'gbx3 -T' now just loads the 'gb.test' component and calls Test.Main() passing it the '-T' option argument.

[GB.TEST]
* NEW: Move 'gb.test' sources in '/main/lib'.
* NEW: 'gb.test' has now a part written in C that allows him to load project classes on demand.
2020-05-25 21:24:28 +02:00
gambas
3737b08904 Classes passed to 'gbx3 -T' that are not test modules are silently ignored.
[INTERPRETER]
* NEW: Classes passed to 'gbx3 -T' that are not test modules are silently ignored.
2020-05-25 11:50:12 +02:00
gambas
f3850aad1b Redesign the interface between the interpreter and 'gb.test'.
[INTERPRETER]
* NEW: Redesign the interface between the interpreter and 'gb.test'.
2020-05-23 04:31:33 +02:00
gambas
d8f4c5a7cf Redesign the interface between the interpreter and 'gb.test' component.
[INTERPRETER]
* NEW: Now '-T' option with no argument calls Test._List() method.
* NEW: If '-T' gets an argument, the Test._Run() method is used.
* NEW: If '-T' argument is '*', then the Test._RunAll() method is called.
2020-05-22 16:02:48 +02:00
gambas
7c7029aed8 Make a public function static.
[INTERPRETER]
* BUG: Make a public function static.
2020-05-17 08:26:14 +02:00
gambas
8395b972b8 Make READ and INPUT return void strings instead of NULL, otherwise JIT compiler fails.
[INTERPRETER]
* BUG: Make READ and INPUT return void strings instead of NULL, otherwise JIT compiler fails.
2020-05-12 01:13:43 +02:00