#### 2.4.4 Letting Readline Type For You

The following commands allow Octave to complete command and variable names for you.

`TAB`

  Attempt to do completion on the text before the cursor. Octave can complete the names of commands and variables.

`M-?`

  List the possible completions of the text before the cursor.

Built-in Function: val = completion_append_char ()
Built-in Function: old_val = completion_append_char (new_val)
Built-in Function: completion_append_char (new_val, "local")

  Query or set the internal character variable that is appended to successful command-line completion attempts. The default value is `" "` (a single space).

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

Built-in Function: completion_matches (hint)

  Generate possible completions given hint.

  This function is provided for the benefit of programs like Emacs which might be controlling Octave and handling user input. The current command number is not incremented when this function is called. This is a feature, not a bug.