** M-TAB in most programming language modes now runs the command
complete-symbol. This command performs completion on the symbol name in the buffer before point.

With a numeric argument, it performs completion based on the set of symbols documented in the Info files for the programming language that you are using.

With no argument, it does completion based on the current tags tables, just like the old binding of M-TAB (complete-tag).