 	(ghc-display
 	 nil
 	 (lambda ()
-	   (mapc (lambda (x) (insert x "\n\n")) msgs)))))))
+           (progn
+	     (mapc (lambda (x) (insert x "\n\n")) msgs)
+             (buttonize-buffer)) ))))))
 
 (defun ghc-display-holes-to-minibuf ()
   (let ((file-msgs (ghc-get-only-holes)))
     (if (null file-msgs)
-	(message "No errors or warnings")
+	(message "No holes")
       (let* ((file (ghc-file-msgs-get-file file-msgs))
 	     (msgs (ghc-file-msgs-get-msgs file-msgs))
 	     (errmsg (mapconcat 'identity msgs "\n"))

	      nil))
	(ghc-make-file-msgs :file file :msgs holes)))))

(defun ghc-display-holes ()
  (interactive)
  (let ((file-msgs (ghc-get-only-holes)))

	       (wrn (string-match "^Warning" msg))
               (hole (save-match-data
                        (when (string-match "Found hole .\\(_[_[:alnum:]]*\\)." msg)
                              (match-string 1 msg))))
	       (info (ghc-make-hilit-info
		      :file file
		      :line line
