* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.
[COMPILER]
* NEW: Support for variable number of arguments in extern functions.
[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is
defined but a null string.
git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Call the error hook before printing the error message on the
standard error output.
git-svn-id: svn://localhost/gambas/trunk@4623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* NEW: New error message when a child process cannot be run for any reason.
* BUG: EXEC / SHELL ... FOR INPUT now work correctly when OUTPUT is not
specified, and there is not a true terminal to get the data that is not
redirected.
git-svn-id: svn://localhost/gambas/trunk@4392 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in the Action property management.
[GB.GTK]
* OPT: Optimizations in the Action property management.
git-svn-id: svn://localhost/gambas/trunk@4073 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: The startup class icon is now just drawn with a dark outline.
* NEW: Error messages updated.
* NEW: French translation updated.
[INTERPRETER]
* NEW: Inheritance is stricter now: the child symbol must have exactly the
same kind than the parent symbol.
* BUG: A child method must return the same datatype as its parent method
now.
* NEW: Gambas 3 executable mime description file and icon have been renamed
so that they do not conflict with Gambas 2 files.
[GB.FORM]
* BUG: IconView.Find() has been renamed as IconView.FindAt(), to avoid the
conflict with the inherited UserControl.Find() method.
[GB.FORM.MDI]
* BUG: Workspace.Children has been renamed as Workspace.Windows, because
the Workspace.Children property was in conflict with the inherited
Container.Children property.
[GB.GTK]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
'FindAt' to match the IconView class.
[GB.IMAGE]
* NEW: Color.SetRGB() and Color.SetHSV() are two new methods that takes a
color as an integer, modifies one of its component, and returns it. They
are faster than using the ColorInfo class.
* NEW: Color.GetAlpha() returns the alpha component of a color from its
integer value.
[GB.QT4]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
'FindAt' to match the IconView class.
git-svn-id: svn://localhost/gambas/trunk@4015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Modifying table fields and indexes many times now works correctly.
* BUG: Fix drag & drop between two IDE windows.
* NEW: Pretty printer now acts on selected text.
* NEW: CSV import and automatic field conversion now can deal with both
localized and non-localized data (i.e. floating point numbers with point
or comma).
[GB.DB]
* BUG: Type mismatch error is correctly raised now when setting the value
of a Result field.
[GB.DB.FORM]
* BUG: Some fixes in DataComboView.
[GB.FORM]
* NEW: IconPanel now automatically resizes the left panel to fit its
contents.
git-svn-id: svn://localhost/gambas/trunk@3971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Write and Read instructions now deal with NULL values without crashing.
git-svn-id: svn://localhost/gambas/trunk@3946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix translation dialog layout.
[INTERPRETER]
* BUG: Fix a typo mistake in an error message.
[COMPILER]
* BUG: Fix a typo mistake in an error message.
* NEW: Remove all Mk*$() functions.
[GB.FORM]
* NEW: The FileChoose/DirChooser popup menu has been redesigned.
* NEW: That popup menu has now a function to uncompress tar.gz and tar.bz2
archive files.
git-svn-id: svn://localhost/gambas/trunk@3648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Error.Raise("") does not crash the interpreter anymore. It displays
"Unknown error" instead.
git-svn-id: svn://localhost/gambas/trunk@3529 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Found a workaround for the AX_CFLAGS_GCC_OPTION macro bug in
autoconf 2.67.
[DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to display wiki help for symbols located in libraries.
* NEW: A new project tree filter that shows files that must be added to the
version control system.
[WIKI CGI SCRIPT]
* BUG: Use the correct language code for czech language.
* BUG: Be more clever with formatting characters having a space before or
after them.
[INTERPRETER]
* NEW: Serialization now detects circular references and raises an error.
git-svn-id: svn://localhost/gambas/trunk@3253 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "Save project as" now uses a dialog box that allows to choose the
project new name.
* NEW: CSV file import dialog now can ignore the file first lines.
* NEW: CSN file import dialog now saves its contents in the setting file.
[INTERPRETER]
* BUG: Correctly remove '\t' from error messages, as that character is used
by the debugger as separator.
* BUG: Release invalid automatic instances again.
[GB.DB.FORM]
* OPT: Use a transaction when deleting many rows in DataView.
[GB.DB.POSTGRESQL]
* BUG: Remove a debugging message.
[GB.GTK]
* BUG: Changing the stack order of a control now correctly triggers a
parent arrangement.
[GB.QT4]
* BUG: Changing the stack order of a control now always triggers a parent
arrangement.
git-svn-id: svn://localhost/gambas/trunk@3225 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: System.FirstDayOfWeek is a new property that allows to define the
first day of the week if the default is not accurate. The default value
is gb.Sunday for english countries and gb.Monday otherwise.
* NEW: The Week() function now use the default first day of the week.
[GB.FORM]
* NEW: DateChooser now takes System.FirstDayOfWeek into account.
git-svn-id: svn://localhost/gambas/trunk@3151 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Print a summary of warning messages after each component
compilation.
[INTERPRETER]
* BUG: StrPtr() with a length argument now works correctly.
* NEW: Support for callbacks: when converting a function to a Pointer, an
internal closure is created with the libffi library. The pointer then can
be sent to any extern function as function pointer argument.
* BUG: Opening memory stream should work in all cases now.
git-svn-id: svn://localhost/gambas/trunk@3038 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Correctly deals with unknown components in the project property
dialog.
[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.
[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a
specified color.
git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* NEW: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix an uninitalized flag in the stream internal structure.
* BUG: Remove a forgotten debugging breakpoint.
git-svn-id: svn://localhost/gambas/trunk@2845 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The container arrangement is now displayed with a little icon on the
top right corner, only when the mouse cursor is inside the container.
[INTERPRETER]
* BUG: Event handlers defined in inherited class are called correctly now,
without crashing.
git-svn-id: svn://localhost/gambas/trunk@2806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Configuration summary should be printed correctly again.
* NEW: README file was updated.
[INTERPRETER]
* BUG: The Error information should not be lost anymore during error
propagation through constructors.
* NEW: Natural comparison is now always language-aware.
[GB.QT4]
* BUG: TextArea selection methods work correctly now.
* BUG: TreeView.Count and ColumnView.Count now return the number of items
in the view like in gb.gtk, not just the number of root items.
git-svn-id: svn://localhost/gambas/trunk@2643 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: gb.Text has been deprecated, and a warning is printed each time it
is used now. Use gb.IgnoreCase instead.
* NEW: Natural string comparison and sorting were implemented. Use the
gb.Natural constant for that.
git-svn-id: svn://localhost/gambas/trunk@2640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the compilation and installation order of sub-directories.
[INTERPRETER]
* BUG: Never display newlines inside error message, the debugger does not
like them.
[GB.FORM]
* BUG: Right and bottom SidePanels now shrink as expected when their parent
container has no arrangement.
[GB.GTK]
* BUG: When a modal window is running, only it can be closing from the
window manager close button.
git-svn-id: svn://localhost/gambas/trunk@2629 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not use the "echo" command with options, FreeBSD shell does
not understand it.
* BUG: Make the "main" directory compile on Mac OS X.
git-svn-id: svn://localhost/gambas/trunk@2619 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The constructor arguments must follow the inheritance order from top
to bottom, and not from bottom to top as before. This way, the
constructor of the bottom class can have optional arguments.
git-svn-id: svn://localhost/gambas/trunk@2448 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix the interaction between subversion and directory renaming or
moving. Now deleted or renamed folders that are not committed are now
locked.
* NEW: Some message boxes related to file operations were replaced by
balloons.
* BUG: Fix a bug when renaming a source directory.
[INTERPRETER]
* BUG: Errors raised by components are correctly displayed again.
git-svn-id: svn://localhost/gambas/trunk@2360 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Runtime error messages are now translatable. At least those that
have an error code. Custom error messages coming from component are not
translatable yet.
* NEW: French translation of runtime error messages.
[INTERPRETER]
* NEW: When running in debugging mode, error messages are formatted to be
easily translatable.
git-svn-id: svn://localhost/gambas/trunk@2347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
editor.
* NEW: Panels with Border property set to None are now drawn with a light
border.
* BUG: Fix the "Show tab" button and menu.
[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an
object is attached to or detached from its event observer. The first
argument of this method is the event observer, and the second argument
the event handler prefix.
[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not
work inside braces.
[GB.DB]
* BUG: Fix an error message in the sqlite handler.
[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is
ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
its children.
* NEW: DataView automatically adjusts the height of its rows to the
contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows
stored in the internal DataSource cache. When this property is set to
zero, the cache size takes its default value (64 rows).
[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.
[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.
[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is
visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.
git-svn-id: svn://localhost/gambas/trunk@2108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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