#### 2.4.4 Commands for Completion ¶

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.

`val =` completion_append_char `()` ¶
`old_val =` completion_append_char `(new_val)` ¶
`old_val =` 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.

`completion_list =` completion_matches `("hint")` ¶

  Generate possible word completions for Octave given the character sequence hint.

  This function is provided for the benefit of programs like Emacs which might be controlling Octave and handling user input. For example:

      completion_matches ("sine")
      ⇒
      sinetone
      sinewave

  Programming Note: The current command number in Octave is not incremented when this function is called. This is a feature, not a bug.