;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:44:58 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/life.el ;;; emacs version 19.28.90.26. ;;; bytecomp version FSF 2.10 ;;; 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 "`/gd/gnu/emacs/19.0/lisp/life.el' was compiled for Emacs 19")) #@61 Vector of rectangles containing some Life startup patterns. (defconst life-patterns [("@@@" " @@" "@@@") ("@@@ @@@" "@@ @@ " "@@@ @@@") ("@@@ @@@" "@@ @@" "@@@ @@@") ("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") ("@@@@@@@@@@") (" @@@@@@@@@@ " " @@@@@@@@@@ " " @@@@@@@@@@ " "@@@@@@@@@@ " "@@@@@@@@@@ ") ("@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@") ("@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @" "@ @") ("@@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@ " " @@") ("@@@@@@@@@" "@ @ @" "@ @@@@@ @" "@ @ @ @" "@@@ @@@" "@ @ @ @" "@ @@@@@ @" "@ @ @" "@@@@@@@@@")] (#$ . 477)) (defalias 'life-life-char '(macro . #[nil "" [64] 1])) (defalias 'life-death-char '(macro . #[nil "" [65] 1])) (defalias 'life-birth-char '(macro . #[nil "" [3] 1])) (defalias 'life-void-char '(macro . #[nil "" [32] 1])) (defalias 'life-life-string '(macro . #[nil "!" [char-to-string 64] 2])) (defalias 'life-death-string '(macro . #[nil "!" [char-to-string 65] 2])) (defalias 'life-birth-string '(macro . #[nil "!" [char-to-string 3] 2])) (defalias 'life-void-string '(macro . #[nil "!" [char-to-string 32] 2])) (defalias 'life-not-void-regexp '(macro . #[nil "Q" ["[^" " " "\n]"] 3])) (defalias 'goto-beginning-of-buffer '(macro . #[nil "" [(goto-char 1)] 1])) (defalias 'maxint '(macro . #[nil "\"\"" [lsh -1 1] 4])) (defalias 'goto-end-of-buffer '(macro . #[nil "" [(goto-char (maxint))] 1])) (defalias 'increment '(macro . #[(variable) " DE" [setq variable 1+] 4])) (byte-code "\nB\nB\nB\nB" [nil life-neighbor-deltas current-load-list life-window-start life-current-generation life-generation-string] 2) (defalias 'abs #[(n) "W [" [n 0] 2]) #@206 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). (defalias 'life #[(&optional sleeptime) " !ō" [sleeptime 1 life-setup life-display-generation life-exit (byte-code " !)" [t inhibit-quit life-grim-reaper life-expand-plane-if-needed life-increment-generation life-display-generation sleeptime] 2)] 2 (#$ . 2741) "p"]) (byte-code "\"#!" [defalias life-mode life put mode-class special random t] 4) (defalias 'life-setup #[nil "!\" \n\f  Sp! b#Gʼn#6b`)Zޥmc jyV Sed\"Zޥb !b !bmj!``|yed\" )" [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]) (defalias 'life-compute-neighbor-deltas #[nil " [ T[ \\[ T \\" [-1 fill-column 2 1 life-neighbor-deltas] 9]) (defalias 'life-insert-random-pattern #[nil " G!!c" [insert-rectangle life-patterns random 10] 4]) (defalias 'life-increment-generation #[nil "T!" [life-current-generation int-to-string life-generation-string] 2]) (defalias 'life-grim-reaper #[nil "!b# `S @\\f=DT%yWZTT%yWoT%yYy\fT A'\f> 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]) (defalias 'life-expand-plane-if-needed #[nil "b` \\\\\\#0b \"c \"c \\\\ b` Z ZZ#]b \"c \"c \\\\ " [done (byte-code "bmBg=h=<bm,ccu\f\\! \"y‡" [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]) (defalias 'life-display-generation #[(sleeptime) "b!\f!=\"" [life-window-start recenter 0 sit-for sleeptime t throw life-exit nil] 3]) (defalias 'life-extinct-quit #[nil "!\"" [life-display-generation 0 signal life-extinct nil] 3]) (byte-code "##!" [put life-extinct error-conditions (life-extinct quit) error-message "All life has perished" provide life] 4)