Commit graph

31 commits

Author SHA1 Message Date
gambas
706a605cc3 Correctly restore the stack after calling a method through the interpreter, and handle null values as object values having a null address automatically.
[INTERPRETER]
* NEW: Creating a NULL value now clears the object address field so that it can be freely interpreted as a Object value with a null address by the JIT compiled code.

[GB.JIT]
* BUG: Correctly restore stack after calling a method through the interpreter.
2018-08-22 09:30:27 +02:00
gambas
0975e520db JIT: Handle function datatype by raising a type mismatch error.
[INTERPRETER]
* NEW: JIT: Add an API for throwing type mismatch errors.
* BUG: Raise a type mismatch error when converting a function to a variant. Don't panic anymore.

[GB.JIT]
* BUG: Handle function datatype by raising a type mismatch error.
2018-08-11 14:06:46 +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
gambas
6018b475b6 Oct$() is a new functions that converts an integer to its octal representation.
[COMPILER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.

[INTERPRETER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
2017-10-05 04:11:00 +02: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
217f075c8b [INTERPRETER]
* OPT: Collection access is faster now.
* OPT: LINE INPUT and INPUT are faster now.
* OPT: Conversions to Boolean, from and to Variant are faster now.


git-svn-id: svn://localhost/gambas/trunk@7440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-02 03:24:44 +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
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
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
f097f0a10b [INTERPRETER]
* BUG: Fix Format$().


git-svn-id: svn://localhost/gambas/trunk@3432 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 20:08:49 +00:00
Benoît Minisini
72aee6fbc1 [INTERPRETER]
* NEW: IsInteger(), IsLong(), IsFloat(), IsDate() and IsNumber() argument 
  now must be a string. There is no automatic conversion anymore.


git-svn-id: svn://localhost/gambas/trunk@3390 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 17:29:39 +00:00
Benoît Minisini
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* BUG: Code indentation routine correctly handles structures now.

[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by 
  the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.

[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".

[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
  inside compound controls (ValueBox, ButtonBox, MenuButton).

[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.

[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.


git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:05:42 +00:00
Benoît Minisini
a79dead4f4 [INTERPRETER]
* BUG: The Val() and IsXXX() functions algorithm has been fixed. Now the 
  string is trimmed before being converted. Thousand separators are really 
  valid only to separate thousands. Extra non-space characters at the end
  of the string make the conversion fail.


git-svn-id: svn://localhost/gambas/trunk@3382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-20 03:26:00 +00:00
Benoît Minisini
0f031c5741 [COMPILER]
* BUG: Define LLONG_MAX constant when it is not defined.


git-svn-id: svn://localhost/gambas/trunk@3338 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-30 15:03:47 +00:00
Benoît Minisini
6a15492e9c [INTERPRETER]
* NEW: The scaring change. IsByte(), IsShort(), IsSingle(), IsString(), 
  IsPointer(), IsObject() and IsVariant() have been removed. IsNull() has
  been kept unchanged.
* NEW: IsInteger() now returns if a string can be converted to an Integer
  number.
* NEW: IsLong() now returns if a string can be converted to an Integer or a
  Long number.
* NEW: IsFloat() now returns if a string can be converted to a Float, but
  not an Integer or a Long.
* NEW: IsNumber() now returns if a string can be converted to an Integer, a
  Long or a Float.
* NEW: IsDate() now returns if a string can be converted to a Date.
* NEW: Str(True) and Str(False) now use the translation of the "True" and
  "False" string, if they exist in the current project.
* NEW: Val() now uses the translation of the "True" and "False" string, if 
  they exist in the current project.


git-svn-id: svn://localhost/gambas/trunk@3329 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 23:00:08 +00:00
Benoît Minisini
7b99389464 [INTERPRETER]
* BUG: Fix a possible crash in Val().
* BUG: Fix a possible crash when reading a non-existing key in a 
  Collection.


git-svn-id: svn://localhost/gambas/trunk@3234 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-23 01:34:15 +00:00
Benoît Minisini
c662af4ee8 [INTERPRETER]
* BUG: Format() with a void format string does not crash anymore.

[GB.IMAGE]
* BUG: Image.Colorize() does not invert red and blue anymore.


git-svn-id: svn://localhost/gambas/trunk@3232 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-21 23:49:32 +00:00
Benoît Minisini
2a60608474 [WIKI CGI SCRIPT]
* BUg: Fix the handle of formatting characters.

[INTERPRETER]
* NEW: Sizeof() now takes a datatype constant (like gb.Integer) as 
  argument, and not an expression anymore.
* NEW: Object.Sizeof() returns the memory used by an object in bytes.


git-svn-id: svn://localhost/gambas/trunk@3170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-31 12:02:08 +00:00
Benoît Minisini
b3db598050 [DEVELOPMENT ENVIRONMENT]
* BUG: Breakpoints are correctly reset when opening a new project.

[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API 
  signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.

[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
  automatically converted to uppercase.


git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-04 23:48:53 +00:00
Benoît Minisini
2c2ad90faf [INTERPRETER]
* OPT: Start some optimizations in conversion routines.


git-svn-id: svn://localhost/gambas/trunk@2989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-02 23:23:50 +00:00
Benoît Minisini
1f592094a6 [CONFIGURATION]
* NEW: Bytecode version has been increased, and so all projects must be 
  recompiled.

[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event 
  management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
  handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have 
  been removed.

[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.

[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().


git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-26 22:01:28 +00:00
Benoît Minisini
74e8fc7fed [INTERPRETER]
* OPT: Many branch prediction optimizations.


git-svn-id: svn://localhost/gambas/trunk@2951 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 20:18:23 +00:00
Benoît Minisini
a2850ebc91 [CONFIGURATION]
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.

[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes, 
  except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a 
  pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX() 
  version instead.
* NEW: Remove now useless source files.

[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.

[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.



git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 12:43:57 +00:00
Benoît Minisini
26ab06c228 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new Read/Write syntax.

[INTERPRETER]
* NEW: New Read/Write syntax.
* NEW: IsVariant() returns if its argument is a Variant.

[COMPILER]
* NEW: New Read/Write syntax.
* NEW: Support for the old read syntax.

[WIKI CGI SCRIPT]
* NEW: Allow query arguments ("?v3" for example) inside wiki links.
* NEW: New look for the table of contents.
* BUG: Non-translated pages display again.

[GB.WEB]
* NEW: Use the new Read/Write syntax.


git-svn-id: svn://localhost/gambas/trunk@2344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-20 17:32:12 +00:00
Benoît Minisini
e91a676559 [INTERPRETER]
* NEW: VarPtr() now works on a string variable. It returns the address of 
  the string.
* NEW: TypeOf("") now returns gb.String. "" is equal to NULL yet, but now its 
  string datatype is kept.
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer.
* NEW: A Pointer can not be used as a stream directly. You must use the new
  Memory instruction for that.
* NEW: The [...] array constructor now checks the datatype of all its 
  argument to decide the type of the new array.
* BUG: The ["key":value] collection constructor now does not leak memory 
  anymore if it fails.
* NEW: A new error, "void key", whose code is 64.
* NEW: TypeOf(Null) now returns gb.Null and not gb.Object anymore.
* BUG: IIf() now returns a Variant only if needed. It uses the same 
  algorithm as the array constructor.

[COMPILER]
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer. The syntax is: hStream = Memory pPonter For Read | Write.
* NEW: Support for form controls being individually public.
* BUG: VarPtr() is compiled correctly again.


git-svn-id: svn://localhost/gambas/trunk@2339 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-17 20:58:27 +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
a3d6ba73e5 [INTERPRETER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.

[COMPILER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.



git-svn-id: svn://localhost/gambas/trunk@2091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-08 19:57:50 +00:00
Benoît Minisini
fdabd0c98c [CONFIGURATION]
* NEW: The gb.qte component has been removed.

[DEVELOPMENT ENVIRONMENT]
* NEW: Support for modules in project file deletion.

[INTERPRETER]
* BUG: Format$() now checks its second argument correctly when it is an 
  integer.
* BUG: Exported classes for components written in Gambas are now correctly 
  loaded when inheritance between them is used.

[GB.DRAW]
* BUG: Some properties of the Draw class didn't correctly check that a 
  drawing device was opened.

[GB.FORM.MDI]
* NEW: The Toolbar control now raises a Configure event when its 
  configuration has changed.

[GB.GTK]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.
* BUG: Correctly initialize the foreground and background colors at 
  Draw.Begin().

[GB.QT]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.

[GB.QTE]
* NEW: This component has been removed.


git-svn-id: svn://localhost/gambas/trunk@1939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-01 16:27:45 +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