Commit graph

2187 commits

Author SHA1 Message Date
gambas
b62f461c49 Running the informer for all components will not analyze the 'gb' component.
[INFORMER]
* NEW: Running the informer for all components will not analyze the 'gb' component. The metadata of 'gb' must be generated explicitly.
2020-11-28 00:40:52 +01:00
gambas
2c173c0a2d Correctly remove 'gb.component' file from installation once the metadata has been generated.
[CONFIGURATION]
* BUG: Correctly remove 'gb.component' file from installation once the metadata has been generated.
2020-11-27 20:33:15 +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
8c4f6d8a84 Fix a warning message.
[INFORMER]
* BUG: Fix a warning message.
2020-11-24 21:45:17 +01:00
gambas
84cbc39b9c Correctly uninstall interpreter metadata files.
[CONFIGURATION]
* BUG: Correctly uninstall interpreter metadata files.
2020-11-24 21:44:37 +01:00
gambas
9b3d7b4f17 Undef PACKAGE_* preprocessor constants from 'gambas.h', if they are defined.
[INTERPRETER]
* BUG: Undef PACKAGE_* preprocessor constants from 'gambas.h', if they are defined.
2020-11-24 21:43:10 +01:00
gambas
fd478d91b9 SQLRequest: Do not quote "*" field name in Select() method.
[GB.DB]
* NEW: SQLRequest: Do not quote "*" field name in Select() method.
2020-11-24 21:42:02 +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
420e69a551 Fix 'make install' that should now correctly remove all installed files.
[CONFIGURATION]
* BUG: Fix 'make install' that should now correctly remove all installed files.
2020-10-17 23:57:34 +02:00
gambas
726c0023a8 Some fixes in icons and mimetypes installation.
[CONFIGURATION]
* NEW: Update Gambas IDE icons.
* NEW: Install an icon for the Gambas IDE.
* BUG: Uninstall mimetypes for Gambas script and server pages.
2020-10-16 02:36:50 +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
aefc635d54 Ignore CVS and CVSROOT directories when searching for source files to compile.
[COMPILER]
* BUG: Ignore CVS and CVSROOT directories when searching for source files to compile.
2020-10-01 23:22:30 +02:00
gambas
5ae68582e6 Add 'gb.qt4.webview' component.
[GB.GUI.WEBVIEW]
* NEW: Handle 'gb.qt4.webview'.

[GB.QT4.WEBVIEW]
* NEW: New component based on QtWebKit like 'gb.qt4.webkit'.
2020-09-30 17:43:26 +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
3e0b760dc6 Work on web browser components continue. New QT/GTK+ web browser switcher component.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Add Title and Zoom properties.
* NEW: WebView: Add History property and history support.

[GB.GUI]
* NEW: Enhance debugging messages.

[GB.GUI.OPENGL]
* NEW: Fix debugging messages.

[GB.GUI.QT]
* NEW: Enhance debugging messages.

[GB.GUI.WEBVIEW]
* NEW: New QT/GTK+ web browser switcher component.

[GB.QT5.WEBVIEW]
* NEW: WebView: Add Title and Zoom properties.
* NEW: WebView: Add History property and history support.
2020-09-23 01:06:18 +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
18a74ff682 Use "-march=native -mtune=native" to compile JIT translated code.
[GB.JIT]
* OPT: Use "-march=native -mtune=native" to compile JIT translated code.
2020-09-11 00:43:08 +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
Tobias Boege
62823aed08 gb.test: Improve diagnostics of Approximate assertions
[GB.TEST]
* BUG: Improve diagnostics of Approximate and RelativeApproximate assertions, showing the original values too.
2020-08-09 22:11:07 +02:00
gambas
8af699ce91 Correctly handle "~" in database directories.
[GB.DB.SQLITE2]
* BUG: Correctly handle "~" in database directories.

[GB.DB.SQLITE3]
* BUG: Correctly handle "~" in database directories.
2020-08-02 21:14:15 +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
Christof Thalhofer
fffe0cc8db gb.test ignore case in test fixtures' method names
[GB.TEST]
* BUG: gb.test ignore case of method names of test fixtures
2020-07-18 12:45:31 +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
ef7fce00d4 Fix a typo in an help comment.
[GB.TEST]
* BUG: Fix a typo in an help comment.
2020-07-09 13:25:24 +02:00
Benoît Minisini
6d6f99887a Merge branch 'master' into 'master'
Updated brazilian portuguese translations

