* OPT: Don't use glibc memcmp() to compare strings. My own routine is a
little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been
optimized. The positions of the first 256 characters of the last string
processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
most frequent case).
git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Really fix the way Trim() handle null strings. Now there is no
memory leaks anymore.
git-svn-id: svn://localhost/gambas/trunk@4100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Quote comma in Html$().
[GB.WEB]
* NEW: Response.SetCookie() has a new optional argument to set if the
cookie is "HttpOnly".
* NEW: Session cookies are now automatically "HttpOnly".
git-svn-id: svn://localhost/gambas/trunk@4079 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
* 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
* 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
* 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
* 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
* 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
* 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: Sort project tree view with natural sort.
* NEW: Sort procedure combo-box with natural sort.
[GB.DB.FORM]
* BUG: Setting a "SELECT" request to the DataSource.Table property should
work in all cases now.
[GB.FORM.MDI]
* NEW: Vertical toolbar layout is more clever.
[GB.GTK]
* BUG: Modal windows are really modal.
* BUG: Try to prevent a possible crash in event management.
[GB.GTK.EXT]
* NEW: This component has been removed.
git-svn-id: svn://localhost/gambas/trunk@2669 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: Renaming a control now automatically renames the identifier in the
source code.
[INTERPRETER]
* NEW: Split() now takes a 5th optional argument that tells if escape
characters should be kept in the returned strings.
* NEW: CVariant() is a new function that converts its argument into a
Variant.
[COMPILER]
* NEW: CVariant() is a new function that converts its argument into a
Variant.
[GB.FORM]
* NEW: SidePanel, DirChooser, FileChooser and FileView Settings property
now use the new Settings storage facilities and return a Variant[].
[GB.GTK]
* NEW: The Settings and Layout properties of HSplit and VSplit now return
an Integer[] instead of a String.
* BUG: The name property of newly created menus is correctly initialized
now.
[GB.QT4]
* NEW: The Settings and Layout properties of HSplit and VSplit now return
an Integer[] instead of a String.
[GB.SETTINGS]
* NEW: The settings file format has changed. Now collections and arrays can
be stored and retrieved.
git-svn-id: svn://localhost/gambas/trunk@2329 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
* 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: Really converts the argument to a string in Html$(), Quote$(),
Shell$() and Unquote$().
git-svn-id: svn://localhost/gambas/trunk@1786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented again. All projects must be
recompiled!
[INTERPRETER]
* NEW: The Quote and UnQuote class were removed, and replaced by three new
functions: Quote$(), Shell$() and Unquote$().
* NEW: Html$() is a new function that does HTML quoting.
[GB.QT]
* NEW: The space between a gridview cell picture and its text is now
defined by the padding property.
[GB.WEB]
* NEW: The HTML class has been removed. Use the new Html$() subroutine
instead.
git-svn-id: svn://localhost/gambas/trunk@1763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented. All projects must be
recompiled!
[DEVELOPMENT ENVIRONMENT]
* BUG: Rewrite code that used badly overridden symbols.
[INTERPRETER]
* BUG: Check that the overridding symbol is compatible with the overridden
one. For example, a static method can be overridden by a static method
only, a constant can be overriden by a static property, and so on.
* NEW: A new error message for badly overridden symbols.
* NEW: Tr$() is a new function that translates its argument and returns it.
[GB.GTK]
* BUG: Rewrite code that used badly overridden symbols. Affected classes
are: Window, TabStrip,
[GB.FORM.MDI]
* BUG: Translate action descriptions in the action configuration dialog.
* NEW: Sort actions by description in the action configuration dialog.
* NEW: Automatically remember action configuration dialog size.
* BUG: Fix authorized shortcuts in the shortcut edit dialog.
* BUG: Rewrite code that used badly overridden symbols. Workspace is the
only affected class.
[GB.SETTINGS]
* NEW: LoadWindow() and SaveWindow() are two new public methods to load
and save window position by specifying the settings key.
[GB.QT]
* BUG: Rewrite code that used badly overridden symbols. Affected classes
are: Window, TabStrip,
git-svn-id: svn://localhost/gambas/trunk@1759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in string allocation.
[GB.DB]
* OPT: Optimization in query making. Storing big blobs inside a field in
now about twice faster.
[GB.DB.POSTGRESQL]
* BUG: Fix string quoting for postgresql >= 8.2.
git-svn-id: svn://localhost/gambas/trunk@1687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimization in Replace() when the replace string is longer than
the search string. String[].Join() becomes faster too.
git-svn-id: svn://localhost/gambas/trunk@1683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: String[].Join() was optimized when there is no escape character
specified.
* OPT: Optimize Replace() when the replace string is shorter than the
pattern string.
git-svn-id: svn://localhost/gambas/trunk@1679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Replace() was optimized when the search pattern and the replace
pattern have the same length.
git-svn-id: svn://localhost/gambas/trunk@1675 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: English and french tips were updated. A new tip was added.
* NEW: Files that were opened at project close are automatically reopened
when the project is loaded again.
* NEW: A warning message is displayed when the GNU translation tools are
not installed.
* BUG: The code editor method combo-box is correctly updated now.
* BUG: Some fixes in the automatic completion.
* BUG: Replace points by dash in the name of packages generated by the IDE
packager.
* NEW: Updated russian translation
* NEW: Updated french translation
[DATABASE MANAGER]
* NEW: Updated russian translation
[EXAMPLES]
* BUG: Fixed the Gravity and the GameOfLife examples so that they do not
use public form controls anymore.
[INTERPRETER]
* OPT: Many optimizations in the string substitution routines, the
internal datatype conversions, the INPUT and LINE INPUT instructions, the
error messages generation, the object and string reference counting, and
the memory allocation routines.
* NEW: Opening a device file in direct mode (FOR READ/WRITE) is now
automatically non blocking.
* OPT: Lof() now only tries its different methods (ioctl and lseek) once.
* BUG: Val() now ignores thousand separators characters at the end of the
number.
* NEW: A new flag for enabling the stack trace generation at each error.
[GB.DEBUG]
* BUG: The gb.debug component interface declaration was not 64-bits aware.
[GB.EVAL]
* BUG: The Highlight.Purge() method now correctly deals with non-ASCII
characters.
[GB.FORM]
* BUG: TableView.Edit() does not raise a "read-only combo-box" error
anymore.
[GB.FORM.DIALOG]
* BUG: Dialog buttons now are never cut.
[GB.GTK]
* BUG: Cached drawing areas are correctly redrawn now.
* BUG: Loading big images now works correctly. There is apparently a bug
in the GTK+ image loader, and I found a workaround.
* BUG: Message boxes correctly display the text of their buttons now.
[GB.QT]
* BUG: The Open, and initial Move and Resize event of embedded forms are
now always raised when you call the Show method or if you set the Visible
property. Before, it was raised when the embedded form was actually
shown.
[GB.SETTINGS]
* NEW: Settings are now stored in ~/.config/gambasX, where X is the
gambas version number.
* BUG: Strings are correctly quoted inside the settings file now.
[GB.WEB]
* NEW: Application.Protocol is a new property that allows to tell the
component that the protocol is not necessarily "http".
git-svn-id: svn://localhost/gambas/trunk@1153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in string comparison operators.
* OPT: Optimizations in string allocations.
* OPT: Optimizations in Left$(), Mid$(), Right$() and Len().
* OPT: Optimizations of calls to native methods when the number of
arguments is fixed, and when no argument conversion is needed.
* OPT: Optimizations of INPUT and LINE INPUT, by using an internal buffer
instead of reading the stream one byte at a time.
* BUG: Fixed the new error management.
* BUG: Fixed a possible spurious error when reading a file from an archive.
[GB.EVAL]
* BUG: Use the same new error management than the interpreter.
[GB.QT]
* BUG: The DrawingArea control now should draw its border correctly without
erasing its contents.
git-svn-id: svn://localhost/gambas/trunk@1041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
[CONFIGURATION]
* NEW: 64 bits port.
[EXAMPLES]
* BUG: Fixed the AnalogWatch example.
[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.
[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
based on libffi, so that it works on 64 bits system. Because of a flaw in
the compiler design, projects that use the Pointer datatype must be
recompiled to be used on a 64 bits system. This flaw will be fixed in
Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.
[COMPILER]
* BUG: Correctly compiles LONG constants inside code.
[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
libraries.
[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
now.
[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop
could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.
[GB.OPENGL]
* BUG: Disable dead code.
[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
read-only properties.
[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.
git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec