Commit graph

149 commits

Author SHA1 Message Date
Benoît Minisini
fce4691c9f [DEVELOPMENT ENVIRONMENT]
* NEW: The about dialog has been redesigned.
* NEW: The system information tab in the about box now detects the current 
  desktop.

[GB.DESKTOP]
* NEW: The following desktops should be detected now: WindowMaker, 
  Enlighnement.

[GB.GTK]
* NEW: Support for screen available geometry.


git-svn-id: svn://localhost/gambas/trunk@3464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-17 16:07:50 +00:00
Benoît Minisini
2b432beca0 [DEVELOPMENT ENVIRONMENT]
* BUG: Error raised inside form generated code are correctly displayed 
  again.

[INTERPRETER]
* NEW: The GB.Every() API now takes a pointer argument that will be passed
  to the callback.


git-svn-id: svn://localhost/gambas/trunk@3430 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 18:24:50 +00:00
Benoît Minisini
3ead02082c [DEVELOPMENT ENVIRONMENT]
* BUG: Don't show '$' in the dependencies combo-box of the component 
  property dialog.

[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
  regularly. Useful for polling something for example.


git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 17:09:54 +00:00
Benoît Minisini
adf553d56b [INTERPRETER]
* NEW: Support for NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[COMPILER]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[GB.EVAL]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.


git-svn-id: svn://localhost/gambas/trunk@3407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 08:21:51 +00:00
Benoît Minisini
47bec5f339 [DEVELOPMENT ENVIRONMENT]
* NEW: Enhance the import wizard. The list of conversions that are 
  automatically handled is in the wiki.

[WIKI CGI SCRIPT]
* BUG: Do allow '{' and '}' between '=='. But then allow lines to begin 
  with a slash, to escape those characters.
* BUG: Display correctly titles with a '#' inside.

[COMPILER]
* NEW: DownTo is a new keyword for decrementing For...Next loops. You can
  save some "Step -1" with it.

[GB.QT4]
* BUG: Fix a reference leak with DnD operations started outside of then
  application.


git-svn-id: svn://localhost/gambas/trunk@3402 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-28 02:24:20 +00:00
Benoît Minisini
3cf59d321a [DEVELOPMENT ENVIRONMENT]
* NEW: Files can be dropped from files managers to the project treeview.
  They are automatically inserted into the project then.

[WIKI CGI SCRIPT]
* BUG: '{' and '}' are not interpreted anymore between '=='.

[BENCHMARKS]
* NEW: Add Gambas/Perl/Python benchmarks to the repository.

[INTERPRETER]
* NEW: A Stop instruction encountered inside a component is not ignored
  anymore and stops the program.
* BUG: Fix the File.SetName, File.SetExt and File.SetBaseName methods.

[COMPILER]
* NEW: The preprocessor now undestands the False and True constants.

[GB.FORM]
* NEW: Clean up the Stock class icon loading algorithm.
* BUG: Fix the Gnome icon map.

[GB.FORM.STOCK]
* NEW: Support for svg stock icons.

[GB.QT4]
* BUG: Drag.Show() now works for DnD operations started outside of the 
  application.

[GB.GTK]
* BUG: Drag.Show() now works for DnD operations started outside of the 
  application.


git-svn-id: svn://localhost/gambas/trunk@3400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-27 14:28:59 +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
776937cb72 [DEVELOPMENT ENVIRONMENT]
* NEW: Define preprocessor color for all highlighting themes.

[COMPILER]
* NEW: The maximum number of constants in a class is now 65536.

[INTERPRETER]
* NEW: The maximum number of constants in a class is now 65536.


git-svn-id: svn://localhost/gambas/trunk@3383 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-20 03:56:43 +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
28ec164ea6 [INTERPRETER]
* NEW: Ceil() and Floor() functions.

[COMPILER]
* NEW: Ceil() and Floor() functions.


git-svn-id: svn://localhost/gambas/trunk@3378 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-19 13:56:34 +00:00
Benoît Minisini
b38df04095 [DEVELOPMENT ENVIRONMENT]
* NEW: In icon editor, the width of the selection frame now follows the 
  zoom level.
* NEW: Support for preprocessor highlighting.

[COMPILER]
* NEW: Integrated preprocessor. The following commands are supported:
  #If <expr>, #Else If <expr>, #Else and #Endif. <expr> can be a 
  combination of constants (OS_LINUX, OS_FREEBSD, ARCH_X86, ARCH_X86...),
  parenthesis, 'And' & 'Or' operators, version test (VERSION >= "3.0").
  This is work in progress.

[GB.EVAL]
* NEW: A new highlighting color for the preprocessor.

[GB.QT4.EXT]
* NEW: A new highlighting color for the preprocessor in Editor control.


git-svn-id: svn://localhost/gambas/trunk@3374 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-18 04:27:59 +00:00
Benoît Minisini
c5a29da470 [COMPILER]
* NEW: '%' is a new operator that is a synonymous for 'MOD'. It has its
  assignment operator shortcut '%=' too.


git-svn-id: svn://localhost/gambas/trunk@3362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-13 23:46:01 +00:00
Benoît Minisini
1354ca2af7 [GB.DB.ODBC]
* BUG: Table existence should be checked correctly now.

[GB.DRAW]
* NEW: Paint.DrawImage() is a new utility function to paint an image 
  easily.

[GB.QT4]
* BUG: Printer.Count is now 1 by default.
* BUG: Found a workaround to the Qt bug #5114. Now the brush matrix is 
  taken into account when painting on a Printer object.


git-svn-id: svn://localhost/gambas/trunk@3347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-07 01:20:40 +00:00
Benoît Minisini
26b363c96f [WIKI CGI SCRIPT]
* NEW: Button to "flattr" Gambas.

[INTERPRETER]
* BUG: Fix some possible uses of unitialized values.

[COMPILER]
* BUG: Fix a possible crash when having 63 arguments passed by reference 
  to a function.

[GB.DB.SQLITE3]
* BUG: Detect integer primary key whatever the case used to write 
  "integer".

[GB.GTK]
* BUG: Page setup is enabled in printer configuration dialog now.

[GB.QT4]
* BUG: The font size of printed texts is now correct.


git-svn-id: svn://localhost/gambas/trunk@3344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-05 20:17:24 +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
521b2c933c [COMPILER]
* NEW: Remove the MkPtr$() synonymous.


git-svn-id: svn://localhost/gambas/trunk@3331 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-28 10:05:50 +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
662e4282bf [INTERPRETER]
* NEW: The argument of Byte@(), Short@()... functions now can be a string.
  Then the address of the string in memory is used.
* BUG: Structures allocated with the NEW operator are correctly freed now.
* NEW: READ and WRITE now can deal with structures and embedded arrays.
* NEW: Dir?() synonymous has been removed.


git-svn-id: svn://localhost/gambas/trunk@3322 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-26 20:30:58 +00:00
Benoît Minisini
ab38b98a1c [COMPILER]
* NEW: Remove MkPtr$() and Ptr@().


git-svn-id: svn://localhost/gambas/trunk@3321 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-24 16:03:18 +00:00
Benoît Minisini
f7a157204b [INTERPRETER]
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.

[COMPILER]
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.
* NEW: CLng(), CSng(), CVar(), CPtr() abbreviations were removed.
* NEW: CBoolean() was added.


git-svn-id: svn://localhost/gambas/trunk@3320 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-24 16:00:39 +00:00
Benoît Minisini
8aacf23491 [COMPILER]
* BUG: Use the right symbol table.


git-svn-id: svn://localhost/gambas/trunk@3319 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-24 02:22:50 +00:00
Benoît Minisini
030523326f [INTERPRETER]
* NEW: Mem$() is a new function that returns a string from the internal 
  memory representation of a value.
* NEW: BoolPtr() has been replaced by Bool@(), BytePtr() has been replaced 
  by Byte@(), and so on...
* NEW: StrPtr() has been replaced by String@().

[EXAMPLES]
* NEW: Search support in the WebBrowser example.


git-svn-id: svn://localhost/gambas/trunk@3318 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-24 01:30:36 +00:00
Benoît Minisini
8873a0e1cc [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly handle all compiler error messages.

[INTERPRETER]
* NEW: Full management of the Single datatype.
* BUG: VarPtr() now works on Single local variables.
* BUG: Remove useless Tag property. It is defined in the Stream class now.
* BUG: Correctly free the Tag property in the Stream class.

[GB.GTK]
* BUG: Rich-text string management has been fixed. The ampersand character, 
  the "&amp;", "&gt;" and "&lt;" entites are correctly interpreted now.

[GB.NET.CURL]
* BUG: Remove useless Tag property. It is defined in the Stream class now.

[EXAMPLES]
* NEW: The WebBrowser example has a download manager now.


git-svn-id: svn://localhost/gambas/trunk@3296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-16 01:49:18 +00:00
Benoît Minisini
63eefd927c [INTERPRETER]
* BUG: File.Load() now can read special files (like those in /proc) whose 
  size is zero even if they are not void.
* BUG: The native method error flag is not incorrectly propagated anymore
  when an error is raised.


git-svn-id: svn://localhost/gambas/trunk@3277 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-06 03:27:58 +00:00
Benoît Minisini
8aac47f84d [EXAMPLES]
* BUG: Fix the Database example.

[INTERPRETER]
* BUG: Fix unchecked system calls.

[ARCHIVER]
* BUG: Prevent the archiver from putting the executable file into itself, 
  leading to a endless growing generated file.
* NEW: Files having the ".gambas" extension are now excluded from 
  executable archives.

[GB.DB.FORM]
* BUG: Remove the DataBrowser.Adjust property.


git-svn-id: svn://localhost/gambas/trunk@3272 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-31 22:05:29 +00:00
Benoît Minisini
23dd0b0299 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not search text inside form anymore.

[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not 
  conflict with anythign having the same name in components. The 
  interpreter API that was returning the startup class has been updated
  to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning 
  "b", to be coherent with File.Dir().

[GB.DESKTOP]
* NEW: Use the new API returning the startup class.

[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
  anymore.

[GB.GTK]
* NEW: Use the new API returning the startup class.

[GB.QT4]
* NEW: Use the new API returning the startup class.

[GB.SIGNAL]
* NEW: Use the new API returning the startup class.


git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-15 00:23:11 +00:00
Benoît Minisini
68ede3cb8b [INTERPRETER]
* BUG: Interpreter API for enumerating collections is now reentrant.

[GB.DBUS]
* NEW: Use the new collection enumerator function.


git-svn-id: svn://localhost/gambas/trunk@3255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-06 12:03:27 +00:00
Benoît Minisini
4dc396ffe8 [DEVELOPMENT ENVIRONMENT]
* BUG: No error messages should be displayed anymore when refreshing the 
  search list.

[WIKI CGI SCRIPT]
* BUG: Fix formatting characters handling.

[INTERPRETER]
* NEW: WRITE and READ instructions can handle collections and arrays. Call
  that "serialization".

[GB.WEB]
* OPT: Replace session serialization code by the new powers of READ and 
  WRITE instructions.


git-svn-id: svn://localhost/gambas/trunk@3244 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-27 19:34:27 +00:00
Benoît Minisini
bddbc3a62a [INTERPRETER]
* BUG: Fix a compilation warning on 32 bits systems.

[GB.SDL]
* BUG: Fix a function that was not returning any value.


git-svn-id: svn://localhost/gambas/trunk@3239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-24 13:52:23 +00:00
Benoît Minisini
62c381c2f6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle compiler errors having column information.

[INTERPRETER]
* BUG: Manage errors from native methods differently.

[COMPILER]
* NEW: Return the column in error messages generated by the parser.

[GB.GTK]
* BUG: Make TabStrip behave like in gb.qt when inserting a new tab.


git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:51:10 +00:00
Benoît Minisini
6db743fc12 [GB.FORM]
* NEW: Polish the DirChooser/FileChooser bookmark button.

[GB.QT4]
* BUG: Send expected Leave and Enter events when a popup is closed.


git-svn-id: svn://localhost/gambas/trunk@3146 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-27 21:09:34 +00:00
Benoît Minisini
85b08d28ba [INTERPRETER]
* BUG: ARRAY_add_void() function now correctly adds a void element in the 
  array after an element has been previously removed. That bug made the 
  event loop mad in some cases!


git-svn-id: svn://localhost/gambas/trunk@3131 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-25 09:18:33 +00:00
Benoît Minisini
13c7314713 [GB.GTK]
* BUG: Correctly release Menu tags.


git-svn-id: svn://localhost/gambas/trunk@3109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 16:04:58 +00:00
Benoît Minisini
8871738fb6 [INTERPRETER]
* BUG: READ and WRITE now correctly handle Pointer datatype.
* BUG: Classes inheriting an array class now work correctly.

[GB.FORM]
* NEW: FileChooser and DirChooser have a new ShowButton property that shows 
  OK and Cancel buttons inside the control. Clicking on the Cancel button
  raises a new Cancel event.
* NEW: Bookmark management has been redesigned in file controls.
* NEW: MenuButton got an AutoResize property.

[GB.FORM.DIALOG]
* NEW: File dialogs now remember their geometry.

[GB.GTK]
* BUG: Fix duplicate Click event in CheckBox control.
* BUG: Correctly handle tristate Checkbox controls.


git-svn-id: svn://localhost/gambas/trunk@3076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-29 10:19:10 +00:00
Benoît Minisini
7f88b776ab [INTERPRETER]
* BUG: Do not crash anymore when a native function returns one of its 
  argument.
* NEW: New interpreter API to enumerate a collection.

[GB.DBUS]
* NEW: Collection are fully supported now.
* NEW: The org.freedesktop.DBus.properties.GetAll() method has been
  implemented.
* BUG: Correctly raise an error when calling a D-Bus method fails.
* BUG: Correctly release strings returned by D-Bus functions that must be
  released.


git-svn-id: svn://localhost/gambas/trunk@3058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-21 04:40:45 +00:00
Benoît Minisini
e509aab05f [DEVELOPMENT ENVIRONMENT]
* BUG: Fix class header parsing in automatic completion.

[INTERPRETER]
* BUG: Class[].Signature has been implemented.
* BUG: Fix native method calling when some arguments must be converted.
* NEW: Two new interpreter APIs, GB.BorrowValue() and GB.ReleaseValue(), to
  correctly manage values returned by GB.ReadValue().

[GB.DBUS]
* NEW: Support for exporting properties and methods. The GetAll() DBus 
  method has not been implemented yet, because marshalling Collection is 
  not supported yet. Sending signals is not supported yet too.
* NEW: The previous DBusObject class has been renamed as DBusProxy.
* NEW: A new DBusObject class. Each Gambas object that inherits DBusObject
  is automatically exported through DBus.
* NEW: DBusSignal is a new class to catch DBus signals by giving its 
  interface name.


git-svn-id: svn://localhost/gambas/trunk@3047 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-19 12:33:57 +00:00
Benoît Minisini
0bc1701225 [WIKI CGI SCRIPT]
* NEW: New look for version specific documentation.

[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression 
  beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
  BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
  PointerPtr().

[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
  course it is optional.

[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.

git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 16:33:29 +00:00
Benoît Minisini
6a680716a9 [DEVELOPMENT ENVIRONMENT]
* NEW: Store package name in the .project file.
* NEW: Take libraries into account in package dependencies.
* BUG: Fix autotools packages. Components are now stored beside the 
  "Component=" entry in the .project file. The "Library=" entry is for 
  libraries!

[ARCHIVER]
* NEW: Stores the .project file into executables.


git-svn-id: svn://localhost/gambas/trunk@3036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-11 23:13:11 +00:00
Benoît Minisini
4eee881fda [DEVELOPMENT ENVIRONMENT]
* NEW: Global search can be cancelled.
* NEW: The IDE does not try to open binary files anymore.
* NEW: Use the new TabStrip.TextFont property.
* NEW: The open project dialog has been redesigned.

[INTERPRETER]
* BUG: String.Left(), String.Mid() and String.Right() now return NULL on 
  truncated UTF-8 substrings.


git-svn-id: svn://localhost/gambas/trunk@3029 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 22:17:49 +00:00
Benoît Minisini
984d3c0dfd [INTERPRETER]
* BUG: Fix the custom realloc() internal routine on 64 bits systems.

[COMPILER]
* BUG: Fix the custom realloc() internal routine on 64 bits systems.


git-svn-id: svn://localhost/gambas/trunk@3021 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-24 01:14:12 +00:00
Benoît Minisini
727701cdeb [CONFIGURATION]
* NEW: Bytecode version has been incremented, so all projects need to be 
  recompiled!

[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction. 
  Executables are a bit larger, but a little speed is gained.

[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction. 
  Executables are a bit larger, but a little speed is gained.


git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-18 00:14:53 +00:00
Benoît Minisini
405f8f89fe [INTERPRETER]
* OPT: Some optimizations again in memory allocator, object releasing 
  routine, arithmetic operators, class variable reader, line-by-line stream
  reader, class symbol sort routine.
* BUG: Using constant strings inside variant, like database drivers, works
  correctly again and does not crash the interpreter anymore.


git-svn-id: svn://localhost/gambas/trunk@2996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-08 23:08:04 +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
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
f75d640e3b [INTERPRETER]
* NEW: StrPtr() now can take a second argument to specify the length of the 
  string we will read from memory. If that argument is not specified, the
  string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
  Gambas array class.

[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
  raises an error.


git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 21:10:36 +00:00
Benoît Minisini
4fff317030 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle structures in automatic completion.

[INTERPRETER]
* BUG: Make the malloc cache returns 8-bytes aligned pointers on 64 bits 
  systems.

[COMPILER]
* OPT: Some optimizations again.
* OPT: Do not use -O3 for symbol table routines. Valgrind says that it is 
  slower than with -Os. Strange...


git-svn-id: svn://localhost/gambas/trunk@2977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 00:11:55 +00:00
Benoît Minisini
3406d87d1d [INTERPRETER]
* BUG: Archives are read correctly again on 64 bits OS.
* OPT: Memory allocations are now cached in a memory pool, so that malloc() 
  and free() are not called too often.
* BUG: The initial allocation of a new hash table is not too big anymore.

[COMPILER]
* OPT: Memory allocations are now cached in a memory pool, so that malloc() 
  and free() are not called too often. The compiler is now twice as fast as 
  it was before all the recent optimizations!

[ARCHIVER]
* BUG: Archives are read correctly again on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@2976 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 19:33:05 +00:00
Benoît Minisini
b727d17086 [INTERPRETER]
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.

[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.

[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a 
  lot of time to do that.



git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 06:24:14 +00:00
Benoît Minisini
3412ce6442 [CONFIGURATION]
* NEW: Object file format has changed, so bytecode version has been 
  incremented, and all projects must be recompiled. Yes, again!

[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.

[COMPILER]
* OPT: Optimize symbol lookup tables.

[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more 
  intelligently now.


git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-27 13:51:09 +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