diff lisp/play/gamegrid.el @ 76282:5c5cfff568a1

(gamegrid-add-score-with-update-game-score-1): Jump to the line where new score has been uploaded.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 03 Mar 2007 12:15:23 +0000
parents 4b3089985bc1
children 527f752989fc fc9041cfe332 ec58e5c426ef
line wrap: on
line diff
--- a/lisp/play/gamegrid.el	Sat Mar 03 12:14:46 2007 +0000
+++ b/lisp/play/gamegrid.el	Sat Mar 03 12:15:23 2007 +0000
@@ -514,7 +514,17 @@
 
 (defun gamegrid-add-score-with-update-game-score-1 (file target score)
   (let ((default-directory "/")
-	(errbuf (generate-new-buffer " *update-game-score loss*")))
+	(errbuf (generate-new-buffer " *update-game-score loss*"))
+        (marker-string (concat
+			(user-full-name)
+			" <"
+			(cond ((fboundp 'user-mail-address)
+			       (user-mail-address))
+			      ((boundp 'user-mail-address)
+			       user-mail-address)
+			      (t ""))
+			">  "
+			(current-time-string))))
     ;; This can be called from a timer, so enable local quits.
     (with-local-quit
       (apply
@@ -529,28 +539,25 @@
 		(file-name-directory target))
 	 file
 	 (int-to-string score)
-	 (concat
-	  (user-full-name)
-	  " <"
-	  (cond ((fboundp 'user-mail-address)
-		 (user-mail-address))
-		((boundp 'user-mail-address)
-		 user-mail-address)
-		(t ""))
-	  ">  "
-	  (current-time-string))))))
+	 marker-string))))
     (if (buffer-modified-p errbuf)
 	(progn
 	  (display-buffer errbuf)
 	  (error "Failed to update game score file"))
       (kill-buffer errbuf))
     (let ((buf (find-buffer-visiting target)))
-      (if buf
-	  (progn
-	    (with-current-buffer buf
-	      (revert-buffer nil t nil))
-	    (display-buffer buf))
-	(find-file-read-only-other-window target)))))
+      (save-excursion
+        (if buf
+	    (progn
+	      (switch-to-buffer buf)
+	      (revert-buffer nil t nil)
+	      (display-buffer buf))
+	  (find-file-read-only target))
+        (goto-char (point-min))
+        (search-forward (concat (int-to-string score)
+				" " (user-login-name) " "
+				marker-string))
+        (beginning-of-line)))))
 
 (defun gamegrid-add-score-insecure (file score &optional directory)
   (save-excursion