See merge request gambas/gambas!150
2020-07-04 09:52:12 +00:00
gambas
0423ce0dfb Fix a badly written code that crashes on 32-bits CPU.
[GB.JIT]
* BUG: Fix a badly written code that crashes on 32-bits CPU.
2020-07-02 22:35:07 +02:00
gambas
4ed2905929 The informer now can deal with missing components whose information is included in other ones.
[INFORMER]
* BUG: If a component includes the information of one component among many, do not fail if the first one does not exist. Try the other ones.
2020-06-28 01:03:21 +02:00
gambas
4da85c26dd Fix man pages.
[CONFIGURATION]
* BUG: Fix man pages.
2020-06-20 05:10:29 +02:00
gambas
fd5ec670e1 Add man pages.
[CONFIGURATION]
* NEW: Add man pages.

[INTERPRETER]
* NEW: Use 'time_t' in GB.MakeDateFromTime API.

[WIKI CGI SCRIPT]
* NEW: Add a command-line option to print the package table.
2020-06-20 04:56:22 +02:00
Gen Braga
e70c3ae879 Added Brazilian Portuguese translations
[GB.TEST]
* NEW: Added Brazilian Portuguese translations.
2020-06-11 22:03:13 -03:00
gambas
68af5ed6c4 Remove now useless structure fields.
[COMPILER]
* OPT: Remove now useless structure fields.
2020-06-11 01:44:23 +02:00
Christof Thalhofer
2818930937 gb.test: Taskell with new task to be done. 2020-06-07 17:50:10 +02:00
Tobias Boege
44a6c2462a gb.test: Show bad plans in summary
[GB.TEST]
* NEW: Show bad plans in summary.
* BUG: Set recently added TestAssertion properties from TapPrinter as well.
2020-06-07 00:43:44 +02:00
Christof Thalhofer
09da14aa68 gb.test plan selftests and taskell
[GB.TEST]
*NEW: plan selftests
*NEW: forbid assertions in _Setup.. and _Teardown.. to ensure plan is always valid
2020-06-06 12:08:14 +02:00
Christof Thalhofer
e1bfd66808 gb.test documentation
[GB.TEST]
* OPT: documentation
2020-06-05 10:56:37 +02:00
gambas
a6ada310a7 Merge branch 'master' of gitlab.com:gambas/gambas 2020-06-03 16:15:43 +02:00
gambas
37db5413e1 Connection.ApplyTemplate() now updates existing tables.
[GB.DB]
* NEW: Connection.Url is a new property that returns the URL of the connection.
* NEW: Connection.ApplyTemplate() now updates existing tables.
2020-06-03 15:48:14 +02:00
gambas
2d2cfc1bd6 Fix compilation of OPEN STRING instruction that sometimes failed.
[COMPILER]
* BUG: Fix compilation of OPEN STRING instruction that sometimes failed.
2020-06-03 14:53:43 +02:00
Christof Thalhofer
a26f2e6e46 gb.test taskell update 2020-06-03 08:18:42 +02:00
Christof Thalhofer
7068c6bbca gb.test testmethod's names must not contain underscore
[GB.TEST]
* NEW: testmethod's names must not contain underscore
2020-06-02 11:04:06 +02:00
Tobias Boege
efdc072276 gb.test: document and fix Todo tests
[GB.TEST]
* NEW: Add tests for Assert.Match.
* BUG: Assert: document Approximate and RelativeApproximate.
* BUG: Special-case Expected = 0 in RelativeApproximate.
2020-06-01 06:57:45 +02:00
Tobias Boege
42065f8f0f gb.test: TSkipAll now passes
The test TSkipAll now passes with its intended implementation,
so remove the Test.Todo.
2020-06-01 06:36:04 +02:00
Tobias Boege
2f56334d2a TestRunner: Prefer Exec over Shell
[GB.TEST]
* OPT: TestRunner: do not assemble a Shell command string when Exec works.

Also remove leftover TODOs.
2020-06-01 06:33:45 +02:00
Tobias Boege
939397a734 gb.test: Parse a skipping plan line
[GB.TEST]
* NEW: The parser can now parse a plan line which skips the entire test.
2020-06-01 06:30:52 +02:00
Tobias Boege
e6e9b4b1b0 gb.test: Support for parsing subtests
[GB.TEST]
* NEW: TapParser can now parse subtests. Consequently, TestRunner assembles a tree of TestAssertions.
* BUG: Remove trailing '\r' characters from TapStream lines.

By our convention a subtest is opened by a "Test ..." line and closed by
its summarizing "ok" / "not ok" assertion.

