diff lisp/whitespace.el @ 61395:21f8452c722e

(whitespace-highlight-the-space): Put the same overlay in the buffer and in whitespace-highlighted-space. (whitespace-unhighlight-the-space): Simplify. (whitespace-buffer): Simplify.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 08 Apr 2005 14:40:57 +0000
parents 31aa9a390538
children c85ac0c1b8e9 9deb6323655c 02f1dbc4a199
line wrap: on
line diff
--- a/lisp/whitespace.el	Fri Apr 08 14:26:13 2005 +0000
+++ b/lisp/whitespace.el	Fri Apr 08 14:40:57 2005 +0000
@@ -489,16 +489,14 @@
 				  (if whitespace-spacetab "s")
 				  (if whitespace-trailing "t")))))
 	      (whitespace-update-modeline whitespace-this-modeline)
-	      (save-excursion
-		(get-buffer-create whitespace-errbuf)
-		(kill-buffer whitespace-errbuf)
-		(get-buffer-create whitespace-errbuf)
-		(set-buffer whitespace-errbuf)
+	      (if (get-buffer whitespace-errbuf)
+		  (kill-buffer whitespace-errbuf))
+	      (with-current-buffer (get-buffer-create whitespace-errbuf)
 		(if whitespace-errmsg
 		    (progn
 		      (insert whitespace-errmsg)
 		      (if (not (or quiet whitespace-silent))
-			  (display-buffer whitespace-errbuf t))
+			  (display-buffer (current-buffer) t))
 		      (if (not quiet)
 			  (message "Whitespaces: [%s%s] in %s"
 				   whitespace-this-modeline
@@ -511,9 +509,7 @@
 		  (if (and (not quiet) (not (equal whitespace-clean-msg "")))
 		      (message "%s %s" whitespace-filename
 			       whitespace-clean-msg))))))))
-    (if whitespace-error
-	t
-      nil)))
+    whitespace-error))
 
 ;;;###autoload
 (defun whitespace-region (s e)
@@ -736,23 +732,17 @@
 (defun whitespace-highlight-the-space (b e)
   "Highlight the current line, unhighlighting a previously jumped to line."
   (if whitespace-display-spaces-in-color
-      (progn
+      (let ((ol (whitespace-make-overlay b e)))
 	(whitespace-unhighlight-the-space)
-	(add-to-list 'whitespace-highlighted-space
-		     (whitespace-make-overlay b e))
-	(whitespace-overlay-put (whitespace-make-overlay b e) 'face
-				'whitespace-highlight-face))))
+	(push ol whitespace-highlighted-space)
+	(whitespace-overlay-put ol 'face 'whitespace-highlight-face))))
 ;;  (add-hook 'pre-command-hook 'whitespace-unhighlight-the-space))
 
 (defun whitespace-unhighlight-the-space ()
   "Unhighlight the currently highlight line."
   (if (and whitespace-display-spaces-in-color whitespace-highlighted-space)
-      (let ((whitespace-this-space nil))
-	(while whitespace-highlighted-space
-	  (setq whitespace-this-space (car whitespace-highlighted-space))
-	  (setq whitespace-highlighted-space
-		(cdr whitespace-highlighted-space))
-	  (whitespace-delete-overlay whitespace-this-space))
+      (progn
+	(mapc 'whitespace-delete-overlay whitespace-highlighted-space)
 	(setq whitespace-highlighted-space nil))
     (remove-hook 'pre-command-hook 'whitespace-unhighlight-the-space)))
 
@@ -863,5 +853,5 @@
 
 (provide 'whitespace)
 
-;;; arch-tag: 4ff44e87-b63c-402d-95a6-15e51e58bd0c
+;; arch-tag: 4ff44e87-b63c-402d-95a6-15e51e58bd0c
 ;;; whitespace.el ends here