[INTERPRETER]
* NEW: Serialization now does not duplicate objects anymore. Once an object
is serialized, if it is encounter again, then it is seralized as a five
bytes reference.
* BUG: Fix Task.Wait() that incorrectly used 'sleep' instead of 'usleep'.
[INTERPRETER]
* NEW: New "Unknown stream size" error when 'Lof()' cannot know the size of a stream.
* BUG: If we can't know the size of a stream watched for reading, then we don't unwatch it automatically anymore.
* BUG: Streams based on non-regular file descriptors (devices for example) opened in direct mode now never use 'fstat()' for getting the file length.
[INTERPRETER]
* BUG: Pipes are now always internally opened for writing, to workaround a 'glib' behaviour, that eats 100% CPU when there is no writer anymore on a pipe watched for reading.
[COMPILER]
* NEW: Support for the new PEEK instruction.
[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
[INTERPRETER]
* NEW: OPEN NULL is a new syntax that opens a null stream. Reading always returns end of file, and writing does nothing except advancing the file pointer, allowing to know how many bytes were written.
[COMPILER]
* NEW: OPEN NULL is a new syntax that opens a null stream.
[INTERPRETER]
* NEW: Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
[DEVELOPMENT ENVIRONMENT]
* OPT: Don't load the help browser form immediately to speed up IDE starting.
[INTERPRETER]
* NEW: Use a dedicated stream for locks, so that the File object returned by LOCK cannot be used for reading or writing the locked file.
[GB.GTK]
* NEW: Ignore Application.Busy when displaying a message box.
[GB.GTK3]
* NEW: Ignore Application.Busy when displaying a message box.
[GB.QT4]
* NEW: Ignore Application.Busy when displaying a message box.
[GB.QT5]
* NEW: Ignore Application.Busy when displaying a message box.
* BUG: Do not read ahead a ready to read file descriptor if we are in
direct mode and if the file is a not a regular file.
git-svn-id: svn://localhost/gambas/trunk@6994 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't crash when trying to download the offline help if 'wget' is
not installed on the system.
* BUG: Software farm: Don't create a '*.desktop' file if the software is a
library or a component.
* NEW: Redesign the publish dialog by using a wizard.
* NEW: Use freedesktop categories as possible software tags.
[FARM SERVER]
* NEW: Add a 'size' field in the 'software' table, and an index to be able
to sort sotfwares by size later.
[INTERPRETER]
* BUG: Read data ahead before raising a Read event (on Process, File, or
any stream). Use the result of that read to detect EOF, as using the
stream end-of-file detection routine is not reliable.
[GB.FORM]
* BUG: FileProperties: Fix the media preview.
[GB.MEDIA.FORM]
* BUG: MediaView: Don't crash if the internal media player is not yet
initialized.
git-svn-id: svn://localhost/gambas/trunk@6691 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Retrieve the child process output correctly when it has terminated.
No data should be lost anymore.
* NEW: Remove an unused internal stream method.
git-svn-id: svn://localhost/gambas/trunk@6687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add an gambas appdata file and install it in /usr/share/appdata.
[DEVELOPMENT ENVIRONMENT]
* BUG: ImageEditor: Fix a possible crash when pasting an image.
* BUG: Correctly detect if a project is handled by subversion or not.
[INTERPRETER]
* NEW: Replace the internal `class->state` variable by two boolean flags:
`class->loaded` and `class->ready`.
* NEW: Overriding a class that is the parent of other classes is possible
again. I don't remember what prevented that to work, so I want to see.
[GB.DEBUG]
* NEW: Propagate the changes in the interpreter class structure.
[GB.EVAL]
* NEW: Propagate the changes in the interpreter class structure.
[GB.GUI.AREA]
* BUG: GridView: Setting the background color correctly refreshes the
control.
[GB.JIT]
* NEW: Propagate the changes in the interpreter class structure.
[GB.NET.SMTP]
* NEW: Replace the old gb.net.smtp component written in C and Gambas by a
new component with the same name entirely written in Gambas.
* BUG: Fix the authentication process.
* BUG: Fix how the result of the EHLO command is read.
[GB.QT4.EXT]
* NEW: LCDNumber control is now put in a "Deprecated" tab in the IDE
control toolbar.
git-svn-id: svn://localhost/gambas/trunk@6403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use vfork() instead of fork() to implement EXEC and SHELL, so that
when the child process cannot run the child program for any reason, the
error is immediately catched.
* BUG: Fix a possible file descriptor leak when using LOCK.
git-svn-id: svn://localhost/gambas/trunk@6189 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Undo one change of last revision: reading a stream from a memory
stream is a special case. It reads a null-terminated C string, and not a
serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a
stream. Writing to it appends the written data to the end of the string
at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
new string.
[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
instructions alone.
[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.
git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove as much "packed" structure declaration as possible, to
prevent possible bugs on ARM architecture.
git-svn-id: svn://localhost/gambas/trunk@5860 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
* BUG: A stream redirected through the 'Begin' method checks that stream is
ready for writing only when the 'Send' method is called. Between the
'Begin' and 'Send' calls, the PRINT and WRITE instructions will always
succeed.
git-svn-id: svn://localhost/gambas/trunk@5723 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Ending a process was removing the watched file descriptors twice in
some cases.
git-svn-id: svn://localhost/gambas/trunk@5511 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.
[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.
[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.
[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow components to access the interpreter API through a pointer and
not a full structure. It is a little bit slower (one more indirection),
but it uses less memory: one pointer instead of about 180.
[GB.GTK]
* NEW: Use the indirect API access.
[GB.QT4]
* NEW: Use the indirect API access.
[GB.TASK]
* NEW: Use the indirect API access.
* NEW: Task now is now a stream that can read the standard output of the
background task.
* NEW: Task now raises the Read event when the background task has printed
something on its standard output.
* NEW: Task now raises the Error event when the background task has printed
something on its standard error output. The event handler receives the
data in its first argument.
[GB.XML.RPC]
* BUG: Some english fixes in some error messages.
git-svn-id: svn://localhost/gambas/trunk@5077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Split System and Application class implementation in tow different
source files.
* NEW: A trick to watch existing file descriptors: opening ".XX" in direct
mode, where "XX" is the file descritor value.
git-svn-id: svn://localhost/gambas/trunk@4132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New web site design.
[WIKI CGI SCRIPT]
* NEW: New web site design.
[INTERPRETER]
* BUG: Remove some unused code.
* NEW: Stream got three new methods: Begin, Send & Drop. All WRITE
instructions between a Begin and Send will be merged in one bunch of data
that will be sent when Stream.End() is called. Stream.Drop() is there to
cancel that process.
* BUG: Correctly handle EINTR when writing to the SIGCHLD pipe.
git-svn-id: svn://localhost/gambas/trunk@3730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: An option to disable the automatic control structure completion.
* OPT: Use the new Stream.ReadLine() method to speed up the CSV file
import routine.
[INTERPRETER]
* NEW: ReadLine() is a new method of the Stream class, that read a text
line like LINE INPUT, but with an optional escape character.
[GB.FORM]
* BUG: The default event of an IconPanel is Click.
git-svn-id: svn://localhost/gambas/trunk@3577 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The control rename algorithm should work better now.
[EXAMPLES]
* BUG: Fix ServerSocket and ClientSocket examples.
[INTERPRETER]
* BUG: WRITE and READ with a specified length of zero now does nothing.
[GB.NET]
* BUG: Closing a socket created by a ServerSocket does not crash anymore.
[GB.QT4]
* BUG: When a combo-box becomes read-only, the first item is automatically
selected if there was no current item.
* BUG: Window with no border can have focus now.
git-svn-id: svn://localhost/gambas/trunk@3404 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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