This commit regresses on TInternals's reflection tests because I added
tests for the parser and runner which need event handlers to do their
testing. These are unintentionally detected as test methods.
2020-06-01 06:06:11 +02:00
gambas
7395093fea 'gb.util' and 'gb.settings' are not required anymore.
[GB.TEST]
* NEW: 'gb.util' and 'gb.settings' are not required anymore.
* NEW: Add an Helper module that implements the functions replacing what was used in 'gb.util' and 'gb.settings'.
* BUG: Rewrite the GetTestSuiteByName() method without 'gb.settings', and fix it. It was completely broken.
2020-05-31 00:58:50 +02:00
Christof Thalhofer
0447fc173d gb.test German translation
[GB.TEST]
* NEW: German translation
2020-05-28 18:22:22 +02:00
Christof Thalhofer
c816814ed4 gb.test refactoring and finetuning Assert Notes
[GB.TEST]
* NEW: refactoring and finetuning Assert Notes
2020-05-28 18:07:55 +02:00
Christof Thalhofer
65a0205d02 gb.test taskell update 2020-05-28 11:21:43 +02:00
Christof Thalhofer
6f4c24c3e1 gb.test test all assertions
[GB.TEST]
* NEW: Assert.IntendedFailure move to Test.IntendedFailure
* NEW: TAllAsserts tests all assertions (3 todo left)
2020-05-28 11:14:58 +02:00
Christof Thalhofer
c0b7e7db82 gb.test Skip and Todo from Assert to Test
[GB.TEST]
* NEW: Skip and Todo from Assert to Test
2020-05-28 09:30:15 +02:00
Christof Thalhofer
315c383a4d gb.test run testsuite by name from settings
[GB.TEST]
* OPT: gb.test: Run test suite by name from settings
2020-05-27 20:56:33 +02:00
Christof Thalhofer
024417bcff gb.test: Run test suite by name
[GB.TEST]
* new: Run test suite by name
2020-05-27 14:27:38 +02:00
Christof Thalhofer
9906661c7e gb.test: unittesthelloworld-1.0.0.tar.gz example
[GB.TEST]
* OPT: unittesthelloworld example
* OPT: Class TestMe just to be used for dev
2020-05-26 21:41:29 +02:00
Christof Thalhofer
fc4525708a gb.test rename test modules
[GB.TEST]
* OPT: rename testmodules and methods in them, get rid of such a lot "Test"
2020-05-26 20:45:18 +02:00
Christof Thalhofer
1130e4aa7d gb.test print all testcases
[GB.TEST]
* NEW: Print all tests as test suite string
2020-05-26 20:07:58 +02:00
Christof Thalhofer
9ad850e90b gbtest refactoring
[GB.TEST]
* OPT: Reduce the number of occurences of '__Test.Load(TestModule)' from 4 to 2
2020-05-26 15:25:39 +02:00
Christof Thalhofer
b0f6c7d475 gb.test fixed selftest 2020-05-26 11:41:32 +02:00
Christof Thalhofer
fd31986942 gb.test further tasks to be done 2020-05-26 09:55:56 +02:00
Christof Thalhofer
76419e2138 gb.test cleanup 2020-05-26 09:54:43 +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
4739ef78b6 New dark theme color inversion algorithm and new Color.Invert() method.
[GB.IMAGE]
* NEW: New dark theme color inversion algorithm.
* NEW: Color.Invert() is a new method to invert a color.
2020-05-23 12:28:45 +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
9022603257 Output a class flag for test modules. Do not generate the '.test' file anymore.
[COMPILER]
* NEW: Do not generate the '.test' file anymore.
* NEW: Output a class flag for test modules.
2020-05-22 16:00:40 +02:00
gambas
c99df6c0c5 Add an API to get the luminance of a color.
[GB.IMAGE]
* NEW: Add an API to get the luminance of a color.

[GB.JIT]
* NEW: Cosmetic changes.
2020-05-18 13:22:34 +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
fffa4e5b51 Order options in displayed help.
[COMPILER]
* NEW: Order options in displayed help.

[ARCHIVER]
* NEW: Order options in displayed help.

