diff options
| author | Stephen Eglen | 1998-04-05 16:14:58 +0000 |
|---|---|---|
| committer | Stephen Eglen | 1998-04-05 16:14:58 +0000 |
| commit | 323f7c491fa609efb16ab53da95c591e487e6f23 (patch) | |
| tree | 9fb6a401ddd014bf5e8618a9c007ce3a457286f7 /lisp | |
| parent | a797a30d6b1555f0d778ecd8fee34c2ad8f42bc7 (diff) | |
| download | emacs-323f7c491fa609efb16ab53da95c591e487e6f23.tar.gz emacs-323f7c491fa609efb16ab53da95c591e487e6f23.zip | |
Customized.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/play/bruce.el | 19 | ||||
| -rw-r--r-- | lisp/play/decipher.el | 29 | ||||
| -rw-r--r-- | lisp/play/dunnet.el | 12 | ||||
| -rw-r--r-- | lisp/play/gametree.el | 35 | ||||
| -rw-r--r-- | lisp/play/gomoku.el | 25 | ||||
| -rw-r--r-- | lisp/play/handwrite.el | 66 | ||||
| -rw-r--r-- | lisp/play/landmark.el | 53 | ||||
| -rw-r--r-- | lisp/play/mpuz.el | 16 | ||||
| -rw-r--r-- | lisp/play/solitaire.el | 18 | ||||
| -rw-r--r-- | lisp/play/spook.el | 19 | ||||
| -rw-r--r-- | lisp/play/yow.el | 11 |
11 files changed, 222 insertions, 81 deletions
diff --git a/lisp/play/bruce.el b/lisp/play/bruce.el index 46fa59bdec9..d54a49981c0 100644 --- a/lisp/play/bruce.el +++ b/lisp/play/bruce.el | |||
| @@ -106,11 +106,20 @@ | |||
| 106 | (require 'cookie1) | 106 | (require 'cookie1) |
| 107 | 107 | ||
| 108 | ; Variables | 108 | ; Variables |
| 109 | (defvar bruce-phrases-file "~/bruce.lines" | 109 | (defgroup bruce nil |
| 110 | "Keep your favorite phrases here.") | 110 | "Insert phrases selected at random from a file into a buffer." |
| 111 | 111 | :prefix "bruce-" | |
| 112 | (defvar bruce-phrase-default-count 15 | 112 | :group 'games) |
| 113 | "Default number of phrases to insert") | 113 | |
| 114 | (defcustom bruce-phrases-file "~/bruce.lines" | ||
| 115 | "Keep your favorite phrases here." | ||
| 116 | :type 'file | ||
| 117 | :group 'bruce) | ||
| 118 | |||
| 119 | (defcustom bruce-phrase-default-count 15 | ||
| 120 | "Default number of phrases to insert." | ||
| 121 | :type 'integer | ||
| 122 | :group 'bruce) | ||
| 114 | 123 | ||
| 115 | ;;;###autoload | 124 | ;;;###autoload |
| 116 | (defun bruce () | 125 | (defun bruce () |
diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el index 307ac0d1732..b880ddb29fb 100644 --- a/lisp/play/decipher.el +++ b/lisp/play/decipher.el | |||
| @@ -93,22 +93,39 @@ | |||
| 93 | (eval-when-compile | 93 | (eval-when-compile |
| 94 | (require 'cl)) | 94 | (require 'cl)) |
| 95 | 95 | ||
| 96 | (defvar decipher-force-uppercase t | 96 | (defgroup decipher nil |
| 97 | "Cryptanalyze monoalphabetic substitution ciphers." | ||
| 98 | :prefix "decipher-" | ||
| 99 | :group 'games) | ||
| 100 | |||
| 101 | (defcustom decipher-force-uppercase t | ||
| 97 | "*Non-nil means to convert ciphertext to uppercase. | 102 | "*Non-nil means to convert ciphertext to uppercase. |
| 98 | Nil means the case of the ciphertext is preserved. | 103 | Nil means the case of the ciphertext is preserved. |
| 99 | This variable must be set before typing `\\[decipher]'.") | 104 | This variable must be set before typing `\\[decipher]'." |
| 105 | :type 'boolean | ||
| 106 | :group 'decipher) | ||
| 107 | |||
| 100 | 108 | ||
| 101 | (defvar decipher-ignore-spaces nil | 109 | (defcustom decipher-ignore-spaces nil |
| 102 | "*Non-nil means to ignore spaces and punctuation when counting digrams. | 110 | "*Non-nil means to ignore spaces and punctuation when counting digrams. |
| 103 | You should set this to `nil' if the cipher message is divided into words, | 111 | You should set this to `nil' if the cipher message is divided into words, |
| 104 | or `t' if it is not. | 112 | or `t' if it is not. |
| 105 | This variable is buffer-local.") | 113 | This variable is buffer-local." |
| 114 | :type 'boolean | ||
| 115 | :group 'decipher) | ||
| 106 | (make-variable-buffer-local 'decipher-ignore-spaces) | 116 | (make-variable-buffer-local 'decipher-ignore-spaces) |
| 107 | 117 | ||
| 108 | (defvar decipher-undo-limit 5000 | 118 | (defcustom decipher-undo-limit 5000 |
| 109 | "The maximum number of entries in the undo list. | 119 | "The maximum number of entries in the undo list. |
| 110 | When the undo list exceeds this number, 100 entries are deleted from | 120 | When the undo list exceeds this number, 100 entries are deleted from |
| 111 | the tail of the list.") | 121 | the tail of the list." |
| 122 | :type 'integer | ||
| 123 | :group 'decipher) | ||
| 124 | |||
| 125 | (defcustom decipher-mode-hook nil | ||
| 126 | "Hook to run upon entry to decipher." | ||
| 127 | :type 'hook | ||
| 128 | :group 'decipher) | ||
| 112 | 129 | ||
| 113 | ;; End of user modifiable variables | 130 | ;; End of user modifiable variables |
| 114 | ;;-------------------------------------------------------------------- | 131 | ;;-------------------------------------------------------------------- |
diff --git a/lisp/play/dunnet.el b/lisp/play/dunnet.el index a3f43ef0a03..58e06fd2348 100644 --- a/lisp/play/dunnet.el +++ b/lisp/play/dunnet.el | |||
| @@ -33,9 +33,15 @@ | |||
| 33 | ;;; The log file should be set for your system, and it must | 33 | ;;; The log file should be set for your system, and it must |
| 34 | ;;; be writable by all. | 34 | ;;; be writable by all. |
| 35 | 35 | ||
| 36 | 36 | (defgroup dunnet nil | |
| 37 | (defvar dun-log-file "/usr/local/dunnet.score" | 37 | "Text adventure for Emacs." |
| 38 | "Name of file to store score information for dunnet.") | 38 | :prefix "dun-" |
| 39 | :group 'games) | ||
| 40 | |||
| 41 | (defcustom dun-log-file "/usr/local/dunnet.score" | ||
| 42 | "Name of file to store score information for dunnet." | ||
| 43 | :type 'file | ||
| 44 | :group 'dunnet) | ||
| 39 | 45 | ||
| 40 | (if nil | 46 | (if nil |
| 41 | (eval-and-compile (setq byte-compile-warnings nil))) | 47 | (eval-and-compile (setq byte-compile-warnings nil))) |
diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el index 40cd2bfd207..17a192d9794 100644 --- a/lisp/play/gametree.el +++ b/lisp/play/gametree.el | |||
| @@ -90,33 +90,48 @@ | |||
| 90 | 90 | ||
| 91 | ;;;; Configuration variables | 91 | ;;;; Configuration variables |
| 92 | 92 | ||
| 93 | (defvar gametree-half-ply-regexp (regexp-quote ":") | 93 | (defgroup gametree nil |
| 94 | "Manage game analysis trees in Emacs." | ||
| 95 | :prefix "gametree-" | ||
| 96 | :group 'games) | ||
| 97 | |||
| 98 | (defcustom gametree-half-ply-regexp (regexp-quote ":") | ||
| 94 | "*Matches ends of numbers of moves by the \"second\" player. | 99 | "*Matches ends of numbers of moves by the \"second\" player. |
| 95 | For instance, it is an almost universal convention in chess to postfix | 100 | For instance, it is an almost universal convention in chess to postfix |
| 96 | numbers of moves by Black (if considered in isolation) by the ellipsis | 101 | numbers of moves by Black (if considered in isolation) by the ellipsis |
| 97 | \"...\". This is NOT a good choice for this program, though, because it | 102 | \"...\". This is NOT a good choice for this program, though, because it |
| 98 | conflicts with the use of ellipsis by Outline mode to denote collapsed | 103 | conflicts with the use of ellipsis by Outline mode to denote collapsed |
| 99 | subtrees. The author uses \":\" because it agrees nicely with a set of | 104 | subtrees. The author uses \":\" because it agrees nicely with a set of |
| 100 | LaTeX macros he uses for typesetting annotated games.") | 105 | LaTeX macros he uses for typesetting annotated games." |
| 106 | :type 'regexp | ||
| 107 | :group 'gametree) | ||
| 101 | 108 | ||
| 102 | (defvar gametree-full-ply-regexp (regexp-quote ".") | 109 | (defcustom gametree-full-ply-regexp (regexp-quote ".") |
| 103 | "*Matches ends of numbers of moves by the \"first\" player. | 110 | "*Matches ends of numbers of moves by the \"first\" player. |
| 104 | For instance, it is an almost universal convention in chess to postfix | 111 | For instance, it is an almost universal convention in chess to postfix |
| 105 | numbers of moves by White (if considered in isolation) by the dot \".\".") | 112 | numbers of moves by White (if considered in isolation) by the dot \".\"." |
| 113 | :type 'regexp | ||
| 114 | :group 'gametree) | ||
| 106 | 115 | ||
| 107 | (defvar gametree-half-ply-format "%d:" | 116 | (defcustom gametree-half-ply-format "%d:" |
| 108 | "*Output format for move numbers of moves by the \"second\" player. | 117 | "*Output format for move numbers of moves by the \"second\" player. |
| 109 | Has to contain \"%d\" to output the actual number.") | 118 | Has to contain \"%d\" to output the actual number." |
| 119 | :type 'string | ||
| 120 | :group 'gametree) | ||
| 110 | 121 | ||
| 111 | (defvar gametree-full-ply-format "%d." | 122 | (defcustom gametree-full-ply-format "%d." |
| 112 | "*Output format for move numbers of moves by the \"first\" player. | 123 | "*Output format for move numbers of moves by the \"first\" player. |
| 113 | Has to contain \"%d\" to output the actual number.") | 124 | Has to contain \"%d\" to output the actual number." |
| 125 | :type 'string | ||
| 126 | :group 'gametree) | ||
| 114 | 127 | ||
| 115 | (defvar gametree-make-heading-function | 128 | (defcustom gametree-make-heading-function |
| 116 | (function (lambda (level) | 129 | (function (lambda (level) |
| 117 | (insert (make-string level ?*)))) | 130 | (insert (make-string level ?*)))) |
| 118 | "A function of one numeric argument, LEVEL, to insert a heading at point. | 131 | "A function of one numeric argument, LEVEL, to insert a heading at point. |
| 119 | You should change this if you change `outline-regexp'.") | 132 | You should change this if you change `outline-regexp'." |
| 133 | :type 'function | ||
| 134 | :group 'gametree) | ||
| 120 | 135 | ||
| 121 | (defvar gametree-local-layout nil | 136 | (defvar gametree-local-layout nil |
| 122 | "A list encoding the layout (i.e. the show or hide state) of the file. | 137 | "A list encoding the layout (i.e. the show or hide state) of the file. |
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el index 73cbcc0307d..d1a1ff890cf 100644 --- a/lisp/play/gomoku.el +++ b/lisp/play/gomoku.el | |||
| @@ -66,11 +66,18 @@ | |||
| 66 | 66 | ||
| 67 | ;;; Code: | 67 | ;;; Code: |
| 68 | 68 | ||
| 69 | (defgroup gomoku nil | ||
| 70 | "Gomoku game between you and Emacs." | ||
| 71 | :prefix "gomoku-" | ||
| 72 | :group 'games) | ||
| 69 | ;;; | 73 | ;;; |
| 70 | ;;; GOMOKU MODE AND KEYMAP. | 74 | ;;; GOMOKU MODE AND KEYMAP. |
| 71 | ;;; | 75 | ;;; |
| 72 | (defvar gomoku-mode-hook nil | 76 | (defcustom gomoku-mode-hook nil |
| 73 | "If non-nil, its value is called on entry to Gomoku mode.") | 77 | "If non-nil, its value is called on entry to Gomoku mode. |
| 78 | One useful value to include is `turn-on-font-lock' to highlight the pieces." | ||
| 79 | :type 'hook | ||
| 80 | :group 'gomoku) | ||
| 74 | 81 | ||
| 75 | (defvar gomoku-mode-map nil | 82 | (defvar gomoku-mode-map nil |
| 76 | "Local keymap to use in Gomoku mode.") | 83 | "Local keymap to use in Gomoku mode.") |
| @@ -133,17 +140,21 @@ | |||
| 133 | gomoku-mode-map (current-global-map))) | 140 | gomoku-mode-map (current-global-map))) |
| 134 | 141 | ||
| 135 | (defvar gomoku-emacs-won () | 142 | (defvar gomoku-emacs-won () |
| 136 | "*For making font-lock use the winner's face for the line.") | 143 | "For making font-lock use the winner's face for the line.") |
| 137 | 144 | ||
| 138 | (defvar gomoku-font-lock-O-face | 145 | (defcustom gomoku-font-lock-O-face |
| 139 | (if window-system | 146 | (if window-system |
| 140 | (list (facemenu-get-face 'fg:red) 'bold)) | 147 | (list (facemenu-get-face 'fg:red) 'bold)) |
| 141 | "*Face to use for Emacs' O.") | 148 | "*Face to use for Emacs' O." |
| 149 | :type '(repeat face) | ||
| 150 | :group 'gomoku) | ||
| 142 | 151 | ||
| 143 | (defvar gomoku-font-lock-X-face | 152 | (defcustom gomoku-font-lock-X-face |
| 144 | (if window-system | 153 | (if window-system |
| 145 | (list (facemenu-get-face 'fg:green) 'bold)) | 154 | (list (facemenu-get-face 'fg:green) 'bold)) |
| 146 | "*Face to use for your X.") | 155 | "*Face to use for your X." |
| 156 | :type '(repeat face) | ||
| 157 | :group 'gomoku) | ||
| 147 | 158 | ||
| 148 | (defvar gomoku-font-lock-keywords | 159 | (defvar gomoku-font-lock-keywords |
| 149 | '(("O" . gomoku-font-lock-O-face) | 160 | '(("O" . gomoku-font-lock-O-face) |
diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el index 1a0fabfb9f9..758293acf74 100644 --- a/lisp/play/handwrite.el +++ b/lisp/play/handwrite.el | |||
| @@ -72,6 +72,11 @@ | |||
| 72 | 72 | ||
| 73 | ;; Variables | 73 | ;; Variables |
| 74 | 74 | ||
| 75 | (defgroup handwrite nil | ||
| 76 | "Turns your emacs buffer into a handwritten document." | ||
| 77 | :prefix "handwrite-" | ||
| 78 | :group 'games) | ||
| 79 | |||
| 75 | (defvar handwrite-psindex 0 | 80 | (defvar handwrite-psindex 0 |
| 76 | "The index of the PostScript buffer.") | 81 | "The index of the PostScript buffer.") |
| 77 | (defvar menu-bar-handwrite-map (make-sparse-keymap "Handwrite functions.")) | 82 | (defvar menu-bar-handwrite-map (make-sparse-keymap "Handwrite functions.")) |
| @@ -80,27 +85,46 @@ | |||
| 80 | 85 | ||
| 81 | ;; User definable variables | 86 | ;; User definable variables |
| 82 | 87 | ||
| 83 | (defvar handwrite-numlines 60 | 88 | (defcustom handwrite-numlines 60 |
| 84 | "*The number of lines on a page of the PostScript output from `handwrite'.") | 89 | "*The number of lines on a page of the PostScript output from `handwrite'." |
| 85 | (defvar handwrite-fontsize 11 | 90 | :type 'integer |
| 86 | "*The size of the font for the PostScript output from `handwrite'.") | 91 | :group 'handwrite) |
| 87 | (defvar handwrite-linespace 12 | 92 | (defcustom handwrite-fontsize 11 |
| 88 | "*The spacing for the PostScript output from `handwrite'.") | 93 | "*The size of the font for the PostScript output from `handwrite'." |
| 89 | (defvar handwrite-xstart 30 | 94 | :type 'integer |
| 90 | "*X-axis translation in the PostScript output from `handwrite'.") | 95 | :group 'handwrite) |
| 91 | (defvar handwrite-ystart 810 | 96 | (defcustom handwrite-linespace 12 |
| 92 | "*Y-axis translation in the PostScript output from `handwrite'.") | 97 | "*The spacing for the PostScript output from `handwrite'." |
| 93 | (defvar handwrite-pagenumbering nil | 98 | :type 'integer |
| 94 | "*If non-nil, number each page of the PostScript output from `handwrite'.") | 99 | :group 'handwrite) |
| 95 | (defvar handwrite-10pt-numlines 65 | 100 | (defcustom handwrite-xstart 30 |
| 96 | "*The number of lines on a page for the function `handwrite-10pt'.") | 101 | "*X-axis translation in the PostScript output from `handwrite'." |
| 97 | (defvar handwrite-11pt-numlines 60 | 102 | :type 'integer |
| 98 | "*The number of lines on a page for the function `handwrite-11pt'.") | 103 | :group 'handwrite) |
| 99 | (defvar handwrite-12pt-numlines 55 | 104 | (defcustom handwrite-ystart 810 |
| 100 | "*The number of lines on a page for the function `handwrite-12pt'.") | 105 | "*Y-axis translation in the PostScript output from `handwrite'." |
| 101 | (defvar handwrite-13pt-numlines 50 | 106 | :type 'integer |
| 102 | "*The number of lines on a page for the function `handwrite-13pt'.") | 107 | :group 'handwrite) |
| 103 | 108 | (defcustom handwrite-pagenumbering nil | |
| 109 | "*If non-nil, number each page of the PostScript output from `handwrite'." | ||
| 110 | :type 'boolean | ||
| 111 | :group 'handwrite) | ||
| 112 | (defcustom handwrite-10pt-numlines 65 | ||
| 113 | "*The number of lines on a page for the function `handwrite-10pt'." | ||
| 114 | :type 'integer | ||
| 115 | :group 'handwrite) | ||
| 116 | (defcustom handwrite-11pt-numlines 60 | ||
| 117 | "*The number of lines on a page for the function `handwrite-11pt'." | ||
| 118 | :type 'integer | ||
| 119 | :group 'handwrite) | ||
| 120 | (defcustom handwrite-12pt-numlines 55 | ||
| 121 | "*The number of lines on a page for the function `handwrite-12pt'." | ||
| 122 | :type 'integer | ||
| 123 | :group 'handwrite) | ||
| 124 | (defcustom handwrite-13pt-numlines 50 | ||
| 125 | "*The number of lines on a page for the function `handwrite-13pt'." | ||
| 126 | :type 'integer | ||
| 127 | :group 'handwrite) | ||
| 104 | 128 | ||
| 105 | ;; Interactive functions | 129 | ;; Interactive functions |
| 106 | 130 | ||
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el index 2fd7d9d79f1..e8bb833825b 100644 --- a/lisp/play/landmark.el +++ b/lisp/play/landmark.el | |||
| @@ -68,6 +68,11 @@ | |||
| 68 | 68 | ||
| 69 | ;;;_* From Gomoku | 69 | ;;;_* From Gomoku |
| 70 | 70 | ||
| 71 | (defgroup lm nil | ||
| 72 | "Neural-network robot that learns landmarks." | ||
| 73 | :prefix "lm-" | ||
| 74 | :group 'games) | ||
| 75 | |||
| 71 | ;;;_ + THE BOARD. | 76 | ;;;_ + THE BOARD. |
| 72 | 77 | ||
| 73 | ;; The board is a rectangular grid. We code empty squares with 0, X's with 1 | 78 | ;; The board is a rectangular grid. We code empty squares with 0, X's with 1 |
| @@ -154,8 +159,10 @@ | |||
| 154 | 159 | ||
| 155 | ;;;_ + LM MODE AND KEYMAP. | 160 | ;;;_ + LM MODE AND KEYMAP. |
| 156 | 161 | ||
| 157 | (defvar lm-mode-hook nil | 162 | (defcustom lm-mode-hook nil |
| 158 | "If non-nil, its value is called on entry to Lm mode.") | 163 | "If non-nil, its value is called on entry to Lm mode." |
| 164 | :type 'hook | ||
| 165 | :group 'lm) | ||
| 159 | 166 | ||
| 160 | (defvar lm-mode-map nil | 167 | (defvar lm-mode-map nil |
| 161 | "Local keymap to use in Lm mode.") | 168 | "Local keymap to use in Lm mode.") |
| @@ -1123,12 +1130,16 @@ this program to add a random element to the way moves were made.") | |||
| 1123 | ;;;(setq lm-debug nil) | 1130 | ;;;(setq lm-debug nil) |
| 1124 | (defvar lm-debug nil | 1131 | (defvar lm-debug nil |
| 1125 | "If non-nil, debugging is printed.") | 1132 | "If non-nil, debugging is printed.") |
| 1126 | (defvar lm-one-moment-please nil | 1133 | (defcustom lm-one-moment-please nil |
| 1127 | "If non-nil, print \"One moment please\" when a new board is generated. | 1134 | "If non-nil, print \"One moment please\" when a new board is generated. |
| 1128 | The drawback of this is you don't see how many moves the last run took | 1135 | The drawback of this is you don't see how many moves the last run took |
| 1129 | because it is overwritten by \"One moment please\".") | 1136 | because it is overwritten by \"One moment please\"." |
| 1130 | (defvar lm-output-moves t | 1137 | :type 'boolean |
| 1131 | "If non-nil, output number of moves so far on a move-by-move basis.") | 1138 | :group 'lm) |
| 1139 | (defcustom lm-output-moves t | ||
| 1140 | "If non-nil, output number of moves so far on a move-by-move basis." | ||
| 1141 | :type 'boolean | ||
| 1142 | :group 'lm) | ||
| 1132 | 1143 | ||
| 1133 | 1144 | ||
| 1134 | (defun lm-weights-debug () | 1145 | (defun lm-weights-debug () |
| @@ -1252,22 +1263,32 @@ because it is overwritten by \"One moment please\".") | |||
| 1252 | (mapc 'lm-print-wts-int lm-directions)) | 1263 | (mapc 'lm-print-wts-int lm-directions)) |
| 1253 | 1264 | ||
| 1254 | ;;;_ - learning parameters | 1265 | ;;;_ - learning parameters |
| 1255 | (defvar lm-bound 0.005 | 1266 | (defcustom lm-bound 0.005 |
| 1256 | "The maximum that w0j may be.") | 1267 | "The maximum that w0j may be." |
| 1257 | (defvar lm-c 1.0 | 1268 | :type 'number |
| 1269 | :group 'lm) | ||
| 1270 | (defcustom lm-c 1.0 | ||
| 1258 | "A factor applied to modulate the increase in wij. | 1271 | "A factor applied to modulate the increase in wij. |
| 1259 | Used in the function lm-update-normal-weights.") | 1272 | Used in the function lm-update-normal-weights." |
| 1260 | (defvar lm-c-naught 0.5 | 1273 | :type 'number |
| 1274 | :group 'lm) | ||
| 1275 | (defcustom lm-c-naught 0.5 | ||
| 1261 | "A factor applied to modulate the increase in w0j. | 1276 | "A factor applied to modulate the increase in w0j. |
| 1262 | Used in the function lm-update-naught-weights.") | 1277 | Used in the function lm-update-naught-weights." |
| 1278 | :type 'number | ||
| 1279 | :group 'lm) | ||
| 1263 | (defvar lm-initial-w0 0.0) | 1280 | (defvar lm-initial-w0 0.0) |
| 1264 | (defvar lm-initial-wij 0.0) | 1281 | (defvar lm-initial-wij 0.0) |
| 1265 | (defvar lm-no-payoff 0 | 1282 | (defcustom lm-no-payoff 0 |
| 1266 | "The amount of simulation cycles that have occurred with no movement. | 1283 | "The amount of simulation cycles that have occurred with no movement. |
| 1267 | Used to move the robot when he is stuck in a rut for some reason.") | 1284 | Used to move the robot when he is stuck in a rut for some reason." |
| 1268 | (defvar lm-max-stall-time 2 | 1285 | :type 'integer |
| 1286 | :group 'lm) | ||
| 1287 | (defcustom lm-max-stall-time 2 | ||
| 1269 | "The maximum number of cycles that the robot can remain stuck in a place. | 1288 | "The maximum number of cycles that the robot can remain stuck in a place. |
| 1270 | After this limit is reached, lm-random-move is called to push him out of it.") | 1289 | After this limit is reached, lm-random-move is called to push him out of it." |
| 1290 | :type 'integer | ||
| 1291 | :group 'lm) | ||
| 1271 | 1292 | ||
| 1272 | 1293 | ||
| 1273 | ;;;_ + Randomizing functions | 1294 | ;;;_ + Randomizing functions |
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el index e08a274b851..8f0f2f688e4 100644 --- a/lisp/play/mpuz.el +++ b/lisp/play/mpuz.el | |||
| @@ -31,10 +31,17 @@ | |||
| 31 | 31 | ||
| 32 | ;;; Code: | 32 | ;;; Code: |
| 33 | 33 | ||
| 34 | (defgroup mpuz nil | ||
| 35 | "Multiplication puzzle." | ||
| 36 | :prefix "mpuz-" | ||
| 37 | :group 'games) | ||
| 38 | |||
| 34 | (random t) ; randomize | 39 | (random t) ; randomize |
| 35 | 40 | ||
| 36 | (defvar mpuz-silent nil | 41 | (defcustom mpuz-silent nil |
| 37 | "*Set this to T if you don't want dings on inputs.") | 42 | "*Set this to T if you don't want dings on inputs." |
| 43 | :type 'boolean | ||
| 44 | :group 'mpuz) | ||
| 38 | 45 | ||
| 39 | (defun mpuz-ding () | 46 | (defun mpuz-ding () |
| 40 | "Dings, unless global variable `mpuz-silent' forbids it." | 47 | "Dings, unless global variable `mpuz-silent' forbids it." |
| @@ -43,7 +50,10 @@ | |||
| 43 | 50 | ||
| 44 | ;; Mpuz mode and keymaps | 51 | ;; Mpuz mode and keymaps |
| 45 | ;;---------------------- | 52 | ;;---------------------- |
| 46 | (defvar mpuz-mode-hook nil) | 53 | (defcustom mpuz-mode-hook nil |
| 54 | "Hook to run upon entry to mpuz." | ||
| 55 | :type 'hook | ||
| 56 | :group 'mpuz) | ||
| 47 | 57 | ||
| 48 | (defvar mpuz-mode-map nil | 58 | (defvar mpuz-mode-map nil |
| 49 | "Local keymap to use in Mult Puzzle.") | 59 | "Local keymap to use in Mult Puzzle.") |
diff --git a/lisp/play/solitaire.el b/lisp/play/solitaire.el index c3a4b4ff114..812d0a8d6a8 100644 --- a/lisp/play/solitaire.el +++ b/lisp/play/solitaire.el | |||
| @@ -33,9 +33,19 @@ | |||
| 33 | 33 | ||
| 34 | ;;; Code: | 34 | ;;; Code: |
| 35 | 35 | ||
| 36 | (defgroup solitaire nil | ||
| 37 | "Game of solitaire." | ||
| 38 | :prefix "solitaire-" | ||
| 39 | :group 'games) | ||
| 40 | |||
| 36 | (defvar solitaire-mode-map nil | 41 | (defvar solitaire-mode-map nil |
| 37 | "Keymap for playing solitaire.") | 42 | "Keymap for playing solitaire.") |
| 38 | 43 | ||
| 44 | (defcustom solitaire-mode-hook nil | ||
| 45 | "Hook to run upon entry to solitaire." | ||
| 46 | :type 'hook | ||
| 47 | :group 'solitaire) | ||
| 48 | |||
| 39 | (if solitaire-mode-map | 49 | (if solitaire-mode-map |
| 40 | () | 50 | () |
| 41 | (setq solitaire-mode-map (make-sparse-keymap)) | 51 | (setq solitaire-mode-map (make-sparse-keymap)) |
| @@ -116,10 +126,12 @@ The usual mnemonic keys move the cursor around the board; in addition, | |||
| 116 | (defvar solitaire-end-x nil) | 126 | (defvar solitaire-end-x nil) |
| 117 | (defvar solitaire-end-y nil) | 127 | (defvar solitaire-end-y nil) |
| 118 | 128 | ||
| 119 | (defvar solitaire-auto-eval t | 129 | (defcustom solitaire-auto-eval t |
| 120 | "*Non-nil means check for possible moves after each major change. | 130 | "*Non-nil means check for possible moves after each major change. |
| 121 | This takes a while, so switch this on if you like to be informed when | 131 | This takes a while, so switch this on if you like to be informed when |
| 122 | the game is over, or off, if you are working on a slow machine.") | 132 | the game is over, or off, if you are working on a slow machine." |
| 133 | :type 'boolean | ||
| 134 | :group 'solitaire) | ||
| 123 | 135 | ||
| 124 | (defconst solitaire-valid-directions | 136 | (defconst solitaire-valid-directions |
| 125 | '(solitaire-left solitaire-right solitaire-up solitaire-down)) | 137 | '(solitaire-left solitaire-right solitaire-up solitaire-down)) |
| @@ -134,7 +146,7 @@ Move around the board using the cursor keys. | |||
| 134 | Move stones using \\[solitaire-move] followed by a direction key. | 146 | Move stones using \\[solitaire-move] followed by a direction key. |
| 135 | Undo moves using \\[solitaire-undo]. | 147 | Undo moves using \\[solitaire-undo]. |
| 136 | Check for possible moves using \\[solitaire-do-check]. | 148 | Check for possible moves using \\[solitaire-do-check]. |
| 137 | \(The variable solitaire-auto-eval controls whether to automatically | 149 | \(The variable `solitaire-auto-eval' controls whether to automatically |
| 138 | check after each move or undo) | 150 | check after each move or undo) |
| 139 | 151 | ||
| 140 | What is Solitaire? | 152 | What is Solitaire? |
diff --git a/lisp/play/spook.el b/lisp/play/spook.el index 8d8f8229d5b..527bdda94f0 100644 --- a/lisp/play/spook.el +++ b/lisp/play/spook.el | |||
| @@ -40,11 +40,20 @@ | |||
| 40 | (require 'cookie1) | 40 | (require 'cookie1) |
| 41 | 41 | ||
| 42 | ; Variables | 42 | ; Variables |
| 43 | (defvar spook-phrases-file (concat data-directory "spook.lines") | 43 | (defgroup spook nil |
| 44 | "Keep your favorite phrases here.") | 44 | "Spook phrase utility for overloading the NSA line eater." |
| 45 | 45 | :prefix "spook-" | |
| 46 | (defvar spook-phrase-default-count 15 | 46 | :group 'games) |
| 47 | "Default number of phrases to insert") | 47 | |
| 48 | (defcustom spook-phrases-file (concat data-directory "spook.lines") | ||
| 49 | "Keep your favorite phrases here." | ||
| 50 | :type 'file | ||
| 51 | :group 'spook) | ||
| 52 | |||
| 53 | (defcustom spook-phrase-default-count 15 | ||
| 54 | "Default number of phrases to insert." | ||
| 55 | :type 'integer | ||
| 56 | :group 'spook) | ||
| 48 | 57 | ||
| 49 | ;;;###autoload | 58 | ;;;###autoload |
| 50 | (defun spook () | 59 | (defun spook () |
diff --git a/lisp/play/yow.el b/lisp/play/yow.el index 501758e94a4..42a421f2b6b 100644 --- a/lisp/play/yow.el +++ b/lisp/play/yow.el | |||
| @@ -35,8 +35,15 @@ | |||
| 35 | 35 | ||
| 36 | (require 'cookie1) | 36 | (require 'cookie1) |
| 37 | 37 | ||
| 38 | (defvar yow-file (concat data-directory "yow.lines") | 38 | (defgroup yow nil |
| 39 | "File containing pertinent pinhead phrases.") | 39 | "Quote random zippyisms." |
| 40 | :prefix "yow-" | ||
| 41 | :group 'games) | ||
| 42 | |||
| 43 | (defcustom yow-file (concat data-directory "yow.lines") | ||
| 44 | "File containing pertinent pinhead phrases." | ||
| 45 | :type 'file | ||
| 46 | :group 'yow) | ||
| 40 | 47 | ||
| 41 | (defconst yow-load-message "Am I CONSING yet?...") | 48 | (defconst yow-load-message "Am I CONSING yet?...") |
| 42 | (defconst yow-after-load-message "I have SEEN the CONSING!!") | 49 | (defconst yow-after-load-message "I have SEEN the CONSING!!") |