Commit graph

2146 commits

Author SHA1 Message Date
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
67631903cb Do not crash if '$XDG_CURRENT_DESKTOP' is not defined.
[GB.GUI]
* BUG: Do not crash if '$XDG_CURRENT_DESKTOP' is not defined.

[GB.GUI.QT]
* BUG: Do not crash if '$XDG_CURRENT_DESKTOP' is not defined.
2020-12-26 22:44:57 +01:00
gambas
05e27f506b Use "$XDG_CURRENT_DESKTOP" before "$KDE_FULL_SESSION" to know if we are running KDE.
[GB.GUI]
* BUG: Use "$XDG_CURRENT_DESKTOP" before "$KDE_FULL_SESSION" to know if we are running KDE.

[GB.GUI.QT]
* BUG: Use "$XDG_CURRENT_DESKTOP" before "$KDE_FULL_SESSION" to know if we are running KDE.
2020-12-21 17:45:26 +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
17144658f2 Only keep the 'gb.component' file for the native component and remove 'gb.so' and 'gb.la'.
[CONFIGURATION]
* NEW: Only keep the 'gb.component' file for the native component and remove 'gb.so' and 'gb.la'.
2020-11-28 00:46:57 +01:00
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