Commit graph

34 commits

Author SHA1 Message Date
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
dcac5c2a26 Handle TRY inside JIT functions correctly.
[INTERPRETER]
* BUG: Handle TRY inside JIT functions correctly.

[GB.DEBUG]
* NEW: Add explicit messages when something fails during initialization.

[GB.JIT]
* BUG: Handle TRY correctly.
2018-11-02 21:44:40 +01:00
gambas
88220d483b Let the interpreter correctly manage exceptions when calling non-JIT code from JIT code.
[INTERPRETER]
* BUG: JIT: Let the interpreter correctly manage exceptions when calling non-JIT code from JIT code.

[GB.JIT]
* BUG: Correctly initialize CP during exception handler.
2018-09-10 20:11:59 +02:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
c4d22f9d24 [INTERPRETER]
* BUG: Forbid continuing and stay in debugger when an unhandled error is raised. This prevent crashes when an error occurs during variable initialization.


git-svn-id: svn://localhost/gambas/trunk@8031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-12-31 12:02:58 +00:00
Benoît Minisini
224bb2aed0 [INTERPRETER]
* BUG: Add a small reserved area in the stack for the Eval() function, so 
  that the debugger can return the contents of a variable after a stack 
  overflow without raising a new stack overflow error and then crashing.


git-svn-id: svn://localhost/gambas/trunk@6276 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-18 21:39:52 +00:00
Benoît Minisini
4c739969ef [COMPILER]
* NEW: IsMissing() is a new function that returns if an optional argument 
  is missing. It always returns FALSE on a non-optional argument.

[INTERPRETER]
* NEW: Support for IsMissing().


git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-08 15:10:21 +00:00
Benoît Minisini
0d183b038d [INTERPRETER]
* NEW: Remove as much "packed" structure declaration as possible, to 
  prevent possible bugs on ARM architecture.


git-svn-id: svn://localhost/gambas/trunk@5860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 16:56:12 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* NEW: Update copyright year to 2013.

