* BUG: Subst$() now does not crash anymore when its result is a void string.
git-svn-id: svn://localhost/gambas/trunk@7726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Collection access is faster now.
* OPT: LINE INPUT and INPUT are faster now.
* OPT: Conversions to Boolean, from and to Variant are faster now.
git-svn-id: svn://localhost/gambas/trunk@7440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
[INTERPRETER]
* BUG: GB.SubstString() API now can take a void substitution string. It
returns NULL instead of doing a segfault. Consequently,
RegExp.Replace() from gb.pcre can take a null replace string without
crashing.
git-svn-id: svn://localhost/gambas/trunk@7261 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash when opening the help browser after the F2 key has been
hit.
[INTERPRETER]
* BUG: Fix a crash when running the Application_Error global error handler.
[GB.FORM]
* NEW: DirBox is a new control that allows to choose a directory from a
ButtonBox.
* NEW: DirBox, FontBox and DateBox are now put in the "Chooser" tab of the
IDE control toolbar.
git-svn-id: svn://localhost/gambas/trunk@6380 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same
name as the current project. This is a temporary incorrect fix!
[INTERPRETER]
* BUG: Fix Classes enumeration.
[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of
the window.
[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Enumerating the Param class does not leak memory in some cases
anymore.
git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The byte position to utf-8 position caching routine now works in all
cases.
git-svn-id: svn://localhost/gambas/trunk@4689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not raise an error when a file path cannot be converted to the
local charset. Just do not make the conversion.
* BUG: Freeing any Stream object now automatically closes it.
* BUG: Stream.ReadLine() with no second argument does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@4664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix version requirements on components in the packager.
[INTERPRETER]
* OPT: A little optimization in LINE INPUT.
[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
fit its contents.
git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: LINE INPUT does not try to incorrectly release its stream argument
anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a
temporary string that will be freed later. If the string is big, then
the memory is retained longer than necessary.
git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the Param array accessor, that returns a specific extra argument
from its index.
[GB.DBUS]
* BUG: Fix DBus method call when the method returns nothing. If there is an
error, it is correctly raised.
git-svn-id: svn://localhost/gambas/trunk@4413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimization of locale-aware string comparison routine.
* OPT: Do not use sprintf() for searching event handlers in symbol tables.
* OPT: String[].Find() and String.Exist() are now twice faster for ASCII
binary and case insensitive comparisons.
* BUG: Initialize the locale before loading any class.
* OPT: Do not use sprintf() when searching a file inside Gambas archives.
* OPT: Unroll a loop to speed up binary string identity comparison a little
bit.
* BUG: Collection keys are now hashed with their eight last characters.
* BUG: Internal Collection automatic resizing was disabled. Re-enable it!
git-svn-id: svn://localhost/gambas/trunk@4153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Internal conversions between unicode and utf-8 have been optimized.
* OPT: String.UCase(), String.LCase() and String.Chr() have been optimized.
* BUG: Arrays of classes exported from a component or a library are now
automatically exported too.
* NEW: Param.All is a new property that returns all extra arguments as an
array.
git-svn-id: svn://localhost/gambas/trunk@4143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: A little optimization in string allocation.
* OPT: Optimize returning from a function.
* OPT: A little optimization in conditonal jump.
git-svn-id: svn://localhost/gambas/trunk@4108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* OPT: Optimize some string functions by not using arguments passed by
reference.
* OPT: Integrate the "=" operator function into the main execution loop to
save one function call.
* OPT: Optimize string comparison functions on x86 and x64_64 architectures
by comparing eight bytes in one shot.
git-svn-id: svn://localhost/gambas/trunk@4104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: String.IsValid() is a new method that returns if a string is a valid
well-formed UTF-8 string.
git-svn-id: svn://localhost/gambas/trunk@4050 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The procedure under the mouse is correctly highlighted while
scrolling the procedure list now.
* BUG: Files with an '@' character in their name should be correctly
handled when the project is under subversion.
[GB.GTK]
* NEW: Application.MainWindow is writable now.
* NEW: The application main window is not automatically defined anymore.
* NEW: Application exits now when the last visible window is closed.
[GB.QT4]
* BUG: Setting the margin of an auto-resized Label or TextLabel now
correctly update the control size.
* NEW: Application.MainWindow is writable now.
* NEW: The application main window is not automatically defined anymore.
* NEW: Application exits now when the last visible window is closed.
git-svn-id: svn://localhost/gambas/trunk@3581 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
* 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
* 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
* 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
* OPT: Cache the welcome Gambas SVG logo in an image for faster redrawing.
* NEW: Start defining new control hidden properties in all components:
_IsControl, _Group, _Family, _IsVirtual, _IsContainer, _IsMultiContainer.
[EXAMPLES]
* NEW: Use new Paint methods in the Painting example.
[INTERPRETER]
* BUG: Instr() and RInstr() correctly handle non-ASCII characters.
[GB.DRAW]
* NEW: Support for Paint.RichText and Paint.RichTextExtents.
[GB.GTK]
* BUG: Rich text relative font sizes are now correctly handled.
* NEW: Implement Paint.RichText and Paint.RichTextExtents.
[GB.QT4]
* NEW: Implement Paint.RichText and Paint.RichTextExtents.
git-svn-id: svn://localhost/gambas/trunk@2698 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: When a component cannot be loaded, only show its name in the error
message, not the full path.
[GB.FORM.MDI]
* BUG: Keep the hide/show sequence of windows newly inserted into a
Worskpace. Otherwise the IDE becomes slow at startup!
[GB.QT4]
* BUG: Now message boxes return the accurate button index.
git-svn-id: svn://localhost/gambas/trunk@2122 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
* BUG: Do not abort installation if a component written in gambas cannot
be installed.
* BUG: Disable colorgcc, libtool does not support it.
[DEVELOPMENT ENVIRONMENT]
* BUG: Print the real size of directory contents when getting information
on a project directory.
[WIKI CGI SCRIPT]
* BUG: Some fixes in 'example' section and in view mode.
[INTERPRETER]
* BUG: Fix illegal memory access in locale-aware string comparison.
* BUG: Fix a possible crash in String.UCase() and String.LCase().
[GB.FORM]
* BUG: SidePanel arrow buttons are correctly drawn with gb.gtk now.
[GB.GTK]
* BUG: Fix the Image.MakeTransparent() method.
* BUG: Fix the arrangement of ScrollView container.
* BUG: Fix the memory leak in the Picture class.
* BUG: Remove the Window resize event compression.
* BUG: Gridview cells are correctly refreshed now when their Picture or
Font property change.
[GB.NET.CURL]
* BUG: The Status property is correctly set after an error now.
[GB.QT]
* BUG: Correctly clears the internal closed flag when opening a Window.
* BUG: WAIT does not take 100% CPU anymore.
[GB.QT.EXT]
* BUG: In Editor, the cursor could disappear when clicking. Fix that.
[GB.XML]
* BUG: The management of XML nodes was incorrect, and so was redesigned.
git-svn-id: svn://localhost/gambas/trunk@1646 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New substitution syntax to have more then nine arguments. The new
syntax is '&{N}' where N is the argument index, between 1 and 63.
git-svn-id: svn://localhost/gambas/trunk@1628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Enhance the behaviour of the console text search.
* BUG: Enhance and fix the behaviour of the ESCAPE key.
* BUG: Renamed controls like DataControl are correctly refreshed inside the
form editor.
[INFORMER]
* NEW: When creating all information files in one shot, child processes are
used instead of loading all components in the same process.
[INTERPRETER]
* BUG: RInStr() third argument is now correctly taken into account in all
cases.
* BUG: Fix a bug in inheritance with classes written in Gambas overriding
symbols whose name begins with 'P', 'R' or 'M'.
[GB.DB.FORM]
* BUG: Setting DataBrowser.Control property to FALSE works again.
[GB.QT]
* BUG: Menu shortcuts are automatically enabled when the menu is shown.
[GB.QT.EXT]
* NEW: When the focus is set on an Editor, the cursor is ensured to be
visible.
git-svn-id: svn://localhost/gambas/trunk@1462 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a memory leak in the READ instruction when reading a string
with a negative length parameter.
git-svn-id: svn://localhost/gambas/trunk@1355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Save and restore which procedures are folded.
[INTERPRETER]
* BUG: Creates a new GB.SubstStringAdd() API for making a difference
between substitution callbacks that return a string and those who call
GB.SubstAdd() directly.
[GB.DB]
* BUG: Use the new GB.StringSubstAdd() API.
[GB.FORM]
* NEW: FileChooser and DirChooser got a new Reload() method that refreshes
their contents.
[GB.QT.EXT]
* BUG: In Editor, a line must be colorized before knowing if it is a
"procedure" limit.
git-svn-id: svn://localhost/gambas/trunk@1261 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes the string management optimizations.
* OPT: Optimization of the string search function (InStr, RInstr).
* OPT: Optimization of the Split() function.
* OPT: Optimization of local variables initialization when entering a
method.
[GB.NET.SMTP]
* BUG: Fixes the Makefile.am file so that the component compiles if the
glib library is installed in a non-standard directory.
[GB.QTE.EXT]
* BUG: Fixes the gb.qte.ext.component file.
git-svn-id: svn://localhost/gambas/trunk@1203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some little layout fixes.
[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed.
Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
unloaded until the process terminates. That can be useful when
debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.
[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
controls, so that the input methods are not disturbed. Consequently;
SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or
KeyRelease event handler correctly now.
git-svn-id: svn://localhost/gambas/trunk@1199 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