#### 11.7.1 Manipulating the load path

When a function is called Octave searches a list of directories for a file that contains the function declaration. This list of directories is known as the load path. By default the load path contains a list of directories distributed with Octave plus the current working directory. To see your current load path call the `path` function without any input or output arguments.

It is possible to add or remove directories to or from the load path using the `addpath` and `rmpath`. As an example, the following code adds ‘`~/Octave`’ to the load path.

         addpath("~/Octave")

After this the directory ‘`~/Octave`’ will be searched for functions.

— Built-in Function: addpath (dir1, ...)
— Built-in Function: addpath (dir1, ..., option)

> Add dir1, ... to the current function search path. If option is ‘`"-begin"`’ or 0 (the default), prepend the directory name to the current path. If option is ‘`"-end"`’ or 1, append the directory name to the current path. Directories added to the path must exist.

> See also: path, rmpath, genpath, pathdef, savepath, pathsep.

— Built-in Function: genpath (dir)

> Return a path constructed from dir and all its subdirectories.

— Built-in Function: rmpath (dir1, ...)

> Remove dir1, ... from the current function search path.

> See also: path, addpath, genpath, pathdef, savepath, pathsep.

— Function File: savepath (file)

> Save the current function search path to file. If file is omitted, `~/.octaverc` is used. If successful, `savepath` returns 0.

> See also: path, addpath, rmpath, genpath, pathdef, pathsep.

— Built-in Function: path (...)

> Modify or display Octave's load path.

> If nargin and nargout are zero, display the elements of Octave's load path in an easy to read format.

> If nargin is zero and nargout is greater than zero, return the current load path.

> If nargin is greater than zero, concatenate the arguments, separating them with `pathsep()`. Set the internal search path to the result and return it.

> No checks are made for duplicate elements.

> See also: addpath, rmpath, genpath, pathdef, savepath, pathsep.

— Built-in Function: val = pathdef ()

> Return the default list of directories in which to search for function files.

> See also: path, addpath, rmpath, genpath, savepath, pathsep.

— Built-in Function: pathsep ()

> Return the system-dependent character used to separate directories in a path.

> See also: filesep, dir, ls.

— Built-in Function: rehash ()

> Reinitialize Octave's load path directory cache.

— Built-in Function: file_in_loadpath (file)
— Built-in Function: file_in_loadpath (file, "all")

> Return the absolute name of file if it can be found in the list of directories specified by `path`. If no file is found, return an empty matrix.

> If the first argument is a cell array of strings, search each directory of the loadpath for element of the cell array and return the first that matches.

> If the second optional argument `"all"` is supplied, return a cell array containing the list of all files that have the same name in the path. If no files are found, return an empty cell array.

> See also: file_in_path, path.