1,848
edits
(Add Category:Development some extensions.) |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== ''How can I find which file implements a given command?' | == How can I get involved in Octave development? == | ||
* <p>'''Be around. Be social.'''</p><p>Participate in our [https://octave.discourse.group/ Discourse Forum]. Find things about Octave you don't like, and start thinking about how to fix them. '''Please do not just send a message listing your skills and offering to help.'''</p><p>Many people who now contribute to Octave first spent some time observing the community communication before they started to delve into the code. A good way to learn Octave is to understand the problems other people are having with it, so being helpful in Discourse not only helps Octave as a whole, but it also prepares you to become a better Octave contributor.</p> | |||
* <p>'''Kill the bugs.'''</p><p>Accurate bug reporting is also very useful. Find and report [http://bugs.octave.org/ bugs], making an attempt to diagnose them. Eventually, you will also know how to fix them. If you want to help with bug reports or patches, subscribe to the [https://lists.gnu.org/mailman/listinfo/octave-bug-tracker bug tracker mailing list]. You'll get updates on all bug activity, and you can jump in when you see something you can help with.</p> | |||
* <p>'''Getting hands dirty.'''</p><p>See [[#How can I contribute code to Octave?]] below. We lack volunteers and '''we do need your help''', but because of that, we also lack the time to provide good guidance and mentoring. If there is a specific short-term project you would like to work on, say so, and '''just do it'''. Then ask for help or advice when you're doing it. It is a lot more important that you do something that you're actually interested on than something we suggested because it only matches your skills.</p> | |||
* <p>'''Octave needs more documentation.'''</p><p>If you like documenting software or have great ideas for Octave, please get in contact with us. Additionally, see [[Project - Documentation]] for details.</p> | |||
* <p>'''Need inspiration?'''</p><p>Look at our [[projects]], [[short projects]], and [[Summer of Code - Getting Started]] if you need specific inspiration for coding tasks that we would like to get done.</p> | |||
== How can I contribute code to Octave? == | |||
In general you can contribute code to Octave in form of '''patches (changesets)'''. Those have to be uploaded to the [https://savannah.gnu.org/bugs/?group=octave bug] or [https://savannah.gnu.org/patch/?group=octave patch] tracker. | |||
* In [[Building]] is described, how you get and build the latest Octave source code on your system. | |||
* In [[Mercurial]] we describe, how you create a patch (changeset) from your modifications. | |||
* Our [[Contribution guidelines]] should be read and followed as well, to ensure acceptance of your contribution. | |||
== How can I find which source file implements a given command? == | |||
Use Octave's {{manual|which}} command. | |||
=== m-file functions === | |||
<syntaxhighlight lang="Octave"> | <syntaxhighlight lang="Octave"> | ||
>> which help | >> which help | ||
Line 8: | Line 31: | ||
'help' is a function from the file /some/path/m/help/help.m | 'help' is a function from the file /some/path/m/help/help.m | ||
In this case, the desired function is a m-file, one can simply edit it inside the GUI, just type: | |||
<syntaxhighlight lang="Octave"> | <syntaxhighlight lang="Octave"> | ||
>> edit help | >> edit help | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== built-in functions === | |||
Some functions are already compiled (a.k.a. ''built-in functions''), for example: | Some functions are already compiled (a.k.a. ''built-in functions''), for example: | ||
Line 21: | Line 47: | ||
'addpath' is a built-in function from the file libinterp/corefcn/load-path.cc | 'addpath' is a built-in function from the file libinterp/corefcn/load-path.cc | ||
This function is to be found in Octave's source code, in this case at [https://hg.savannah.gnu.org/hgweb/octave/file/b33d4fbce33e/libinterp/corefcn/load-path.cc#l2355]. | This function is to be found in Octave's source code, in this case at {{Path|[https://hg.savannah.gnu.org/hgweb/octave/file/b33d4fbce33e/libinterp/corefcn/load-path.cc#l2355 libinterp/corefcn/load-path.cc]}}. Open the respective file with an editor of your choice and search for the pattern "<code> (addpath,</code>". | ||
[[Category:Development]] | [[Category:Development]] | ||
[[Category:FAQ]] |