[INFORMER]
* NEW: Order options in displayed help.
2020-05-17 08:24:58 +02:00
gambas
524f65cdaa Redesign verbose messages.
[INFORMER]
* NEW: Redesign verbose messages. Do not print anything if verbose mode is off, except warning messages.
2020-05-17 01:25:13 +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
gambas
ac5068e9c2 Automatically add 'gb.test' component information when a project includes a test module.
[COMPILER]
* BUG: Automatically add 'gb.test' component information when a project includes a test module.
2020-05-09 20:55:04 +02:00
gambas
986ca05fc4 Automatically load 'gb.test' component when the '-T' option is used.
[INTERPRETER]
* NEW: Automatically load 'gb.test' component when the '-T' option is used.
2020-05-07 15:15:13 +02:00
gambas
1cd23bb578 Interpreter options now accept a void argument.
[INTERPRETER]
* BUG: Interpreter options now accept a void argument.
2020-05-07 10:18:33 +02:00
gambas
368165ff2f Add '-T' option to run test modules.
[INTERPRETER]
* NEW: Add '-T' option to run test modules.
* NEW: Update help message and display options in alphabetic order.
* BUG: Use '-r' option now to redirect standard error output. No conflict anymore with '-t'.
2020-05-07 08:18:48 +02:00
gambas
b0eb952028 '&=' on variants is not incorrectly optimized anymore.
[INTERPRETER]
* BUG: '&=' on variants is not incorrectly optimized anymore.

[GB.JIT]
* BUG: '&=' on variants is not incorrectly optimized anymore.
2020-04-16 09:47:59 +02:00
gambas
68c503bc2e Enabling an already enabled timer has no effect anymore.
[INTERPRETER]
* BUG: Enabling an already enabled timer has no effect anymore.
2020-04-08 21:27:27 +02:00
gambas
12c819330b Add DB.LastInsertId, the static version of Connection.LastInsertId.
[GB.DB]
* BUG: Add DB.LastInsertId, the static version of Connection.LastInsertId.
2020-04-08 14:01:03 +02:00
gambas
2165ececd5 JIT optimization of '&=' has been implemented.
[INTERPRETER]
* NEW: Support for JIT '&=' optimization.
* BUG: Fix '&=' optimization on argument variables.
* OPT: Strings greater than 4096 bytes are allocated by 4096 bytes steps.

[GB.JIT]
* NEW: JIT optimization of '&=' has been implemented.
2020-04-06 04:43:12 +02:00
gambas
8f0d4db96c Fix support of '&=' operator optimization.
[GB.JIT]
* BUG: Fix support of '&=' operator optimization.
2020-04-04 17:06:36 +02:00
gambas
23835b8b9a Support for the '&=' operator optimization.
[GB.JIT]
* NEW: Support for the '&=' operator optimization.
2020-04-04 16:29:55 +02:00
gambas
08c5fc95c7 '&=' operator optimization.
[COMPILER]
* OPT: Support for '&=' operator optimization.

[INTERPRETER]
* OPT: '&=' operator optimization.
2020-04-04 16:18:10 +02:00
gambas
2b9e18a103 Fix detection of GUI components.
[GB.GUI]
* BUG: Fix detection of GUI components and share some code with 'gb.gui.qt'.

[GB.GUI.QT]
* BUG: Fix detection of GUI components and share some code with 'gb.gui'.
2020-03-10 18:29:05 +01:00
gambas
b83205f539 Correctly handle unary minus operator.
[GB.JIT]
* BUG: Correctly handle unary minus operator.
2020-03-10 00:41:05 +01:00
gambas
1a08090954 Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
[GB.DEBUG]
* NEW: Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
2020-03-09 02:23:41 +01:00
gambas
bc7d0fc7df Do not crash anymore by looking for help comments in form files when controls are public.
[COMPILER]
* BUG: Do not crash anymore by looking for help comments in form files when controls are public.
2020-03-04 01:37:29 +01:00
gambas
fd2794612b Call the event loop just after the JIT compiler has aborted, so that its processes are correctly freed.
[INTERPRETER]
* BUG: Call the event loop just after the JIT compiler has aborted, so that its processes are correctly freed.
2020-03-02 14:20:49 +01:00
gambas
fd778d20c8 Fix an uninitialized local variable.
[COMPILER]
* BUG: Fix an uninitialized local variable.
2020-02-22 22:43:11 +01:00
gambas
e584ba6713 Add support for test modules.
[COMPILER]
* NEW: Support for test modules.

