* BUG: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New "Gamabs" highlight theme.
* BUG: When showing the search dialog, the search text is correctly
selected in all cases now.
* BUG: Importing a report (or any form that is not a GUI form) now
correctly imports the class file.
[EXAMPLES]
* NEW: Add a text clipping example in the 'Painting' example.
[INTERPRETER]
* OPT: Replace() is now faster when the search string and the replace
string are both one character length strings.
[COMPILER]
* NEW: The string escape character '\v' was added.
[GB.GTK]
* BUG: Paint.Text() now works correctly when the alignment is not
specified.
[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.
[GB.QT4]
* BUG: Paint.Save() and Paint.Restore() take the clipping path into account
now.
[GB.SETTINGS]
* NEW: Use a temporary file when saving a settings file, and always make a
backup.
[GB.WEB]
* NEW: The Session.Modify() method was replaced by a read/write Modified
property.
git-svn-id: svn://localhost/gambas/trunk@4273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnConvVariant() is a new API that ensures that the returned
value is a Variant, as now the interpreter does not do the conversion
automatically.
* BUG: Use the new GB.ReturnConvVariant() and the GB.ReturnVariant() API
everywhere it is needed.
git-svn-id: svn://localhost/gambas/trunk@4248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The lowest long integer constant (-9223372036854775808) is correctly
interpreted now.
[GB.EVAL]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly
interpreted now.
git-svn-id: svn://localhost/gambas/trunk@4230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: New syntax for GB.AddString() and GB.ExtendString() interpreter API.
Do not pass the string by reference anymore.
* NEW: GB.AddChar() is a new API for adding just a char to a string.
[GB.DB.SQLITE2]
* BUG: Fix ignored system call return values.
[GB.DB.SQLITE3]
* BUG: Fix ignored system call return values.
[GB.DB.NET]
* BUG: Fix ignored system call return values.
[GB.V4L]
* BUG: Remove some unused local variables.
git-svn-id: svn://localhost/gambas/trunk@4105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Use an intermediate string buffer when analyzing a line of code.
git-svn-id: svn://localhost/gambas/trunk@4074 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
* BUG: Fix the use of boolean in the interpreter API.
* NEW: Change the GB.New() API signature, and update all components
accordingly.
git-svn-id: svn://localhost/gambas/trunk@3846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '\0' is a new string escape character for Chr$(0).
[GB.DRAW]
* NEW: Several Draw.Begin() and/or Paint.Begin() on the same device can be
safely imbricated.
[GB.EVAL]
* NEW: '\0' is a new string escape character for Chr$(0).
[GB.FORM]
* NEW: ButtonBox.Alignment is a new property to define the alignment of its
internal TextBox.
* NEW: New syntaxes for the MaskBox mask:
- '<' just after a mask character and just before a separator means that
the text before will be right-aligned.
- '!' marks the default cursor position when the MaskBox gets the focus.
git-svn-id: svn://localhost/gambas/trunk@3450 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* NEW: The preprocessor now understands three constants: SYSTEM,
ARCHITECTURE (or ARCH), and VERSION (or GAMBAS). The VERSION constants
didn't change. The two others return a string that can be compare with
equality or inequality operator. The comparison is not case sensitive.
[GB.EVAL]
* NEW: Comments are correctly highlighted in preprocessor lines.
git-svn-id: svn://localhost/gambas/trunk@3376 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* BUG: Fix the help browser for classes whose name begins with an
underscore.
* BUG: Fix project loading when there are breakpoints set on non-existing
classes.
[INTERPRETER]
* BUG: Fix the behaviour of Eval() when the expression cannot be compiled.
* BUG: Error.Text does not crash anymore when the error message is void.
[COMPILER]
* BUG: Fix the parser behaviour when a non-terminated string is located at
the end of the file.
[GB.EVAL]
* BUG: Fix the parser behaviour when a non-terminated string is located at
the end of the expression.
[GB.GTK]
* BUG: Fix the behaviour of Label with AutoResize set.
[GB.QT4]
* BUG: Fix the behaviour of Label with AutoResize set.
git-svn-id: svn://localhost/gambas/trunk@3178 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
* BUG: Do not incorrectly use interpreter gb_error.h header file, it crashes!
git-svn-id: svn://localhost/gambas/trunk@3092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Rewriting class names works now when the class name has only one
character.
git-svn-id: svn://localhost/gambas/trunk@3025 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: 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
* 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: 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
* 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
* NEW: CygWin needs a -no-undefined flag when linking.
[INFORMER]
* BUG: Use dlopen() on CygWin.
[INTERPRETER]
* BUG: Fix some misuse of signed char.
[GB.DB]
* BUG: Fix some misuse of signed char.
[GB.EVAL]
* BUG: Fix some misuse of signed char.
git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.EVAL]
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.FORM]
* BUG: In DateChooser, switching to February works now, when there is 28
days in February and the current day is greater or equal than 29.
git-svn-id: svn://localhost/gambas/trunk@2651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Linkification does not erase symbols references anymore.
[INTERPRETER]
* BUG: Use the system maximum path length constant, not ours.
[COMPILER]
* BUG: Allow Inherits to be followed by any indentifier.
git-svn-id: svn://localhost/gambas/trunk@2647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new mascot to draw project directory icon.
[EXAMPLES]
* NEW: Some little changes in the Painting example.
[INTERPRETER]
* NEW: The component GB_INIT function now returns an integer that gives an
unloading order. The higher the returned number, the later the component
is unloaded. If GB_INIT returns -1, then the component shared library
will not be unloaded.
* NEW: Update GB_INIT functions in all components.
[GB.DRAW]
* BUG: Paint.Image() optional translation arguments are not inverted
anymore.
[GB.QT4]
* BUG: If Paint.LineWidth is zero, then nothing is stroked, as in gb.gtk.
* BUG: TabStrip is now correctly arranged when it has only one tab.
git-svn-id: svn://localhost/gambas/trunk@2605 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display help on local variables in automatic completion.
* NEW: Enhance the help wiki syntax. Links in uppercase are supposed to be
language keywords. And lines beginning with "+" are titles.
[WIKI CGI SCRIPT]
* NEW: Online help pages now stay in the cache during one week.
[EXAMPLES]
* BUG: The HighlightEditor example now uses Qt4.
[GB.EVAL]
* BUG: Help comments are correctly highlighted in all cases now.
[GB.FORM]
* BUG: Balloons are drawn correctly again.
[GB.QT4.EXT]
* BUG: Many bug fixes in Editor rendering.
git-svn-id: svn://localhost/gambas/trunk@2495 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Syntax highlighting for help comments.
* NEW: Implement a wiki-like syntax inside help comments.
[GB.EVAL]
* NEW: Syntax highlighting for help comments.
[GB.QT4]
* NEW: The TextArea.Line and TextArea.Column properties has been
implemented.
[GB.QT4.EXT]
* NEW: Syntax highlighting for help comments in Editor.
* OPT: Editor view has been redesigned to inherit directly Q3ScrollView
instead of Q3GridView.
* BUG: The editor background color has no impact anymore on the editor
frame.
git-svn-id: svn://localhost/gambas/trunk@2494 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes in help on project symbols.
* BUG: F2 (Find definition) now uses the help browser to display help on
classes and symbols.
* NEW: A new button in the help browser to modify the current
documentation page, by opening an external web browser for that.
[GB.EVAL]
* NEW: System.Datatypes is a new property that return a list of all native
datatypes.
[GB.WEB]
* NEW: Start implementing some HTTP cache management in the Response class.
git-svn-id: svn://localhost/gambas/trunk@2483 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Begins and Ends operator of course.
* BUG: Fix a crash when compiling a line beginning with the Read instruction.
git-svn-id: svn://localhost/gambas/trunk@2366 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
* 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
* BUG: Fix the Makefile.am files of /main/lib sub-directories.
[DEVELOPMENT ENVIRONMENT]
* NEW: Now you can define the available control substitutions of your
component in the project property dialog.
* NEW: Now you can modify local variables, global variables and any field
in debugger windows while debugging.
[INTERPRETER]
* NEW: Support for local and global variable assignment.
[GB.DEBUG]
* NEW: The debugger can assign values to expressions, local and global
variables now.
[GB.EVAL]
* NEW: Support for local and global variable assignment.
[GB.FORM]
* NEW: TableView.NoKeyboard is a new property to disable the automatic
keyboard navigation.
(GB.QT4]
* NEW: Disable the Glib event loop.
* NEW: Do not automatically proceed events after a modal dialog is closed.
git-svn-id: svn://localhost/gambas/trunk@2265 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Start replacing INCLUDE directive by *_CFLAGS in Makefile.am files.
[GB.EVAL]
* BUG: Fix a warning.
git-svn-id: svn://localhost/gambas/trunk@2215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Database manager integration continues. You can create, edit and
remove tables now. You cannot rename them yet, nor modify their contents.
* BUG: Fix popup menu activation in text editor.
* NEW: Almost any character is allowed now in the name of directories
storing source files.
[GB.DB.FORM]
* NEW: DataSource.Reset() is a new method that clears the internal
metadata cache. That method is dynamic because it is intended to only
reset the metadata associated with the DataSource. At the moment all the
metadata is dropped.
[GB.FORM]
* NEW: TableView.Save() now returns a boolean that will tell you if the
Save event has been cancelled.
* BUG: TableView should manage arrow keys correctly if the current editor
is a read-only ComboBox.
[GB.FORM.MDI]
* OPT: Toolbars do no useless layout anymore when in design mode.
[GB.QT4]
* BUG: The Message class has been fixed.
* BUG: Fix the behaviour of TabStrip when all its page are hidden.
git-svn-id: svn://localhost/gambas/trunk@2115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: WARNING! The bytecode has changed, so every project needs to be
recompiled.
[WEB SITE MAKER]
* NEW: Some more translations.
[INTERPRETER]
* NEW: Assign() is a new function. It is like Eval(), except that the
expression can be an assignment.
[GB.EVAL]
* NEW: Implementation of the new Assign() function.
* NEW: The Expression.Compile() method takes a new optional boolean
argument that indicates if we are compiling an assignment or not.
[GB.NET.CURL]
* BUG: A asynchronous transfer that ends do not stop the other ones
anymore.
git-svn-id: svn://localhost/gambas/trunk@1986 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Store autoconf extra tests in the .project file, not in its own
hidden file anymore.
* NEW: Add KDE4 as possible icon theme.
* BUG: The packager wizard logic has been fixed.
[INTERPRETER]
* NEW: The Array class has now almost all standard array methods. They all
use Variant as array contents datatype, internally converting values to
the real array datatype.
* NEW: Quote$() now keeps characters whose code is greater as 126 unquoted.
[COMPILER]
* NEW: '\b' and '\f' are two new escaped sequences in strings.
* BUG: Move some debugging breakpoint instructions so that the debugger
breaks at the right line when there is an error during an IF or a CASE
instruction.
[GB.EVAL]
* NEW: '\b' and '\f' are two new escaped sequences in strings.
[GB.FORM]
* NEW: Some new stock icons.
[GB.QT.EXT]
* NEW: Editor.Lines[].GetInitialState() fills the Highlight properties
(State, Tag and AlternateState) with the initial state of a line.
[GB.WEB]
* NEW: JSON is a new class that can encode and decode the JSON format.
git-svn-id: svn://localhost/gambas/trunk@1925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Replace some specific icons by stock icons.
* NEW: Support for the new alternate background style in themes.
* NEW: Support for server web pages syntax highlighting.
[GB.EVAL]
* NEW: Highlight.Alternate is a new constant for the new alternate
background style.
* BUG: Highlight.Analyze() should now deal correctly with UTF-8 patterns.
* NEW: Highlight.Analyze() now takes a new optional argument. If this
argument is set to TRUE, then the Gambas code line will be rewritten.
* NEW: Highlight.TextAfter is a new property that returns Highlight.Text
after is has been rewritten.
[GB.QT.EXT]
* NEW: Highlight.Alternate is a new constant for the new alternate
background style.
* NEW: Highlight.AlternateState tells the custom highlighter if the
alternate background must be used by the next Highlight.Add() call.
* NEW: Support for the new alternate background style in Editor.
git-svn-id: svn://localhost/gambas/trunk@1921 867c0c6c-44f3-4631-809d-bfa615b0a4ec