(symbol-under-or-before-point, symbol-before-point-for-complete):
Use unwind-protect to restore syntax table.
(symbol-before-point, symbol-before-point-for-complete):
Start the backward scan-sexps from point, not (1+ (point)).
(cmpl-make-c-def-completion-syntax-table): Use make-syntax-table.
(completion-c-mode-hook): Encapsulate C-mode changes in new function.
Either call it now or put it on c-mode-hook.
dotimes, plusp, minusp, pusnhew, second.
(completion-dolist): New macro. Use instead of dolist.
(completion-gensym-counter, completion-gensym): New variable and fn.
(locate-completion-entry-retry): Bind cmpl-entry, then use it.
(locate-completion-entry): Use completion-string, not string.
(add-completion-to-head, delete-completion):
Rename arg to completion-string.
(completions-list-return-value): Defvar'd and renamed
from return-completions.
(cmpl-preceding-syntax, cdabbrev-stop-point): Add defvars.
(delete-completion, check-completion-length): Fix message format.
(complete, add-completions-from-buffer, add-completions-from-c-buffer)
(save-completions-to-file): Likewise.