Make these simple three-value choices.
(dabbrev-completion): Handle dabbrev-case-fold-search
and dabbrev-case-replace the new way.
(dabbrev-expand, dabbrev--substitute-expansion): Likewise.
(dabbrev-completion): Bind completion-ignore-case.
(dabbrev--substitute-expansion): Downcase the expansion here,
but not if case pattern matches start of original expansion.
a separator, move back to previous abbreviation.
(dabbrev-expand): New feature--if you insert a space and
call this command again, it always fetches consecutive words
after the expansion that was found for the actual abbrev.
Call dabbrev--reset-global-variables as the first thing.
(dabbrev-abbrev-char-regexp): Default value is nil again.
(dabbrev--find-all-expansions): Don't use push.
(dabbrev--search): Likewise.
(dabbrev-check-other-buffers):
Renamed from dabbrev-always-check-other-buffers.
(dabbrev-check-all-buffers): Renamed frm dabbrev-check-rest-of-buffers.
(dabbrev-expand): Now checks for marker.
(dabbrev--try-find): Now does a protected call to `widen'.
(dabbrev-always-check-other-buffers): Default now t.
(dabbrev--capitalize): Function deleted.
(dabbrev-completion): Use `capitalize'.
Don't provide new-dabbrev.
(dabbrev--try-find): Don't use `loop'.
Don't create or kill local bindings.
(dabbrev-completion): Use key-description to say what to type.
Fix style of "done" message.
(dabbrev-submit-feedback): Function deleted.
(dabbrev--same-major-mode-p): Simplify.
(dabbrev-completion, dabbrev--abbrev-at-point): Fix error msg style.
(dabbrev-filter-elements): New macro.
(dabbrev--select-buffers, dabbrev--find-expansion): Use that.
(dabbrev--search): Use that.