]> code.delx.au - gnu-emacs/blobdiff - lisp/play/gamegrid.el
(font-lock-keyword-face, font-lock-set-defaults, font-lock-string-face):
[gnu-emacs] / lisp / play / gamegrid.el
index 54a8f361c990c9f74d6648a08f2f3727be8281a7..ee64c17841415db53775913fe337098b4a51531e 100644 (file)
@@ -1,6 +1,7 @@
 ;;; gamegrid.el --- library for implementing grid-based games on Emacs
 
-;; Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2002, 2003, 2004,
+;;   2005 Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
 ;; Version: 1.02
@@ -21,8 +22,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -179,9 +180,7 @@ static unsigned char gamegrid_bits[] = {
 
 (defun gamegrid-make-mono-tty-face ()
   (let ((face (make-face 'gamegrid-mono-tty-face)))
-    (condition-case nil
-       (set-face-property face 'reverse t)
-      (error nil))
+    (set-face-inverse-video-p face t)
     face))
 
 (defun gamegrid-make-color-tty-face (color)
@@ -298,7 +297,7 @@ static unsigned char gamegrid_bits[] = {
           'emacs-tty)))
 
 (defun gamegrid-set-display-table ()
-  (if (fboundp 'specifierp)
+  (if (featurep 'xemacs)
       (add-spec-to-specifier current-display-table
                             gamegrid-display-table
                             (current-buffer)
@@ -409,7 +408,7 @@ static unsigned char gamegrid_bits[] = {
 
 (defun gamegrid-set-timer (delay)
   (if gamegrid-timer
-      (if (featurep 'itimer)
+      (if (fboundp 'set-itimer-restart)
          (set-itimer-restart gamegrid-timer delay)
        (timer-set-time gamegrid-timer
                        (list (aref gamegrid-timer 1)
@@ -475,25 +474,27 @@ FILE is created there."
 ;;        FILE in the user's home directory.  There is presumably no
 ;;        shared game directory.
 
+(defvar gamegrid-shared-game-dir)
+
 (defun gamegrid-add-score-with-update-game-score (file score)
   (let* ((result nil) ;; What is this good for? -- os
-        (have-shared-game-dir
+        (gamegrid-shared-game-dir
          (not (zerop (logand (file-modes
                               (expand-file-name "update-game-score"
                                                 exec-directory))
                              #o4000)))))
     (cond ((file-name-absolute-p file)
           (gamegrid-add-score-insecure file score))
-         ((and have-shared-game-dir
+         ((and gamegrid-shared-game-dir
                (file-exists-p (expand-file-name file shared-game-score-directory)))
           ;; Use the setuid "update-game-score" program to update a
           ;; system-wide score file.
-          (gamegrid-add-score-with-update-game-score-1
+          (gamegrid-add-score-with-update-game-score-1 file
            (expand-file-name file shared-game-score-directory) score))
          ;; Else: Add the score to a score file in the user's home
          ;; directory.
-         (have-shared-game-dir
-          ;; If `have-shared-game-dir' is non-nil, then
+         (gamegrid-shared-game-dir
+          ;; If `gamegrid-shared-game-dir' is non-nil, then
           ;; "update-gamescore" program is setuid, so don't use it.
           (unless (file-exists-p
                    (directory-file-name gamegrid-user-score-file-directory))
@@ -509,9 +510,9 @@ FILE is created there."
                 (setq f (expand-file-name file f))
                 (unless (file-exists-p f)
                   (write-region "" nil f nil 'silent nil 'excl)))
-              (gamegrid-add-score-with-update-game-score-1 f score))))))
+              (gamegrid-add-score-with-update-game-score-1 file f score))))))
 
-(defun gamegrid-add-score-with-update-game-score-1 (target score)
+(defun gamegrid-add-score-with-update-game-score-1 (file target score)
   (let ((default-directory "/")
        (errbuf (generate-new-buffer " *update-game-score loss*")))
     (apply
@@ -521,7 +522,7 @@ FILE is created there."
        (expand-file-name "update-game-score" exec-directory)
        nil errbuf nil
        "-m" (int-to-string gamegrid-score-file-length)
-       "-d" (if have-shared-game-dir
+       "-d" (if gamegrid-shared-game-dir
                (expand-file-name shared-game-score-directory)
              (file-name-directory target))
        file