[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a 
  scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
  a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.


git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-03 15:38:01 +00:00
Benoît Minisini
ca7856bf80 [INTERPRETER]
* NEW: Clean up allocation macros.

{GB.EVAL.HIGHLIGHT]
* NEW: Add 'transition' to the CSS keywords.


git-svn-id: svn://localhost/gambas/trunk@5599 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-29 23:33:01 +00:00
Benoît Minisini
dbf5689f9a [INTERPRETER]
* BUG: Check process stack pointer with a bigger margin so that we get 
  'Stack overflow' errors instead of segfaults.

[GB.GTK]
* BUG: Fix menu bar layout when the window is shown for the first time.

[GB.GUI.BASE]
* BUG: Don't set the background color of ScrollArea scrollbars.

[GB.QT4]
* NEW: Remove any useless reference to Q3ScrollView.
* OPT: Paint.ClipRect is now optimized when the clipping region is a single
  rectangle.


git-svn-id: svn://localhost/gambas/trunk@5481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-01 11:55:40 +00:00
Benoît Minisini
6516f5670c [INTERPRETER]
* OPT: Optimized GOSUB from an idea of Emil Lenngren.


git-svn-id: svn://localhost/gambas/trunk@4979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-22 00:04:56 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.

[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event 
  handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
  callback.

[GB.DEBUG]
* NEW: Support for profiling.

[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are 
  changed.
* BUG: Fix a crash when changing the IconPanel Count property.

[GB.GTK]
* BUG: Fix the Font.Copy() method.


git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 02:55:05 +00:00
Benoît Minisini
9d6b4a0f0d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix version requirements on components in the packager.

[INTERPRETER]
* OPT: A little optimization in LINE INPUT.

[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
  fit its contents.


git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-08 01:41:23 +00:00
Benoît Minisini
9e259995ea [INTERPRETER]
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently, 
  calling functions recursively are now very fast.

[COMPILER]
* NEW: New FAST keyword.


git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-06 01:50:41 +00:00
Benoît Minisini
8dfb763782 [INTERPRETER]
* NEW: GOSUB can be recursive now, by saving the control variables, and
  restoring them on RETURN.

[COMPILER]
* NEW: GOSUB can be used on any top-level labels.


git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 23:43:07 +00:00
Benoît Minisini
1fc5a474de [INTERPRETER]
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN 
  instruction alone. Consequently, you cannot exit from a 'SUB' with it if
  there is a pending GOSUB. The GOSUB stack is only limited by the
  available memory.

[COMPILER]
* NEW: New GOSUB instruction.


git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 23:57:36 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
2232c61703 [INTERPRETER]
* BUG: Fix a crash in stack backtrace management.


git-svn-id: svn://localhost/gambas/trunk@4110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 22:04:52 +00:00
Benoît Minisini
2df008159f [INTERPRETER]
* NEW: The LIKELY() and UNLIKELY() macros do nothing now, as it seems that
  recent CPUs are better than humans for branch prediction.
* BUG: Error.Backtrace is accurate now.


git-svn-id: svn://localhost/gambas/trunk@4066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:28:48 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
a32166b185 [INTERPRETER]
* OPT: Many optimizations again.
* BUG: Fix an unitialized variable in string to float conversion routine.
* BUG: Handle extern functions that return a pointer.


git-svn-id: svn://localhost/gambas/trunk@3003 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 12:03:29 +00:00
Benoît Minisini
c52c9f0257 [INTERPRETER]
* OPT: Some optimizations again.

[COMPILER]
* BUG: Compile functions using ByRef correctly again.


git-svn-id: svn://localhost/gambas/trunk@2995 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-06 20:43:13 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
0c14eb0bdb [DEVELOPMENT ENVIRONMENT]
* NEW: Remove the project stack size option.

[INTERPRETER]
* NEW: Make the stack grow as needed. Note that the stack will never 
  shrink.

[GB.DEBUG]
* BUG: This component now compiles correctly.


git-svn-id: svn://localhost/gambas/trunk@1987 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-27 18:42:48 +00:00
Benoît Minisini
a282449a85 [INTERPRETER]
* BUG: Arguments passed by reference do not crash randomly anymore.


git-svn-id: svn://localhost/gambas/trunk@1964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-18 12:00:48 +00:00
Benoît Minisini
54e8d1093e [INTERPRETER]
* BUG: Fix an uninitialized flag in streams.
* BUG: Stack overflow raised when entering a function should not mix up 
  the interpreter anymore.

[GB.QTE]
* BUG: Fix compilation.


git-svn-id: svn://localhost/gambas/trunk@1664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-30 23:32:38 +00:00
Benoît Minisini
c9dd8bcefe [INTERPRETER]
* BUG: Fixes the string management optimizations.
* OPT: Optimization of the string search function (InStr, RInstr).
* OPT: Optimization of the Split() function.
* OPT: Optimization of local variables initialization when entering a
  method.

[GB.NET.SMTP]
* BUG: Fixes the Makefile.am file so that the component compiles if the 
  glib library is installed in a non-standard directory.

[GB.QTE.EXT]
* BUG: Fixes the gb.qte.ext.component file.



git-svn-id: svn://localhost/gambas/trunk@1203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 23:50:34 +00:00
Benoît Minisini
3d80d44a4a [WIKI CGI SCRIPT]
* BUG: Some little layout fixes.

[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed. 
  Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
  unloaded until the process terminates. That can be useful when 
  debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.

[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
  controls, so that the input methods are not disturbed. Consequently;
  SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or 
  KeyRelease event handler correctly now.



git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 14:32:30 +00:00
Benoît Minisini
074e2f98c7 [INTERPRETER]
* NEW: Arguments passed by reference were implemented.

[COMPILER]
* NEW: Arguments passed by reference were implemented.


git-svn-id: svn://localhost/gambas/trunk@1016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-19 17:52:05 +00:00
Benoît Minisini
4c02c6d338 ******** Merged /branches/64bits r918:1003 into /trunk
[CONFIGURATION]
* NEW: 64 bits port.

[EXAMPLES]
* BUG: Fixed the AnalogWatch example.

[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.

[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
  based on libffi, so that it works on 64 bits system. Because of a flaw in
  the compiler design, projects that use the Pointer datatype must be
  recompiled to be used on a 64 bits system. This flaw will be fixed in
  Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
  for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.

[COMPILER]
* BUG: Correctly compiles LONG constants inside code.

[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
  libraries.

[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
  now.

[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop 
  could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.

[GB.OPENGL]
* BUG: Disable dead code.

[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
  read-only properties.

[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.


git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-17 21:39:26 +00:00
Benoît Minisini
ba19f3c1dd * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas
git-svn-id: svn://localhost/gambas/trunk@893 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2007-12-30 16:41:49 +00:00