Commit graph

50 commits

Author SHA1 Message Date
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
abf4dfb110 PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
[COMPILER]
* NEW: PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
2019-08-22 03:13:58 +02:00
gambas
d91451cf1e Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.
[COMPILER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE. The associated bytecode is not emitted if the '-x' option is specified.

[INTERPRETER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.

[GB.DEBUG]
* BUG: Fix a potential array overflow.
2018-12-16 00:35:46 +01:00
gambas
26117d0fc9 [COMPILER]
* BUG: Compiler messages are prefixed with 'gbc3:', not just 'gbc:'.
* NEW: Make loop variable errors more accurate.
2018-12-14 05:16:24 +01:00
gambas
a1f96a549c Allow loop variables to be declared inside the loop syntax.
[COMPILER]
* NEW: Allow loop variables to be declared inside the loop syntax.
* NEW: Consequently, FOR EACH now can only use local variables.

[INTERPRETER]
* OPT: A little optimization of integer loops. They are about 5% faster now.
2018-12-13 13:15:33 +01:00
gambas
82a9dca733 Allow local variable declaration anywhere in the function.
[COMPILER]
* NEW: Allow local variable declaration anywhere in the function. The local symbol still has a function scope, but can be used after its declaration only.
2018-12-11 02:40:14 +01:00
gambas
5f4f12acf3 [COMPILER]
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.

[INTERPRETER]
* NEW: Support for the UNSAFE keyword.

[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
2018-06-29 00:10:31 +02:00
gambas
4e50dec11d Work continues on new JIT system. Translation is now done at runtime.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.

[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
2018-06-09 22:42:35 +02:00
gambas
23081e47c6 Work continues on new JIT system. The "Fractal" example runs!
[INTERPRETER]
* NEW: Implement return value of JIT methods.
* NEW: Support for calling '.' operator from a JIT method.

[COMPILER]
* BUG: JIT: Fix detection of native arrays.
* BUG: JIT: Delete translated file if a class has no fast method anymore.
* BUG: JIT: Prefix JIT method with "jit_" to avoid possible conflicts.
* BUG: JIT: Fix variable initialization.
* NEW: JIT: Complete datatype support.
* NEW: JIT: Support for SWAP.
* NEW: JIT: Support for array operators.
* BUG: JIT: Fix arithmetic operators.
* NEW: JIT: Implement ME and "." operator.
* NEW: JIT: Complete GOSUB / RETURN support.
* NEW: JIT: Support for DIV and MOD operators. Not optimized yet.

[ARCHIVER]
* NEW: Put JIT translation in the archive.

[GB.JIT]
* NEW: Complete datatype support. Variant is not supported yet.
* NEW: Complete GOSUB / RETURN support.
* NEW: Support for ME and '.' operator.
2018-06-02 17:59:47 +02:00
gambas
a2b64b190a Work on new JIT system continues.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.

[INTERPRETER]
* NEW: Remove old JIT stuff.

[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
2018-05-28 03:18:44 +02:00
gambas
d797a545b6 [COMPILER]
* NEW: Work on JIT continues...
* NEW: Better panic errors.

[INTERPRETER]
* NEW: Remove the old JIT stuff.
* NEW: Calls gb.jit at runtime if needed. If a fast function has no jit implementation, the bytecode version is used.
* NEW: Start defining the JIT interface needed by the JIT functions.
* NEW: The common static character buffer is now twice the size of the maximum symbol length, to avoid possible overflows.

[GB.JIT]
* NEW: Compilation starts to work.
* NEW: Debugging messages.
2018-05-26 16:50:00 +02:00
gambas
ebd8963617 Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
* NEW: Initial support for arithmetic instructions.
2018-05-24 00:31:58 +02:00
gambas
dfeb4243ab Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
2018-05-18 02:19:28 +02:00
gambas
f39f7063ef Start working on the new jit system.
[COMPILER]
* NEW: Start working on the new jit system.

[GB.JIT]
* NEW: Rename the component as 'gb.jit.llvm'.
2018-05-17 01:13:56 +02:00
gambas
d1f6bc62c4 Add a warning for uninitialized local and private global variables.
[COMPILER]
* NEW: Add a warning for uninitialized local and private global variables.
2018-02-14 17:03:14 +01: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
65c83f1407 Compile breakpoints for functions whose name begins with a '$'.
[COMPILER]
* BUG: Compile breakpoints for functions whose name begins with a '$'.
2017-09-26 01:49:57 +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
c324389180 [COMPILER]
* NEW: Rename the internal class initialization method from "$load" to "@load", so that the valid identifier "$load" can be freely used by the user.


git-svn-id: svn://localhost/gambas/trunk@7797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-06-07 00:08:11 +00:00
Benoît Minisini
8d24b22411 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the function that detects if a control needs a parent.
* BUG: When adding every new file to the subversion repository, the
  '.gambas' directory is now correctly ignored.

[COMPILER]
* NEW: The _load() special method is now called just after the initial form
  creation is finished.

[GB.WEB.FORM]
* NEW: Message is a new class for displaying message boxes.
* BUG: Fix management of control names.
* NEW: Implement the WebContainer.Delete() method and WebWindow.Delete()
  methods. Child controls are now automatically deleted if their parent is
  also deleted.
* NEW: WebControl.Show() and WebControl.Hide() are two new methods that are
  synonymous of the Visible property.
* NEW: WebControl acts now like an collection-like array, so that you can
  store user data associated with a control in the session.
* NEW: WebControl.Reset() is a new method to reset the control user data.
* NEW: WebForm.ShowModal() shows a form as a modal window.
* NEW: WebForm.Show() does not take an optional parent anymore. Windows are
  always shown in the current form.
* NEW: Windows with no initial size are centered.
* NEW: WebImage is a new control that displays an image.
* NEW: WebLabel is a new control that displays a one-line vertically
  centered label.
* NEW: WebTextArea is a new control that implements a multi-line text area.


git-svn-id: svn://localhost/gambas/trunk@7482 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-18 01:29:28 +00:00
Benoît Minisini
2599961aca [DEVELOPMENT ENVIRONMENT]
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or 
  remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
  normal ComboBox.

[INTERPRETER]
* NEW: Support for the new '*.list' file format.

[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is 
  overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or 
  property declaration can now be surrounded by braces to prevent a 
  possible warning.

[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
  has a close button.

[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
  successful.


git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-16 00:31:59 +00:00
Benoît Minisini
3dc12551df [COMPILER]
* BUG: Raise an error if a function has too many arguments or too many 
  local variables.


git-svn-id: svn://localhost/gambas/trunk@6223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 11:02:17 +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
c61a906431 [DEVELOPMENT ENVIROMNENT]
* BUG: Do 'svn cleanup' in the parent directory of the project.

[COMPILER]
* BUG: Do not emit inaccurate line number information for forms and global
  variables with no initialization.

[INTERPRETER]
* BUG: When creating the process temporary directory, check the permissions
  of both the top directory (gambas.<userid>) and the process directory 
  inside.


git-svn-id: svn://localhost/gambas/trunk@5461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-22 00:23:51 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +00:00
Benoît Minisini
2ab47c59e0 [COMPILER]
* NEW: Support for IF ... THEN ... ELSE syntax on the same line.


git-svn-id: svn://localhost/gambas/trunk@5236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 22:43:36 +00:00
Benoît Minisini
1937a67353 [DEVELOPMENT ENVIRONMENT]
* NEW: Pressing SHIFT with the RETURN key prevents automatic variable 
  declaration.
* BUG: Automatic variable declaration takes TRY into account.
* BUG: Automatic variable declaration now understands more expressions.
* NEW: Add a filter to the example tab of the open project dialog.

[INTERPRETER]
* NEW: String.UCaseFirst() is a new method that capitalize the first letter
  of an UTF-8 string.

[COMPILER]
* NEW: If a function argument is enclosed with braces, then no warning is
  emitted if it overrides a global symbol.

[GB.FORM]
* BUG: Transparent SidePanel controls do not eat one pixel of their 
  contents anymore.
* NEW: TabPanel draws its focus highlight differently.
* NEW: ScrollArea now draws a shadow only if the corresponding scrollbar is
  visible.


git-svn-id: svn://localhost/gambas/trunk@5128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-05 18:36:59 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +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
092b3abfa3 [COMPILER]
* NEW: Raise an error now when using TRY with GOTO, BREAK, CONTINUE or 
  STOP.


git-svn-id: svn://localhost/gambas/trunk@4523 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:05:55 +00:00
Benoît Minisini
f5682bf3b4 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.

[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
  using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when 
  trying to remove a non-empty directory.

[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having 
  the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the 
  user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the 
  group as defined in the /etc/group file.


git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 08:54:57 +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
e531a4e05f [CONFIGURATION]
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.

[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.


git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-16 19:24:01 +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
210a396888 [DEVELOPMENT ENVIRONMENT]
* NEW: Do not store the svn revision in the .project file.
* NEW: Create a clever menu hierarchy when sorting recent files by path.

[INTERPRETER]
* BUG: Replace() correctly returns its first argument when its second
  argument is a void string.

[COMPILER]
* BUG: Remove a useless test.

[GB.FORM]
* NEW: Add a svg version of the GNU logo.
* BUG: Fix some stock icons in the Gnome map.

[GB.GTK]
* BUG: Fix possible crashes in three utility routines.
* BUG: Fix a crash in GridView.Rows[].Text property.

[GB.NET.SMTP]
* BUG: Fix an always true test.


git-svn-id: svn://localhost/gambas/trunk@3206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-11 10:23:36 +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
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
b0a0c52af0 [INTERPRETER]
* NEW: More work on structure support.
* BUG: Fix optimization in error management.

[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the 
  Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE, 
  which is smaller!
* NEW: Do not compute variable position and size, as it is done by the 
  interpreter anyway.

[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.

[GB.XML.RPC]
* BUG: The component compiles again.



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +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
d49fe17d83 [DEVELOPMENT ENVIRONMENT]
* NEW: Remove any use of Component.UserPath and any reference to "user 
  component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
  projet property dialog. At the moment, libraries exported classes are not
  taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.

[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command 
  line does not crash anymore.

[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.

[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.

[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after 
  having its last character deleted.


git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 10:46:57 +00:00
Benoît Minisini
c17951fcd3 [DEVELOPMENT ENVIRONMENT]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[INTERPRETER]
* BUG: The &/ operator keeps only one slash if both the last character of 
  the left string and the first character of the right string is a slash.
* NEW: 'Begins' is a new string operator that checks if the beginning of a 
  string is equal to another string.
* NEW: 'Ends' is a new string operator that checks if the end of a string 
  is equal to another string.
* BUG: Errors raised by Eval() are correctly displayed again.
* NEW: The 'Like' operator has a new pattern: '{x,y,...}' tests if a 
  string matches one of the strings between square brackets, each one being
  separated by a comma.

[GB.DB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.DESKTOP]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.GTK]
* BUG: Modal windows do not block mouse, keyboard, enter and leave events 
  anymore.

[GB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.FORM.MDI]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.WEB]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.


git-svn-id: svn://localhost/gambas/trunk@2365 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-27 09:28:52 +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
9ccbaac697 [INTERPRETER]
* NEW: New API for returning the parent (event observer) of an object.

[COMPILER]
* BUG: Setting a property without having to use ME is possible now, if the
  property is defined in the same file of course.
* NEW: Mid$() can be used on the left side of an assignment.

[GB.FORM]
* BUG: ValueBox now reformats its contents after its Value property has 
  been set.

[GB.GTK]
* BUG: Composed keys are correctly handled again by KeyPress events, but
  the SCIM input method does not work yet.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: The default tray icon is the same as gb.qt now.

[GB.QT]
* BUG: TrayIcon objects are correctly destroyed at program exit.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash
  anymore when the tray icon is hidden. They return zero instead.
  

git-svn-id: svn://localhost/gambas/trunk@1187 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-17 14:54:17 +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
beba6d9435 [64 BITS]
* NEW: Continue on fixing the use of long datatype.


git-svn-id: svn://localhost/gambas/trunk@917 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-06 18:49:23 +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