Editing Short projects

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 26: Line 26:
 
Implement missing Octave functions or implement desired features and general improvements.
 
Implement missing Octave functions or implement desired features and general improvements.
  
* {{bug|32088}} - <code>-ALL</code> option for {{manual|which}}
+
* {{bug|41844}} - GUI Debug Menu could offer "Stop If..."
 +
* {{bug|41530}} - Editor debug mode could show a dbup/dbdown GUI component
 
* {{bug|40211}} - More compact output for structs and cell arrays
 
* {{bug|40211}} - More compact output for structs and cell arrays
* {{bug|41530}} - Editor debug mode could show a dbup/dbdown GUI component
+
* {{bug|32088}} - Feature request: -ALL option for WHICH
* {{bug|41796}} - extend sub2ind and ind2sub
 
* {{bug|41844}} - GUI Debug Menu could offer "Stop If..."
 
 
* {{bug|47239}} - calling system without shell
 
* {{bug|47239}} - calling system without shell
* {{bug|57699}} - 'clipboard' function to interact with clipboard contents
 
* {{bug|39439}}, {{bug|39434}} - Use non-empty identifiers in all warnings and errors issued by Octave
 
** You may tackle as many or as few IDs as you have time for. As it is a widespread issue, finding occurrences in the source code should give you valuable knowledge about the way Octave files are organized.  When raising errors and warnings try to use the ids that are documented in the functions {{manual|warning_005fids|warning_ids}} and {{manual|error_005fids|error_ids}}.  If you really need a new id (please, first read the ones already there!), please add it to those functions as well.  If you see other ids used in core that are not given by the functions mentioned above, please, report or submit patch for them, in addition to the patch to the calling functions as well.
 
 
* Lists of missing functions for [[:Category:Missing functions|several packages]].
 
* Lists of missing functions for [[:Category:Missing functions|several packages]].
** It would help to group the missing functions in the [[image package]], as per [https://www.mathworks.com/help/images/referencelist.html] (similar to what was done in the [[signal package]] wiki page); please keep the original alphabetical list intact.
+
** It would help to group the missing functions in the [[image package]], as per [http://www.mathworks.com/help/images/functionlist.html] (similar to what was done in the [[signal package]] wiki page); please keep the original alphabetical list intact.
 +
* openfig/savefig functions
 +
** These should be particularly easy additions as they are really just a wrapper on top of hgload/hgsave.
  
 
== Function Compatibility ==
 
== Function Compatibility ==
Line 42: Line 40:
 
A number of functions are implemented, but may have known incompatibilities to Matlab or only partially handled option sets, etc.
 
A number of functions are implemented, but may have known incompatibilities to Matlab or only partially handled option sets, etc.
  
* griddata:  Octave's griddata  functions are only partly Matlab compatible. There are three un-implemented interpolation methods: 'v4', and 'cubic' for 2D and 'natural' for 2D and 3D. The 2D cases should be straightforward once the correct algorithm is determined. But 3D cases are handled by passing to griddata3 and griddatan, and griddatan does not have a requirement to handle 'natural', so some thought will need to go into how to implement that one.  It may involve removing the griddata3 passthrough altogether.  {{bug|33539}} {{bug|35178}} {{bug|57323}} {{bug|57835}}
+
* Sorry none yet.
  
 
== Review or create changesets ==
 
== Review or create changesets ==
  
Sometimes a standalone file or a diff file is submitted; Octave maintainers prefer a changeset though; preparing a changeset will expedite bug fixing. See the [[Mercurial]] and [[Commit message guidelines]] page how to do it.
+
Sometimes a standalone file or a diff file is submitted; Octave maintainers prefer a changeset though; preparing a changeset will expedite bug fixing.
  
 
* Sorry none yet.
 
* Sorry none yet.
Line 59: Line 57:
 
== Miscellaneous ==
 
== Miscellaneous ==
  
* C++ cleanup of packages after the switch to exceptions (late 2015). See [[Invert if/else/error]].
+
* C++ cleanup of packages after the switch to exceptions (late 2015).See [[Invert if/else/error]].
  
 
* Use "units.h" from [http://www.gnu.org/software/units/ GNU units] in [http://octave.sourceforge.net/miscellaneous/function/units.html function units] (from the Octave-Forge [http://octave.sourceforge.net/miscellaneous/ miscellaneous package]) rather than making a system call and parsing its output (and having to handle multiple versions of it). This change will make it much more robust. It likely will alleviate the requirement of having [http://www.gnu.org/software/units/ GNU units] installed in the system separately by the user. This requires knowledge of C (units is written on C) and C++ to write its Octave interface. It can be very easy if the units.h truly allows to be used as library or maybe impossible if it does not. This has not been investigated yet.
 
* Use "units.h" from [http://www.gnu.org/software/units/ GNU units] in [http://octave.sourceforge.net/miscellaneous/function/units.html function units] (from the Octave-Forge [http://octave.sourceforge.net/miscellaneous/ miscellaneous package]) rather than making a system call and parsing its output (and having to handle multiple versions of it). This change will make it much more robust. It likely will alleviate the requirement of having [http://www.gnu.org/software/units/ GNU units] installed in the system separately by the user. This requires knowledge of C (units is written on C) and C++ to write its Octave interface. It can be very easy if the units.h truly allows to be used as library or maybe impossible if it does not. This has not been investigated yet.
  
* Review old bugs: The [http://bugs.octave.org Octave bug tracker] has over 1,000 reports dating all the way back to 2010. Some have patches submitted but can no longer be directly applied to the current codebase. Some have never had patches developed. Some are old, unfulfilled wish list or missing function requestsAnd some may no longer be bugs, having been fixed or rendered irrelevant due to other changes code changes over the years. Reviewing these old bugs, testing the original bug report to see if the same results still occur, if Matlab compatibility has changed, or if submitted patches can still be applied cleanly (and potentially cleaning up patches so they can apply cleanly), can help update and clean up the bug database.
+
* Use non-empty identifiers in all warnings and errors issued by Octave; see {{bug|39439}}, {{bug|39434}}. You may tackle as many or as few IDs as you have time for. As it is a widespread issue, finding occurrences in the source code should give you valuable knowledge about the way Octave files are organized.
 +
** When raising errors and warnings try to use the ids that are documented in the functions  [http://octave.sourceforge.net/octave/function/warning_ids.html warning_ids] and [http://octave.sourceforge.net/octave/function/error_ids.html error_ids]If you really need a new id (please, first read the ones already there!), please add it to those functions as well.  If you see other ids used in core that are not given by the functions mentioned above, please, report or submit patch for them, in addition to the patch to the calling functions as well.
 +
 
 +
* extend sub2ind and ind2sub: {{bug|41796}}
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Project Ideas]]
 
[[Category:Project Ideas]]
 
[[Category:Missing functions]]
 
[[Category:Missing functions]]

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)