#### 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)

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

— 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.