To quote emacs help, M-/ is:
(dabbrev-expand ARG)
Expand previous word "dynamically".
Expands to the most recent, preceding word for which this is a prefix. If no suitable preceding word is found, words following point are considered. If still no suitable word is found, then look in the buffers accepted by the function pointed out by variable `dabbrev-friend-buffer-function'.
In other words, if somewhere in program there is a variable called reallyLongVariableName
and I type rea
M-/ then emacs automatically fills in the rest. If more than one match exists (ex, reallyUglyVariableName
) then M-/ cycles thru them.