;ELC ;;; compiled by jwz@thalidomide on Tue Dec 28 03:53:42 1993 ;;; from file /th/jwz/emacs19/lisp/games/life.el ;;; emacs version 19.9 Lucid (beta7). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (defconst life-patterns [("@@@" " @@" "@@@") ("@@@ @@@" "@@ @@ " "@@@ @@@") ("@@@ @@@" "@@ @@" "@@@ @@@") ("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") ("@@@@@@@@@@") (" @@@@@@@@@@ " " @@@@@@@@@@ " " @@@@@@@@@@ " "@@@@@@@@@@ " "@@@@@@@@@@ ") ("@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@") ("@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @") ("@@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@") ("@@@@@@@@@" "@ @ @" "@ @@@@@ @" "@ @ @ @" "@@@ @@@" "@ @ @ @" "@ @@@@@ @" "@ @ @" "@@@@@@@@@")] "\ Vector of rectangles containing some Life startup patterns.") (byte-code "MMMMMMMMMMMMMڇ" [life-life-char (macro lambda nil 64) life-death-char (macro lambda nil 65) life-birth-char (macro lambda nil 3) life-void-char (macro lambda nil 32) life-life-string (macro . #[nil "!" [char-to-string 64] 2]) life-death-string (macro . #[nil "!" [char-to-string 65] 2]) life-birth-string (macro . #[nil "!" [char-to-string 3] 2]) life-void-string (macro . #[nil "!" [char-to-string 32] 2]) life-not-void-regexp (macro . #[nil "Q" ["[^" " " "\n]"] 3]) goto-beginning-of-buffer (macro . #[nil "" [(goto-char 1)] 1]) maxint (macro . #[nil "\"\"" [lsh -1 1] 4]) goto-end-of-buffer (macro . #[nil "" [(goto-char (maxint))] 1]) increment (macro . #[(variable) " DE" [setq variable 1+] 4]) nil life-neighbor-deltas life-window-start life-current-generation life-generation-string] 2) (fset 'life #[(&optional sleeptime) " !ō" [sleeptime 1 life-setup life-display-generation life-exit (byte-code " !)m" [t inhibit-quit life-grim-reaper life-expand-plane-if-needed life-increment-generation life-display-generation sleeptime] 2)] 2 "\ Run Conway's Life simulation. The starting pattern is randomly selected. Prefix arg (optional first arg non-nil from a program) is the number of seconds to sleep between generations (this defaults to 1)." "p"]) (byte-code "\"#!MMMMMMMM##!" [defalias life-mode life put mode-class special random t life-setup #[nil "!\" \n   Sp! b#ʼn#qb`)Zޥm jyu Sed\"Zޥb !b !bmj!``|yeed\" )" [nil n switch-to-buffer get-buffer-create "*Life*" t erase-buffer kill-all-local-variables case-fold-search "Life" mode-name life-mode major-mode truncate-lines 0 life-current-generation "0" life-generation-string ("Life: generation " life-generation-string) mode-line-buffer-identification window-width fill-column 1 life-window-start buffer-disable-undo life-insert-random-pattern re-search-forward "[^ \n]" replace-match "@" 2 window-height count-lines newline 134217727 move-to-column untabify life-expand-plane-if-needed life-compute-neighbor-deltas] 4] life-compute-neighbor-deltas #[nil " [ T[ \\[ T \\" [-1 fill-column 2 1 life-neighbor-deltas] 9] life-insert-random-pattern #[nil " G!!c" [insert-rectangle life-patterns random 10] 4] life-increment-generation #[nil "T!" [life-current-generation int-to-string life-generation-string] 2] life-grim-reaper #[nil "!b# `S @\\f=T%WTT%WT%Y T A/ > T% -̔ d%d%d%d%d%" [store-match-data nil 1 list living-neighbors pivot char point search-forward "@" t life-neighbor-deltas 0 32 subst-char-in-region 3 9 64 (2 3) 65 life-extinct-quit 2] 7] life-expand-plane-if-needed #[nil "b` \\\\\\#b \"c \"c \\\\ b` Z ZZ#b \"c \"c \\\\ " [done (byte-code "bmg=h=bmccuo \\! \"yG‡" [1 64 nil 32 fill-column 2 scroll-left life-compute-neighbor-deltas throw done t] 3) 1 search-forward "@" fill-column 2 t insert-char 32 10 life-window-start 134217727 search-backward] 6] life-display-generation #[(sleeptime) "b! !=\"" [life-window-start recenter 0 sit-for sleeptime t throw life-exit nil] 3] life-extinct-quit #[nil "!\"" [life-display-generation 0 signal life-extinct nil] 3] life-extinct error-conditions (life-extinct quit) error-message "All life has perished" provide] 4)