Online Developer Meeting (2021-07-27): Difference between revisions
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
* jwe had a look at Octave own reference counting | * jwe had a look at Octave own reference counting | ||
* Wish to replace it with C++ shared pointers | * Wish to replace it with C++ shared pointers | ||
* Expert knowledge wanted! | * Expert knowledge wanted! jwe opened a [https://octave.discourse.group/t/using-std-shared-ptr-t-to-implement-copy-on-write-objects-in-octave/1436 discussion thread] | ||
* jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed) | * jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed) | ||
** Root of the trouble lies in historical handling of complex data?? (some clarification needed) | ** Root of the trouble lies in historical handling of complex data?? (some clarification needed) | ||
https://octave.discourse.group/t/using-std-shared-ptr-t-to-implement-copy-on-write-objects-in-octave/1436 | |||
== Previous topics == | == Previous topics == |
Revision as of 13:00, 28 July 2021
- Date: Tuesday, July 27, 2021 @ 18:00 UTC
- Location: https://meet.jit.si/octave-dev-2021-07-27
Todays topics
- Meet and greet 5 minutes before meeting (audio testing).
Octave 6.3 released
- No "official" announcement happened. Maybe reuse abandoned mailing-lists to announce important events, such as releases.
- How do distribution maintainers get to know about Octave releases?
- Contact Debian maintainers of the Octave package to maybe improve our communication (Kai).
Octave 6.4 / 7 / 8
- Discussion how to continue with the development.
- jwe wants to introduce breaking changes (see below).
- Octave should stick with the ~yearly major release cycle
- Probably no Octave 6.4 (only if severe bugs occur).
- Octave 7 (default branch)
- Should no longer receive "very" breaking changes (e.g. String-class for Octave 8)
- Has about 305 bugs fixed (not 100% reliable figure) and should not wait another year until many bigger outstanding changes happen (will be deferred to Octave 8)
- Tentative plan:
- November 2021 merge default to stable.
- End of 2021 release of Octave 7
- Octave 8 (new default branch)
- No clear decision how to handle very breaking changes until November 2021 merge default to stable. Depends on future needs.
Octave 7 / 8
- Function argument parsing (introduced in Matlab R2019b, rather new)
- jwe will continue to work on this feature on Octave 7 (default branch)
- If feature cannot be completed by the end of the year, it will be disabled on parser-level (error), and introduced in Octave 8 one year later.
- New GUI command widget
- Possible to introduce it as user opt-in in Octave 7
- Pending issues:
- Command-widget does not look like the previous one (textbox for command input)
- jwe needs better looking widget (avoid developing a new one)
- No possibility to run external applications (like emacs, pager), which is already partially broken now. Need to implement own paging strategy (scroll bars, etc.)
- Deprecation of Octave operators
- Improve Matlab compatibility
- Some extensions make it painful to implement Matlab compatible command-style function calls? See also the discussion about this topic.
- Remove rarely used extensions like "**" power.
- Discussion about removal of "+=", "++", etc. No final decision made.
- Often used extensions must probably stay (like "!" or "!=" used in place of "~" or "~=").
- jwe had a look at Octave own reference counting
- Wish to replace it with C++ shared pointers
- Expert knowledge wanted! jwe opened a discussion thread
- jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed)
- Root of the trouble lies in historical handling of complex data?? (some clarification needed)
Previous topics
- The following items were not discussed. Just some links to progress on those items are displayed.
Octave 6.3.0
- 6.3 Release Checklist
- jwe prepared a second release candidate.
- If nothing big shows up, go ahead with the release in about 10 days (early July).
OctConf?
- Instead of an in-person conference, meet up virtually.
- Ideas for code-sprint?
- Improve test coverage
- That could include automated tests for GUI features ("expect", Qt test classes, set
OCTAVE_SHOW_GUI_MESSAGES
to 1 to display signals with missing connections, ...). Does anyone have experience with this?
GUI
- Make widgets more modular
- remove connections to parents (or parents of parents,...)
- Only pass settings objects (instead of base qwidget) to widgets?
- Add widgets for:
- displaying call stack. Select function in stack for appropriate
dbup
ordbdown
command. - displaying result to an expression. Similar to debugger (watcher, ...)
- displaying call stack. Select function in stack for appropriate
- User expectations for evaluation code from the editor ("Evaluate selection") or the variable editor ("plot") while there is still pending input on the command line?
Breakpoints
- Add feature to temporarily disable breakpoints
- Check syntax for breakpoints in subfunctions, local functions, private functions, methods, ... (
dbstatus
). See: Identifiers for breakpoints
gsvd
- Current version is not Matlab-compatible nor correct in some circumstances.
- Rik is currently implementing a replacement.
IRC channel on Freenode is down?
- Replacement on libera?
jwe will probably post something on discourse.- See: IRC channel for Octave (on Discourse).
See also
- Next meeting: Online Developer Meeting (2021-08-24)
- Last meeting: Online Developer Meeting (2021-06-22)