changeset 44494:bca3cc7821fe

Fix previous change.
author Colin Walters <walters@gnu.org>
date Wed, 10 Apr 2002 23:16:45 +0000
parents dc864bb90c6c
children 5040cc502801
files lisp/play/gamegrid.el
diffstat 1 files changed, 19 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/play/gamegrid.el	Wed Apr 10 22:14:09 2002 +0000
+++ b/lisp/play/gamegrid.el	Wed Apr 10 23:16:45 2002 +0000
@@ -407,7 +407,17 @@
 (defun gamegrid-add-score (file score)
   "Add the current score to the high score file."
   (let ((result nil)
-	(errbuf (generate-new-buffer " *update-game-score loss*")))
+	(errbuf (generate-new-buffer " *update-game-score loss*"))
+	(target (if game-score-directory
+		    file
+		  (let ((f (expand-file-name "~/.emacs.d/games")))
+		    (unless (eq (car-safe (file-attributes f))
+				t)
+		      (make-directory f))
+		    (setq f (expand-file-name file f))
+		    (unless (file-exists-p f)
+		      (write-region "" nil f nil 'silent nil 'excl))
+		    f))))
     (let ((default-directory "/"))
       (apply
        'call-process
@@ -426,14 +436,14 @@
 		 user-mail-address)
 		(t ""))
 	  ">  "
-	  (current-time-string)))))
-      (if (buffer-modified-p errbuf)
-	  (progn
-	    (display-buffer errbuf)
-	    (error "Failed to update game score file"))
-	(kill-buffer errbuf))))
-  (save-excursion
-    (find-file-read-only-other-window (expand-file-name file game-score-directory))))
+	  (current-time-string))))))
+    (if (buffer-modified-p errbuf)
+	(progn
+	  (display-buffer errbuf)
+	  (error "Failed to update game score file"))
+      (kill-buffer errbuf))
+    (save-excursion
+      (find-file-read-only-other-window target))))
 	
 
 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;