]> code.delx.au - gnu-emacs/blobdiff - lisp/play/life.el
(url-http-mark-connection-as-free, url-http-find-free-connection):
[gnu-emacs] / lisp / play / life.el
index df678d9ecdff4a027c0c28b8a5995e36ba54a686..ddbbcd70c70202f491d129b7fdeada964a00dd57 100644 (file)
@@ -1,6 +1,7 @@
 ;;; life.el --- John Horton Conway's `Life' game for GNU Emacs
 
-;; Copyright (C) 1988, 2001, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Kyle Jones <kyleuunet.uu.net>
 ;; Maintainer: FSF
     "            @@   " "             @@  " "              @@ "
     "               @@")
    ("@@@@@@@@@" "@   @   @" "@ @@@@@ @" "@ @   @ @" "@@@   @@@"
-    "@ @   @ @" "@ @@@@@ @" "@   @   @" "@@@@@@@@@")]
+    "@ @   @ @" "@ @@@@@ @" "@   @   @" "@@@@@@@@@")
+   ("                        @           "
+    "                      @ @           "
+    "            @@      @@            @@"
+    "           @   @    @@            @@"
+    "@@        @     @   @@              "
+    "@@        @   @ @@    @ @           "
+    "          @     @       @           "
+    "           @   @                    "
+    "            @@                      ")
+   ("      @ "
+    "    @ @@"
+    "    @ @ "
+    "    @   "
+    "  @     "
+    "@ @     ")
+   ("@@@ @"
+    "@    "
+    "   @@"
+    " @@ @"
+    "@ @ @")
+   ("@@@@@@@@ @@@@@   @@@      @@@@@@@ @@@@@")]
   "Vector of rectangles containing some Life startup patterns.")
 
 ;; Macros are used macros for manifest constants instead of variables
@@ -127,6 +149,7 @@ generations (this defaults to 1)."
          mode-name "Life"
          major-mode 'life-mode
          truncate-lines t
+          show-trailing-whitespace nil
          life-current-generation 0
          life-generation-string "0"
          mode-line-buffer-identification '("Life: generation "
@@ -268,7 +291,8 @@ generations (this defaults to 1)."
   (recenter 0)
 
   ;; Redisplay; if the user has hit a key, exit the loop.
-  (or (eq t (sit-for sleeptime))
+  (or (and (sit-for sleeptime) (< 0 sleeptime))
+      (not (input-pending-p))
       (throw 'life-exit nil)))
 
 (defun life-extinct-quit ()