%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/play/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/play/life.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@61 Vector of rectangles containing some Life startup patterns.
(defvar life-patterns [("@@@" " @@" "@@@") ("@@@ @@@" "@@  @@ " "@@@ @@@") ("@@@ @@@" "@@   @@" "@@@ @@@") ("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") ("@@@@@@@@@@") ("   @@@@@@@@@@       " "     @@@@@@@@@@     " "       @@@@@@@@@@   " "@@@@@@@@@@          " "@@@@@@@@@@          ") ("@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@" "@") ("@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @" "@               @") ("@@               " " @@              " "  @@             " "   @@            " "    @@           " "     @@          " "      @@         " "       @@        " "        @@       " "         @@      " "          @@     " "           @@    " "            @@   " "             @@  " "              @@ " "               @@") ("@@@@@@@@@" "@   @   @" "@ @@@@@ @" "@ @   @ @" "@@@   @@@" "@ @   @ @" "@ @@@@@ @" "@   @   @" "@@@@@@@@@") ("                        @           " "                      @ @           " "            @@      @@            @@" "           @   @    @@            @@" "@@        @     @   @@              " "@@        @   @ @@    @ @           " "          @     @       @           " "           @   @                    " "            @@                      ") ("      @ " "    @ @@" "    @ @ " "    @   " "  @     " "@ @     ") ("@@@ @" "@    " "   @@" " @@ @" "@ @ @") ("@@@@@@@@ @@@@@   @@@      @@@@@@@ @@@@@")] (#$ . 408))
(defalias 'life-life-char '(macro . #[nil "\300\207" [64] 1]))
(defalias 'life-death-char '(macro . #[nil "\300\207" [65] 1]))
(defalias 'life-birth-char '(macro . #[nil "\300\207" [3] 1]))
(defalias 'life-void-char '(macro . #[nil "\300\207" [32] 1]))
(defalias 'life-life-string '(macro . #[nil "\300\301!\207" [char-to-string 64] 2]))
(defalias 'life-death-string '(macro . #[nil "\300\301!\207" [char-to-string 65] 2]))
(defalias 'life-birth-string '(macro . #[nil "\300\301!\207" [char-to-string 3] 2]))
(defalias 'life-void-string '(macro . #[nil "\300\301!\207" [char-to-string 32] 2]))
(defalias 'life-not-void-regexp '(macro . #[nil "\300\207" ["[^ \n]"] 1]))
(defalias 'life-increment '(macro . #[(variable) "\301\302DE\207" [variable setq 1+] 4]))
(defvar life-neighbor-deltas nil)
(defvar life-window-start nil)
(defvar life-current-generation nil)
(defvar life-generation-string nil)
#@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) "\204\303\304 \210\3052\"\306\211\307!\210\310 \210\311 \210\312 \210*\202
\207" [sleeptime inhibit-read-only inhibit-quit 1 life-setup life-exit t life-display-generation life-grim-reaper life-expand-plane-if-needed life-increment-generation] 2 (#$ . 2964) "p"])
(defvar life-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [life-mode-hook variable-documentation put "Hook run after entering Life mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp life-mode-map definition-name life-mode] 4)
(defvar life-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [life-mode-abbrev-table life-mode-map variable-documentation put purecopy "Keymap for `life-mode'." boundp life-mode-syntax-table definition-name life-mode (lambda (#1=#:def-tmp-var) (defvar life-mode-syntax-table #1#)) make-syntax-table "Syntax table for `life-mode'." (lambda (#1#) (defvar life-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `life-mode'." derived-mode-parent special-mode] 5)
#@227 Major mode for the buffer of `life'.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `life-mode-hook', as the final or penultimate step
during initialization.

\{life-mode-map}
(defalias 'life-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324*\325\"\204V*+=\204V\326*\325+C#\210\327!\210\330\f!\210*+\306\331!\210\332\306\333!\210\307\306\334!\210\332\306\335!\210\336\306\337!\210\340\306\341!\210\342!\306\343!\210\344 S#\306\345!\210\346%\347 \210)\350\351!\207" [delay-mode-hooks major-mode mode-name life-mode-map life-mode-syntax-table parent make-local-variable t special-mode life-mode "Life" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table case-fold-search nil truncate-lines show-trailing-whitespace life-current-generation 0 life-generation-string "0" mode-line-buffer-identification ("Life: generation " life-generation-string) fill-column window-width life-window-start 1 buffer-disable-undo run-mode-hooks life-mode-hook life-mode-abbrev-table local-abbrev-table] 6 (#$ . 4600) nil])
(defalias 'life-setup #[nil "\303\304\305!\306\"\210\307 \210\310 \210\306\311 \210eb\210\312\313\314\306#\203&\315\316\306\211#\210\202eb\210	\317 Z\320\245m\204=\nj\210\314y\210\2020)\321 S\322ed\"Z\320\245eb\210\323\n!\210db\210\323\n!\210)eb\210m\204v\314\210	j\210\324	!\210`\314\210`|\210\314y\210\202[\325ed\"\210\326 \210\327 )\207" [inhibit-read-only fill-column n switch-to-buffer get-buffer-create "*Life*" t erase-buffer life-mode life-insert-random-pattern re-search-forward "[^ \n]" nil replace-match "@" line-end-position 2 window-height count-lines newline move-to-column untabify life-expand-plane-if-needed life-compute-neighbor-deltas] 4])
(defalias 'life-compute-neighbor-deltas #[nil "\302[T[\303\\[\304\211T\303\\\257\211\207" [fill-column life-neighbor-deltas -1 2 1] 9])
(defalias 'life-insert-random-pattern #[nil "\301\302G!\234!\210\303c\207" [life-patterns insert-rectangle random 10] 4])
(defalias 'life-increment-generation #[nil "T\302!\211\207" [life-current-generation life-generation-string int-to-string] 2])
(defalias 'life-grim-reaper #[nil "\306\307!\210eb\210\307\211\211\211\211\310\311\307\312#\203\205
\313`S\203s\n@\\\211f\211\314=\203>\315\f\211T\314\316\312%\210\202l\317W\203Q\315\f\211T\211T\312%\210\202l\320W\203c\315\f\211T\320\312%\210\202l\321Y\203l	TA\211\204$	\322>\204\315\n\211T\321\323\312%\210\202-\313\224\204\216\324 \210\315\316d\320\314\312%\210\315\316d\316\314\312%\210\315\316d\325\314\312%\210\315\316d\317\321\312%\210\315\316d\323\314\312%\207" [list living-neighbors pivot char point life-neighbor-deltas set-match-data nil search-forward "@" t 0 32 subst-char-in-region 1 3 9 64 (2 3) 65 life-extinct-quit 2] 7])
(defalias 'life-expand-plane-if-needed #[nil "\3022Heb\210m?\205Gg\303=\204\304\210h\303=\203Aeb\210m\2041\305c\210\304\210\305c\210\304u\210\202\306\\\307\310!\210\311 \210\312\302\313\"\210\304y\210\2020\210eb\210\314\315\316`\211\306$\313#\203reb\210\317\305\"\210\320c\210\317\305\"\210\320c\210\316	\310#db\210\321\315\322`\211\306$\313#\205\234db\210\317\305\"\210\320c\210\317\305\"\210\320c\210\316	\310#\211\207" [fill-column life-window-start done 64 nil 32 2 scroll-left 1 life-compute-neighbor-deltas throw t search-forward "@" + insert-char 10 search-backward -] 7])
(defalias 'life-display-generation #[(sleeptime) "b\210\302\303!\210\304	!\203\303	W\206\305 ?\206\306\307\310\"\207" [life-window-start sleeptime recenter 0 sit-for input-pending-p throw life-exit nil] 3])
(defalias 'life-extinct-quit #[nil "\300\301!\210\302\303\304\"\207" [life-display-generation 0 signal life-extinct nil] 3])
(byte-code "\300\301\302\303#\210\304\305!\207" [define-error life-extinct "All life has perished" quit provide life] 4)

Zerion Mini Shell 1.0