* NEW: WRITE writes structures in one shot, by using an internal buffer.
This is useful for UDP socket, when the message size is the size of the
data sent in one shot.
git-svn-id: svn://localhost/gambas/trunk@3323 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API for marking an image as modified, and for synchronizing it
before reading it, when the temporary image owner needs it.
git-svn-id: svn://localhost/gambas/trunk@3016 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: Standard streams are correctly initialized now. Consequently, Input
and Line Input on them work correctly again.
git-svn-id: svn://localhost/gambas/trunk@2869 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New APIs to get a Gambas stream from a stream object
(GB.Stream.Get), to read data from a stream (GB.Stream.Read) and to write
date to a stream (GB.Steam.Write).
[GB.NET.SMTP]
* BUG: The _Socket property has been replaced by the _Stream property, that
takes a Gambas stream.
* BUG: Correctly release the user and password strings when the SmtpClient
is freed.
git-svn-id: svn://localhost/gambas/trunk@2863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: The blocking state of streams is cached now, so that the fcntl()
system call is less used.
[GB.FORM]
* BUG: Stock icons work correctly again.
[GB.QT4]
* NEW: When drawing on a DrawingArea, Draw and Paint dimension properties
always return the size of the DrawingArea, even if it is cached.
* BUG: DrawingArea contents is not assume to be static anymore. Resizing
them always send a full repaint event.
git-svn-id: svn://localhost/gambas/trunk@2724 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 a backtrace memory leak in error management.
* BUG: Fix a memory leak in process streams.
[GB.FORM]
* BUG: Some bug fixes in DatePicker. It does not work correctly with
gb.gtk yet!
[GB.GTK]
* BUG: Fix the container arrangement and the ClientX / ClientY properties.
* BUG: A form is not its own event observer if one was specified at
instanciation time.
[GB.QT]
* OPT: The container arrangement is now triggered the same way as in
gb.gtk. No Qt event filter is used anymore.
[GB.QT4]
* OPT: The container arrangement optimization from gb.qt has been partially
applied to gb.qt4.
git-svn-id: svn://localhost/gambas/trunk@1858 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Start assigning actions to everything.
* NEW: Action shortcuts can be configured.
* NEW: Project actions are automatically saved in the .action directory.
* BUG: Signature of native arrays is correct now.
[INTERPRETER]
* BUG: GB_LoadFile() does not leak file descriptors anymore.
* NEW: Relative paths starting with "../" allows to open files located in
the main archive from a component.
[ARCHIVER]
* NEW: Store the ".action" directory in the archive.
[GB.DB]
* BUG: Correctly check that table name are not void in Create(), Find(),
Edit() and Delete() methods.
[GB.FORM]
* NEW: A new stock icon named "shortcut". Mmm... Should be named
"keyboard".
[GB.FORM.MDI]
* NEW: Support for automatic configuration of action shortcuts.
* NEW: Action.Configure() is a new method that opens a dialog for
configuring shortcuts. Shortcut configuration is stored in the
application setting files, under the '[gb.form.mdi/Shortcuts]' slot.
[GB.QT]
* NEW: Action[].Shortcut is a new property for setting or getting the
shortcut of an action.
* BUG: Correctly opens startup forms again.
git-svn-id: svn://localhost/gambas/trunk@1758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the configuration of gb.image.info.
[INTERPRETER]
* NEW: The GB.LoadFile() and GB.ReleaseFile() API have changed. Now they
always use memory mapping instead of loading the file in memory.
[GB.IMAGE.INFO]
* BUG: Now ImageStat() works with the "~" shortcut in path names.
git-svn-id: svn://localhost/gambas/trunk@1748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: A internal stream flag to know if data is immediately available.
File and memory streams have this flag set. Streams defined in component
do not have this flag set by default.
git-svn-id: svn://localhost/gambas/trunk@1708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update libtool to version 1.5.24
[INTERPRETER]
* BUG: Lof() returns the correct value for files opened for writing.
* BUG: Dir() and RDir() now work correctly on relative paths.
[GB.WEB]
* BUG: Read and write sessions inside a system lock to prevent two
processes from writing the same session at the same time, and then
corrupting it.
git-svn-id: svn://localhost/gambas/trunk@1666 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The LINE INPUT and INPUT algorithm now deal intelligently with
blocking streams.
[GB.NET]
* BUG: Fix stream implementation of SerialPort and Socket.
* NEW: Socket can be set blocking.
git-svn-id: svn://localhost/gambas/trunk@1659 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The EXEC and SHELL syntax has changed.
[INTERPRETER]
* NEW: Stream.Blocking is new property to set if reading from the stream
is blocking or not.
* NEW: EXEC or SHELL used without the AS keyword creates a blocking
process stream.
[COMPILER]
* NEW: EXEC or SHELL can be used with AS and without FOR.
[GB.QT]
* NEW: Toolbox windows are automatically transient for the current active
window.
git-svn-id: svn://localhost/gambas/trunk@1657 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Make a dedicated tag field in the internal Gambas stream structure.
That makes the component code cleaner.
* BUG: Void arguments does not trim argument list anymore in the EXEC
instruction.
[GB.NET]
* BUG: Setting SerialPort parity should not strip the eighth bit of data
bytes anymore.
* BUG: Fix SerialPort error messages.
[GB.NET.CURL]
* BUG: The component was redesigned to fix a crash in stream methods is
synchronous mode.
git-svn-id: svn://localhost/gambas/trunk@1627 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for template array classes in automatic completion.
[INTERPRETER]
* BUG: LIE INPUT and INPUT work correctly on tty streams.
[GB.DB]
* NEW: Add an API that allows a driver function to get the current
database when it does not get it from its arguments.
[GB.DB.POSTGRESQL]
* BUG: Fix blob support for some encodings, and when PostgreSQL version is
greater or equal than 8.2.
[GB.DB.SQLITE3]
* BUG: Field values are not truncated anymore.
[GB.FORM]
* NEW: MessageLabel is a new control made by David Villalobos Cambronero.
It is a TextLabel that changes its background color for indicating a
warning, an error, and so on.
[GB.FORM.MDI]
* NEW: Workspace.ButtonPosition is a new property that allows to put the
tab close button on the left or on the right.
[GB.GTK]
* BUG: Speeds up the combo-box control as much as I can. Slowness seems to
be a GTK+ feature. :-/
[GB.QT]
* BUG: Fix crash when setting a shortcut on a top-level menu.
git-svn-id: svn://localhost/gambas/trunk@1548 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