[ARCHIVER]
* NEW: Support for test modules.
2020-02-22 15:57:46 +01:00
gambas
131653ab1f Converting a string to a pointer returns a pointer pointing at the beginning of the string.
[INTERPRETER]
* NEW: Converting a string to a pointer returns a pointer pointing at the beginning of the string.
2020-02-18 23:03:24 +01:00
gambas
7bedc9af65 Fix VarPtr() behaviour.
[INTERPRETER]
* BUG: VarPtr() on local strings are forbidden again.
* BUG: VarPtr() on variants now returns a pointer to the variant contents.
2020-02-18 20:36:45 +01:00
gambas
2cd257be5b PEEK is a new instruction that peek some bytes from a stream without removing them.
[COMPILER]
* NEW: Support for the new PEEK instruction.

[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
2020-02-11 01:45:10 +01:00
gambas
d4860710c0 Running a process without an event name does not reference its observer for nothing anymore.
[INTERPRETER]
* BUG: Running a process without an event name does not reference its observer for nothing anymore.
2020-02-04 10:32:55 +01:00
gambas
f0b3762ec1 JIT compiler can compile libraries now.
[INTERPRETER]
* NEW: Internal name of libraries uses a point now between vendor and library name, not a slash anymore.

[GB.DEBUG]
* BUG: Undo "make debugger output writes more robust". Apparently it does not work.

[GB.JIT]
* BUG: Compiling libraries works now.
2020-01-26 07:09:36 +01:00
gambas
6137849b22 Remove some surprisingly useless duplicated code in image conversion.
[GB.IMAGE]
* BUG: Remove some surprisingly useless duplicated code in image conversion.
2020-01-24 08:05:52 +01:00
gambas
2f071513d2 Add Highlight.Added and Highlight.Removed style constants.
[GB.EVAL]
* NEW: Add Highlight.Added and Highlight.Removed style constants.
2020-01-20 13:00:16 +01:00
gambas
6a0e3dbc4d Fix VarPtr() on function arguments.
[GB.JIT]
* BUG: Fix VarPtr() on function arguments.
2020-01-20 03:03:02 +01:00
gambas
191db990d8 Add support for VarPtr() on variant variables.
[GB.JIT]
* NEW: Add support for VarPtr() on variant variables.
2020-01-18 08:17:14 +01:00
gambas
ad3ce9b21e Fix VarPtr() error message.
[INTERPRETER]
* BUG: Fix VarPtr() error message.
2020-01-18 05:39:33 +01:00
gambas
3829c3b9cb VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
[INTERPRETER]
* NEW: VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
2020-01-18 05:33:47 +01:00
gambas
4144d77b49 Fix static arrays management.
[GB.JIT]
* BUG: Fix static arrays management.
2020-01-17 23:51:54 +01:00
gambas
ba221177da Fix call of special methods _read() and _write().
[INTERPRETER]
* BUG: Fix call of special methods _read() and _write().
2020-01-14 03:49:03 +01:00
gambas
38450adece Make debugger output writes more robust.
[GB.DEBUG]
* BUG: Make debugger output writes more robust.
2020-01-11 09:59:47 +01:00
gambas
507f48ca61 Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
[INTERPRETER]
* BUG: Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
2020-01-09 18:31:56 +01:00
gambas
a7965ccee2 Fix a comment typo.
[COMPILER]
* BUG: Fix a comment typo.
2020-01-09 18:31:23 +01:00
gambas
85ded796c9 Fix release of return value of JIT methods called from non-JIT methods.
[INTERPRETER]
* BUG: Fix release of return value of JIT methods called from non-JIT methods.
2020-01-09 04:48:22 +01:00
gambas
e4a8ff5738 Workaround a gcc 8 compiler optimization bug.
[COMPILER]
* BUG: Workaround a gcc 8 compiler optimization bug.
2020-01-08 22:15:45 +01:00
gambas
46b3b16630 Application.ParentHandle is a new property that returns the parent process id.
[INTERPRETER]
* NEW: Application.ParentHandle is a new property that returns the parent process id.
2020-01-08 13:54:03 +01:00
gambas
2429cff72b Fix possible memory leaks when reading objects or variants with the READ instruction.
[INTERPRETER]
* BUG: Fix possible memory leaks when reading objects or variants with the READ instruction.
2020-01-07 02:34:40 +01:00
gambas
f0290255fe Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet.
[INTERPRETER]
* NEW: Add class name in 'incorrect symbol declaration' error message.
* NEW: Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet. It help synchronizing applications using the same pipe a lot!
2020-01-06 23:02:33 +01:00
gambas
87100b744a Check special methods return value datatype. Add '_invalid' special variable.
[INTERPRETER]
* NEW: Check special methods return value datatype and raise a dedicated error if it is incorrect.
* NEW: Error.Text, Error.Where and Error.Backtrace are now available inside the Application_Error handler.
* BUG: 'gbx3 -L' now displays the same Gambas version as 'gbx3 -V'.
* NEW: A class can declare a public '_invalid' boolean variable. The value of that variable will indicates if the object is invalid.
2020-01-04 22:11:29 +01:00
gambas
c797862f43 Object.Count() does not fail anymore if the object is invalid.
[INTERPRETER]
* NEW: Object.Count() does not fail anymore if the object is invalid.
2020-01-04 22:09:56 +01:00
gambas
ca0a224f6a Signals are now correctly unregistered if the program exits during a signal handler.
[INTERPRETER]
* BUG: Signals are now correctly unregistered if the program exits during a signal handler.
2020-01-04 22:09:13 +01:00
gambas
22072e5bee Do not crash anymore when analyzing a line that ends with a '{' character.
[GB.EVAL]
* BUG: Do not crash anymore when analyzing a line that ends with a '{' character.
2020-01-02 15:02:06 +01:00
gambas
63000a27fe WAIT NEXT is a new instruction that waits for the next event and process it.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.

[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
2020-01-02 13:08:45 +01:00
gambas
a4ec3990e7 Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
[INTERPRETER]
* BUG: Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
2019-12-30 19:41:33 +01:00
gambas
b5affdfa60 Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
[GB.JIT]
* NEW: Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
2019-12-23 11:22:36 +01:00
gambas
b09ab39338 Function names can be put between parenthesis to disable possible warnings on them.
[COMPILER]
* NEW: Function names can be put between parenthesis to disable possible warnings on them.
2019-12-22 20:48:58 +01:00
gambas
15a7a7f4f3 Fix objet serialization.
[INTERPRETER]
* BUG: Fix objet serialization.
* NEW: Use one byte for writing the class name length when serializing objects.
2019-12-21 20:54:13 +01:00
gambas
f39ed34592 Serializing an object is not ambiguous anymore.
[INTERPRETER]
* BUG: Serializing an object is not ambiguous anymore.
2019-12-21 17:35:30 +01:00
gambas
3d956c269c '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
[INTERPRETER]
* NEW: '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
* NEW: Rename macro that convert a Gambas stream object to the internal stream structure and add a macro that does the reverse conversion.
2019-12-21 17:03:42 +01:00
gambas
64be06797e Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
[INTERPRETER]
* BUG: Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
2019-12-20 00:29:07 +01:00
gambas
517266b4e4 Don't highlight Null as constant inside the new OPEN NULL syntax.
[GB.EVAL]
* NEW: Don't highlight Null as constant inside the new OPEN NULL syntax.
2019-12-18 07:26:43 +01:00
gambas
05cc5ee6e4 Forgot the new source file.
[INTERPRETER]
* BUG: Forgot the new source file.
2019-12-18 07:01:09 +01:00
gambas
3e0398dbd1 OPEN NULL is a new syntax that opens a null stream.
[INTERPRETER]
* NEW: OPEN NULL is a new syntax that opens a null stream. Reading always returns end of file, and writing does nothing except advancing the file pointer, allowing to know how many bytes were written.

[COMPILER]
* NEW: OPEN NULL is a new syntax that opens a null stream.
2019-12-18 06:59:21 +01:00
gambas
a0af9b3990 Fix some spaces in source code.
[GB.GEOM]
* BUG: Fix some spaces in source code.
2019-12-18 06:58:56 +01:00
gambas
2a6eaf8c8c Merge branch 'master' of gitlab.com:gambas/gambas 2019-12-18 06:34:42 +01:00
Benoît Minisini
53f83fb014 Forgot a semicolon.
[INTERPRETER]
* BUG: Forgot a semicolon.
2019-12-18 05:33:55 +00:00
gambas
4bca597638 Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
[INTERPRETER]
* NEW: Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
2019-12-18 06:29:33 +01:00
Benoît Minisini
6c1b9d6858 Really fix serialization of NULL values.
[INTERPRETER]
* BUG: Really fix serialization of NULL values.
2019-12-18 05:29:03 +00:00
gambas
c4b61aea83 Remove an old debugging message displayed when writing a pointer to a stream.
[INTERPRETER]
* BUG: Remove an old debugging message displayed when writing a pointer to a stream.
2019-12-18 06:22:26 +01:00
gambas
b98ca797e4 Fix serialization of NULL values.
[INTERPRETER]
* BUG: Fix serialization of NULL values.
2019-12-18 05:46:26 +01:00