* Improve interface for communication between GUI and interpreter
Currently, communication between the GUI and the interpreter
would be more flexible and reliable.
* GUI command window
The implementation of the GUI command window for Unix-like systems
could be improved.
* Interrupt handling in the GUI
This issue is related to the GUI command window. Interrupt
find a way to reliably interrupt the interpreter.
* Generating publication-quality figures
Generating EPS or PDF versions of figures needs improvement.
* OpenGL graphics system issues ** Scaling plot data values/ranges to fit in single-precision OpenGL values ** Performance issues ** Lack of WYSIWYG ** Duplication of effort with FLTK and Qt widgets. With the rest of the GUI using Qt widgets, we should eliminte the FLTK plotting widget. To do that, we will need to make the Qt plotting widget work when Octave is started with --no-gui and ensure that all features in the FLTK widget are also present in the Qt widget.
* Improvements to classdef (the Matlab object-oriented
program framework) ** Resolve remaining Matlab compatibility issues. ** Make it possible to load and save classdef objects. ** Improve and simplify the implementation. Although the basic
features that are implemented now appear to mostly work, the
implementation seems overly complicated, making it difficult to
* String class
** Matlab now uses "" to create string objects that behavedifferently from Octave double-quoted strings.
* Handle UTF-8 (or whatever) characters properly
** Try to do this in a Matlab-compatible way.
* Handle single and integer values for ranges
* Local functions
The semantics for local functions in scripts is different from the
* Allow large files to be loaded and saved
Make the load and save commands compatible with Matlab's
something like this to support large arrays anyway.
* Matlab packages (+DIR directories in the loadpath; relate classdef)
Octave already searches for files in package directories and
it efficiently and in a way that is compatible with Matlab.
Move some core toolboxes (communications, control systems, image
equations package have already been moved to Octave.
* General code quality improvements ** Use C++11 features where possible. ** Better and more complete use of C++ namespaces. ** Better use of C++ features. Especially standard library featuresas their implementation becomes more widely available. Forexample, we might be able to simplify some things in Octave byusing the C++17 filesystem and special functions libraries, ifthey provide results that are at least as good what we are usingnow.
* Eliminate C preprocessor macros where possible
* GUI code editor
Make it possible to use external editors such as Emacs, vim, or
others with the GUI in addition to Octave's built-in code editor
* Documentation ** Continue to improve Doxygen documentation for Octave internals tomake it easier for new contributors to understand the Octave codebase.
* JIT compiler
A proof-of-concept implementation was done several years ago by a
and Octave internals.
* Windows distribution
Eliminate the following msys packages. Some might be removed