diff lisp/dabbrev.el @ 80894:47f2f1844e89

(dabbrev-eliminate-newlines): Renamed from dabbrev--eliminate-newlines. All uses changed.
author Richard M. Stallman <rms@gnu.org>
date Thu, 10 May 2007 14:46:52 +0000
parents e3694f1cb928
children 09cf7476abec d7172f202ab8
line wrap: on
line diff
--- a/lisp/dabbrev.el	Thu May 10 11:54:33 2007 +0000
+++ b/lisp/dabbrev.el	Thu May 10 14:46:52 2007 +0000
@@ -128,7 +128,7 @@
 		 (const :tag "off" nil))
   :group 'dabbrev)
 
-(defcustom dabbrev--eliminate-newlines t
+(defcustom dabbrev-eliminate-newlines t
   "*Non-nil means dabbrev should not insert newlines.
 Instead it converts them to spaces."
   :type 'boolean
@@ -913,10 +913,12 @@
 			  ((equal abbrev (downcase abbrev)) 'downcase)))))
 
     ;; Convert whitespace to single spaces.
-    (if dabbrev--eliminate-newlines
-	;; Start searching at end of ABBREV so that any whitespace
-	;; carried over from the existing text is not changed.
-	(let ((pos (length abbrev)))
+    (if dabbrev-eliminate-newlines
+	(let ((pos
+	       (if (equal abbrev " ") 0 (length abbrev))))
+	  ;; If ABBREV is real, search after the end of it.
+	  ;; If ABBREV is space and we are copying successive words,
+	  ;; search starting at the front.
 	  (while (string-match "[\n \t]+" expansion pos)
 	    (setq pos (1+ (match-beginning 0)))
 	    (setq expansion (replace-match " " nil nil expansion)))))