(flyspell-accept-buffer-local-defs): Use it to avoid silly redundant work.
(flyspell-mode-on): Use add-hook for after-change-functions.
(flyspell-mode-off): Use remove-hook for after-change-functions.
(flyspell-changes): Make it buffer-local.
(flyspell-after-change-function): Make it non-interactive. Use push.
(flyspell-post-command-hook): Check input-pending-p while processing
the potentially long list of buffer changes.
(save-completions-file-name): Use ~/.emacs.d if available.
(completion-standard-syntax-table): Rename from
cmpl-standard-syntax-table and fold initialization into declaration,
thus removing cmpl-make-standard-completion-syntax-table.
(completion-lisp-syntax-table, completion-c-syntax-table)
(completion-fortran-syntax-table, completion-c-def-syntax-table): Idem.
(cmpl-saved-syntax, cmpl-saved-point): Remove.
(symbol-under-point, symbol-before-point)
(symbol-under-or-before-point, symbol-before-point-for-complete)
(add-completions-from-c-buffer): Use with-syntax-table.
(make-completion): Don't return a list of completion entries.
Update callers.
(cmpl-prefix-entry-head, cmpl-prefix-entry-tail): Use defalias.
(completion-initialize): Rename from initialize-completions.
(completion-find-file-hook): Rename from cmpl-find-file-hook.
(kill-emacs-save-completions): Collect stats here.
(save-completions-to-file, load-completions-from-file):
Use with-current-buffer.
(completion-def-wrapper): Rename from def-completion-wrapper. Make it
into a function. Move all calls to toplevel.
(completion-lisp-mode-hook): New fun.
(completion-c-mode-hook, completion-setup-fortran-mode):
Set the syntax-table here. Use local-set-key.
(completion-saved-bindings): New var.
(dynamic-completion-mode): Make it into a proper minor mode.
(load-completions-from-file): Remove unused var `num-uses'.
current buffer around the call to `list-buffers-noselect'. This is
necessary to mark that buffer with a `.' in the Buffer Menu when
called from Lisp, for instance by Auto Revert Mode.
(partial-completion-mode): Use find-file-not-found-functions.
(PC-lisp-complete-symbol): Use with-syntax-table.
(PC-look-for-include-file): Remove dead setq.
(PC-look-for-include-file, PC-expand-many-files, PC-do-completion)
(PC-complete): Use with-current-buffer.
(Fadjust_window_trailing_edge): New function.
(syms_of_window): defsubr it.
(window_deletion_count): New variable.
(delete_window): Update window_deletion_count.
(ido-mode-common-map, ido-mode-file-map)
(ido-mode-file-dir-map, ido-mode-buffer-map): New keymaps.
(ido-define-mode-map): Rewrite. Select one of the new maps as
parent for ido-mode-map instead of building from scratch.
(ido-init-mode-maps): New defun to initialize new maps.
(ido-mode): Call it.
(ido-switch-buffer): Doc fix -- use \<ido-mode-buffer-map>.
(ido-find-file): Doc fix -- use \<ido-mode-file-map>.