diff options
author | Richard M. Stallman <rms@gnu.org> | 2003-01-06 01:19:59 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2003-01-06 01:19:59 +0000 |
commit | 19c17c4ec58a7326e6394c00e526e614519e71aa (patch) | |
tree | 284ab8b390fc1975ec6dd8f0f360462eb4df7605 /lisp/dabbrev.el | |
parent | d77bbdc98d25c66a078e21d9bf785b59e9eabc2b (diff) | |
download | emacs-19c17c4ec58a7326e6394c00e526e614519e71aa.tar.gz |
(dabbrev--substitute-expansion):
Convert all whitespace to single spaces,
except when it's carried over from the existing text.
Diffstat (limited to 'lisp/dabbrev.el')
-rw-r--r-- | lisp/dabbrev.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el index 9dba5d61ebe..fd8b596d530 100644 --- a/lisp/dabbrev.el +++ b/lisp/dabbrev.el @@ -926,10 +926,14 @@ to record whether we upcased the expansion, downcased it, or did neither." (cond ((equal abbrev (upcase abbrev)) 'upcase) ((equal abbrev (downcase abbrev)) 'downcase))))) - ;; Convert newlines to spaces. + ;; Convert whitespace to single spaces. (if dabbrev--eliminate-newlines - (while (string-match "\n" expansion) - (setq expansion (replace-match " " nil nil expansion)))) + ;; Start searching at end of ABBREV so that any whitespace + ;; carried over from the existing text is not changed. + (let ((pos (length abbrev))) + (while (string-match "[\n \t]+" expansion pos) + (setq pos (1+ (match-beginning 0))) + (setq expansion (replace-match " " nil nil expansion))))) (if old (save-excursion |