TODO list: always incomplete :-) -------------------------------- COMPILER - Compilation error must indicate the column, not only the line. - Conditional compilation #IF DEBUG - Warn for unused local or private variables. INTERPRETER - A special syntax to make variable writable once only (for controls variables). - Add global parameters for each component. Or no, a global configuration repository, to tell, for example, which socket the mysql component must use... - Make objects printable, with a "_print" hidden method or something else. - Make objects writable and readable to streams. - Perl regexp with the MATCH operator. - Type mismatch error: print the mismatched values. - Special runtime debugging commands for dumping all the variables for example. - A new debugging compilation option to only put line number information in the output files. - NInstr() -> Count the number of patterns. - If project compilation version < compiler version then => compile all - Catch kill signal to remove temporary files. - Sorting two or more arrays at the same time. - MOD with floats. - Make the error information associated with the current stack frame. - Collection.Copy(). - Timer.TimeLeft. DEVELOPMENT ENVIRONMENT - Bookmarks in editor. - Manage Object properties in IDE. - Make a visual control clipboard. - Generates an index control->component to suggest components for missing controls. - Be able to open a .tar.gz project, and compress it back when the project is closed. - Conditional breakpoints. GUI RELATED STUFF - Deleting a currently expanding item in TreeView crashes. - ValueBox.Value should be visible in the IDE. - GridView automatic column resizing by code in gb.gtk, and in gb.qt. - Moveable tabs. - ListView and GridView selection interface should be the same. DESKTOP COMPONENT - Detect an already running application. DATABASE COMPONENT - Add Views support in database component. - Changeable client Charset in database driver. - Returns the number of records affected by a query. - A new database driver model. - Copy a result line into another one. - Use SAVEPOINT in postgresql to simulate nested transactions. DOCUMENTATION WIKI - Mass rename command. - Fix last changes: only those in one language. - A documentation page to explain the Gambas syntax. COMPONENTS - Put version number in *.component files, and use it when making dependencies in the IDE.